What to do?
The subset approach lets you work with others using the smallest set of tools understood to walk across a variety of systems. Common XML, for instance, defines a 'core' of features guaranteed to work in non-validating parsers with or without namespace support. Minimal XML goes further, stripping the world down to elements and content.
You can just describe the needs of your XML documents, for people and machines. It's a safe strategy in that you can say 'I told you so', but not always reliable. XML Processing Description Language (XPDL) is one attempt at providing a machine- and human-readable version of such information, and the never-started packaging work noted by the XML Activity of the W3C might be another. The best bet right now is RDDL, which uses XHTML Basic to provide human-readable information and points to processing resources. Schemas don't carry this kind of information.
Sometimes it's possible to duplicate effort and make things work. For instance, you can provide a default value for an attribute in both a DTD and a schema, figuring that one or the other will get used, and, if it's really important, you can put it in the internal DTD subset of every document that needs it... This doesn't work for tougher cases like XML Base or XInclude, however.
Pray for cleaner layering
Consider everything XML-related from the W3C as experimental, figuring that they'll sort it out and come back for cleanup later.
Expect as little as possible
Overspecification can prove as much of a beast as underspecification, especially if it binds processing to a narrow set of tools. Alternatively, specifications like RDDL open up greater possibilities for multiple representations of information about XML documents, making it possible to specify with a lower level of binding.
Previous Page <
> Next Page