Profiling XML Schema
by Paul Kiel
|
Pages: 1, 2, 3
Conclusion
Examining what schema designers are actually implementing can indeed reveal a usage profile of XML Schema. It is in this profile of practice that our five-year-old's personality emerges. The clearest message is one of simplicity. The most commonly used constructs involve merely creating reusable types, assembling them into sequences of elements, and augmenting them with enumerations. Many of the more complex features went unused. In addition, the test cases also reflected explicitness in their schemas, as evidenced in the avoidance of mixing or abstracting content and the qualifying of element form defaults. Adhering to the design patterns reflected in this usage profile will serve schema designers well.
Appendix: The Data
The data in these tables indicate the results of my research. They were all downloaded in early September 2006 from their respective websites (many of them are listed here). Figure 1 is a summary, Figure 2 indicates how many schemas contain the XML Schema design feature listed, and Figure 3 shows the number of times the feature occurred.

Figure 1. Summary of data

Figure 2. Number of schemas using XML Schema features. (Click for full-size image)

Figure 3. Number of occurrences of XML Schema features. (Click for full-size image)
Figure Notes
A few duplicative schemas were removed from the analysis, such as the schema for schemas (XMLSchema.xsd), which was commonly distributed with many libraries. ACORD also offers no namespace equivalents of their schemas. For this analysis, the namespaced versions were used. In both the HR-XML and OAGi test files, the developer or "non-standalone" versions of the schemas were analyzed. While there are nosubstitutionGroups in the OAGi schemas, the global element design is intended to enable substitutions as an extension point. The W3C list of schemas includes mathML.
- Profiling XML Schema
2006-09-26 11:40:16 MarkCrawford - A nice start, but...
2006-09-22 20:17:08 Robin Berjon - you sure yo haven't missed substitution groups
2006-09-22 11:20:30 craigsalter - you sure yo haven't missed substitution groups
2006-09-22 12:07:17 xmlhelpline - Thank you, Paul
2006-09-22 02:23:53 WillemF - Profiling XML Schema-complexTypes by Restriction
2006-09-21 19:19:04 Robert Leif - research paper
2006-09-21 11:20:25 xmlhelpline - Nice article!
2006-09-21 07:20:38 mrowell44