System Architecture with XML

Currently, the main role of XML is certainly that of a communication format, but we also see applications for data storage and knowledge bases. The many proposals for an XML query language alone indicate that the application of XML is wider than pure message transmission. But even when used as a message format, modeling techniques become important: a BizTalk message, for example, is organized like a small database containing several business documents, business objects, and attachments.
Rationale for this chapter
Therefore in this chapter we take a close look at various modeling techniques. We think this is necessary because we know of many cases where schemata were designed that are practically unusable. You may have heard of infamous all-in-one documents, where a single document contains all information entities found in the problem domain, resulting in document sizes of 50 MB and more.
We have seen schemata that disregard the hierarchical possibilities of XML and store everything as a network of elements that refer to each other via ID and IDREF attributes, resulting in unreadable documents.
So, data modeling is an issue for XML. And because XML is very expressive, it allows us to adopt very intuitive modeling techniques. Given the current education of system and database analysts in relational modeling techniques, XML requires a rethink. Smashing complex objects into atomic pieces, as is done in the relational model, is not required for XML (in fact, it would cause poor performance and unreadable documents).