XML Data Design to Facilitate Compound Documents
Compound Documents are Important
A compound document is a document containing multiple independent collections of data. Compound documents are important. Compound documents are to Web services what hyperlinks are to Web sites. Hyperlinks enable related, but independently developed and managed, information to be connected. So too, compound documents enable related, but independently developed and managed, information to be connected.
Example of a Compound Document
- Web service #1 serves up xml documents containing the current weather for a user-specified region.
- Web service #2 serves up xml documents containing geographic information — road and buildings — for a user-specified region.
- Web service #3 fetches data from the weather and geo services, and embeds the geo data within the weather data. The result is a compound document, composed of two independently developed collections of data.
The First Step in Processing Compound Documents
The first step in processing a compound document is to validate it. nvdl is an iso standard, xml language for validating compound documents. Thus, nvdl is an important technology for using compound documents.
Ways to Maximize the Effectiveness of your XML Designs
- Create small xml vocabularies. That is, create small xml schemas (or relax ng, or dtd). Small xml vocabularies can be combined in many unanticipated ways. Another way to state this is: create nice "Lego blocks."
- Put each xml vocabulary in a different namespace. The reason for doing this is that namespaces modularize the document, enabling applications to do module-specific processing. For example, nvdl partitions and then validates compound documents based on namespaces. So it's important to put each xml vocabulary in a different namespace.
Swedish translation: http://www.autoteilexxl.de/edu/?p=1070
Last Updated: October 24, 2008