UML

Unified Modeling Language (or UML) is an Object Management Group (OMG) standard and a successor to many of the object-oriented methods developed in the 1980s and 1990s. The idea of using UML to model XML documents isn’t new. Much that is good has already been published on the subject (see, for instance, the book Modeling XML Applications with UML by David Carlson (Addison Wesley) and his articles on XML.com).

There are two different levels at which UML and XML can be mapped:

  • UML can be used to model the structure of XML documents directly. XML schemas can be generated for the purpose of validating the documents, but they are provided as a convenience for application developers. UML doesn’t worry about schema details. Their style and modularity aren’t their most important features. The algorithm for producing these schemas is focused on expressing validation rules that make the XML data match the UML diagram as closely as possible.

  • UML can be used to model an XML schema. The UML diagram is a higher-level view of the schema, and the schema by itself is the main delivery. The UML diagram needs to be able to control exactly how each schema structure is described. Specific stereotypes and parameters are often added to customize the level of control.

One of the points that appears clearly in all the work related to this topic is that it is quite easy to map UML objects into XML or to use UML to describe classes of instance documents. The most difficult issue when doing so is that ...

Get RELAX NG now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.