* James Cerra <[EMAIL PROTECTED]> [2005-05-30 03:20]: > > >> Depending on an entity reference and not being able to > > >> accept the straight replacement text is just wrong. > > > > > > I agree. I'm just bringing up possible incompatibilities > > > for debate! > > > > I don't think that's an incompatibility that deserves > > catering for. > > Why not? Why be incompatible for the sake of incompatibility? > That's just asking for trouble when Atom is used in ways not > originally envisioned (and there always are).
That’s bogus. Some software generates or processes non-wellformed XML. Should Atom cater to that too? If not, where do you draw the line between somewhat-broken software that Atom should support and really-broken software that it should not? > HTML currently uses doctypes for switching between versions of > the langauage. No, it doesn’t. Browsers do so, but only as a hack; the idea is that an author who puts a DOCTYPE declaration in their document *probably* cares about validity and so his document should *probably* be treated as strict standards compliance requires. But there is nothing in any spec that justifies this behaviour. > There is no other way to properly interpret content without > guessing in the current drafts. That is a worse sin inflicted > upon programmers, than allowing the subset that do rendering to > do naughty DOCTYPE sniffing. You don’t seem to understand XML. XML has something called namespaces. Use them. > > > No, any well formed XML processor MUST expand internal > > > entities and add replaced attributes as well. This is NOT > > > OPTIONAL. > > > > So is expat non-conforming? > > If it doesn't, then it is non-conforming. Wrong. > That's how non-validating XML processors are defined by the > spec. I quote from section 5.1 paragraph 4: > > [Definition: While they are not required to check the document > for validity, they are REQUIRED to process all the declarations > they read in the internal DTD subset and in any parameter ^^^^^^^^ ^^^^^^ > entity that they read, up to the first reference to a parameter ^^^^^^^^^^^^^^ > entity that they do not read; that is to say, they MUST use the ^^^^^^^^^^^^^^^^^^^^^ > information in those declarations to normalize attribute > values, include the replacement text of internal entities, and > supply default attribute values.] > > There is no room for any other interpretation, I think. Nowhere is a non-validating processor REQUIRED to read an external DTD in the spec. Only *internal* declarations MUST be processed and references resolved. Regards, -- Aristotle