Lists Home |
Date Index |
Bob Hutchison scripsit:
> Section 5.1
> of REC-xml says "Except when standalone="yes", they must not process entity
> declarations or attribute-list declarations encountered after a reference to
> a parameter entity that is not read, since the entity may have contained
> overriding declarations." ('Process' includes supplying default values).
Just so. If you have an internal subset like this:
<!DOCTYPE foo [
<!ENTITY % bar SYSTEM "bar.dtd">
glue CDATA "glue">
gung CDATA "foo">
then a processor (necessarily a non-validating one) that does not read
bar.dtd MUST NOT make use of the ATTLIST declaration that follows, since
bar.dtd may have contained an overriding ATTLIST declaration that sets
a different default value gaff/@gung, say "ho". However, the default value for
for gaff/@glue MUST be supplied by every processor with every gaff element
that lacks an explicit glue attribute.
> Then section 5.2 says "For maximum reliability in interoperating between
> different XML processors, applications which use non-validating processors
> should not rely on any behaviors not required of such processors.
> Applications which require facilities such as the use of default attributes
> or internal entities which are declared in external entities should use
> validating XML processors."
> I interpret this as meaning that only validating XML parsers can be counted
> on to supply attribute defaults, and so this use of DTD declarations for
> namespaces won't be reliable except when used with validating XML parsers.
No, it means that you can't rely on non-validating processors to supply
attribute defaults *when those defaults are specified in external parts
of the DTD*, just as it says.
Ah, I see that there is a bracketing problem: you are reading 5.2 as
"Applications which require facilities such as (the use of default
attributes) or (internal entities which are declared in external
entities) should use validating XML processors", but the correct reading
is "Applications which require facilities such as the use of (default
attributes or internal entities) which are declared in external entities
should use validating XML processors".
I will file an erratum with the Core WG.
> >> If what you guys are talking about with namespaces is
> >> strictly for use within a DTD and we are definitely going to require the old
> >> namespace declaration style in the actual document,
> > Oh yes, I don't think there's any question of changing instance syntax here.
> No question as in 'no way' or as in 'no doubt'?
No likelihood of changing it, I meant.
John Cowan <email@example.com> http://www.reutershealth.com
I amar prestar aen, han mathon ne nen, http://www.ccil.org/~cowan
han mathon ne chae, a han noston ne 'wilith. --Galadriel, _LOTR:FOTR_