Lists Home |
Date Index |
On 6/14/02 8:28 AM, "John Cowan" <email@example.com> wrote:
> Bob Hutchison scripsit:
>> There is a class of (very useful to me at least) XML parser that is *not*
>> required to deal with either attribute or element declarations in the
>> internal subset.
> There may be such things, but they aren't conformant. Every XML processor
> has to at least look at ATTLIST declarations in the internal subset so
> that it can do attribute defaulting. The external subset and other
> external parameter entities can be ignored completely, but not the
> internal subset.
Well, it seems to me, your second sentence is correct, but not your last
(and I admit that I left the word 'always' out of my sentence). 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).
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."
If there is a rule that says you can't use an externally defined pe in the
internal subset I can't spot it. Regardless, the last sentence of section
5.2 is enough to get my attention.
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.
Are we talking about throwing out non-validating parsers if we want to use
>> 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'?