Lists Home |
Date Index |
- From: "Simon St.Laurent" <firstname.lastname@example.org>
- To: XML-Dev Mailing list <email@example.com>
- Date: Sat, 30 Dec 2000 11:49:59 -0500
This is just a loose exploration of the different factors which can
currently affect the information presented by a conformant 'XML' parser to
an application. These different kinds of processing which appear to be
legal according to various W3C specs, not all of which are complete. I'm
hoping to express this somewhat more formally in the new year, but thought
I'd throw it into the world and see what people think of the stack now.
I. XML 1.0
1) Validating parser - will retrieve external DTD, default attributes
(including xmlns), resolve entities
2) Non-validating parser - may or may not retrieve external DTD, default
attributes, resolve entities
II. Namespace processing (optional)
1) Expansion of Qualified Names
2) Possible removal of xmlns attributes, discarding of prefixes (this
approach seems to be on the decline, but seemed canonical at one point.)
III. XML Schema processing (optional)
1) Retrieval of schema based on xsi:schemaLocation. Defaulting of
2) Retrieval of schema based on namespace URI/content negotiation approach.
Defaulting of attribute values.
IV. XML Base (optional)
1) Included in the XML Infoset, but as a separate property which
effectively modifies the values of relative URIs and relative URI
references encountered in a document.
V. XML Inclusions (XInclude) (optional)
1) Requires namespace processing to operate
2) Retrieval of content from URIs which may or may not include XPointer
fragment references. (XPointer support is NOT listed in 5.2, application
conformance, but is shown in examples.)
3) May happen either before or after XML Schema processing - 1.4
I'm not exactly sure how many different infosets you can get from a single
document in various perverse situations, but the number of possibilities,
even for non-perverse situations is growing. The Infoset appears to be
attempting to integrate these various creations, effectively building
toward XML 2.0, but there are some pretty simple and legal things (like
using an external DTD to default an xmlns attribute or several) which can
affect multiple levels here.
XML Elements of Style / XML: A Primer, 2nd Ed.
XHTML: Migrating Toward XML
http://www.simonstl.com - XML essays and books