If you need to create or use formal descriptions of XML vocabularies, the W3C's XML Schema offers a powerful set of tools for defining acceptable document structures and content. An alternative to DTDs as the way to describe and validate data in an XML environment, XML Schema enables developers to create precise descriptions with a richer set of datatypes?such as booleans, numbers, currencies, dates and times?that are essential for today?s applications.
Schemas are powerful, but that power comes with substantial complexity. This concise book explains the ins and outs of XML Schema, including design choices, best practices, and limitations. Particularly valuable are discussions of how the type structures fit with existing database and object-oriented program contexts. With XML Schema, you can define acceptable content models and annotate those models with additional type information, making them more readily bound to programs and objects. Schemas combine the easy interchange of text-based XML with the more stringent requirements of data exchange, and make it easier to validate documents based on namespaces.
You?ll find plenty of examples in this book that demonstrate the details necessary for precise vocabulary definitions. Topics include:
- Foundations of XML Schema syntax
- Flat, "russian-doll", and other schema approaches
- Working with simple and complex types in a variety of contexts
- The built-in datatypes provided by XML Schema
- Using facets to extend datatypes, including regular expression-based patterns
- Using keys and uniqueness rules to limit how and where information may appear
- Creating extensible schemas and managing extensibility
- Documenting schemas and extending XML Schema capabilities through annotations
In addition to the explanatory content, XML Schemaprovides a complete reference to all parts of both the XML Schema Structures and XML Schema Datatypes specifications, as well as a glossary. Appendices explore the relationships between XML Schema and other tools for describing document structures, including DTDs, RELAX NG, and Schematron, as well as work in progress at the W3C to more tightly integrate XML Schema with existing specifications.
No matter how you intend to use XML Schema - for data structures or document structures, for standalone documents or part of SOAP transactions, for documentation, validation, or data binding ? all the foundations you need are outlined in XML Schema.