XML for Data Architects: Designing for Reuse and Integration

A data model is a collection of defined and related information facts and metadata. The data model describes metadata structures, containers, and their characteristics but does not include actual data values. Most data models are aligned with either relational or object relational database architectures in which an entity or table may have relationships with other entities. Different from the most common data models, the structure of an XML document is hierarchical, and relationships are often defined by element location or position. An XML element nested within another element implies a relationship of "parent to child" (e.g., child, parent, grandparent, great grandparent, and so on). The differences between these representational structures are important but do not prohibit transition.
Data models are often represented graphically as an entity relationship diagram (ERD), in which entities are portrayed as boxes, attributes are listed within each entity, and relationships are described by lines between entities. An XML document is a data instance (e.g., a collection of data containers and their contained data values), represented as a hierarchy. Although more of a syntactical or literal form rather than graphically represented, an XML document in prototype form can represent a model of a target implementation.
As a hierarchy, the structure of an XML document or transaction flows top-down and left-to-right. The traditional hierarchy is composed of a parent, which may have children. Multiple children occurring at the same level within a parent are also known as siblings. Children may also contain other children,...