Synopses & Reviews
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 Schema
provides 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
Primarily designed as a tutorial, this book also serves as a reference to many aspects of XML. It introduces and explains the main complexities of the XML Schema Recommendation and XML Schema creation and processing.
With both an introduction to creating schemas and a guide to the many complexities of the XML Schema Recommendation, this handbook is an on-the-fly learning aid for a tough subject.
About the Author
Eric van der Vlist is the resident expert on XML schema languages on XML.com. He is also a member of the ISO DSDL committee, where standardization work on RELAX NG and related specifications is in progress. Eric is also the author of O'Reilly's XML Schema.
Table of Contents
Preface; Who Should Read This Book?; Who Should Not Read This Book?; About the Examples; Organization of This Book; Conventions Used in This Book; How to Contact Us; Acknowledgments; Chapter 1: Schema Uses and Development; 1.1 What Schemas Do for XML; 1.2 W3C XML Schema; Chapter 2: Our First Schema; 2.1 The Instance Document; 2.2 Our First Schema; 2.3 First Findings; Chapter 3: Giving Some Depth to Our First Schema; 3.1 Working From the Structure of the Instance Document; 3.2 New Lessons; Chapter 4: Using Predefined Simple Datatypes; 4.1 Lexical and Value Spaces; 4.2 Whitespace Processing; 4.3 String Datatypes; 4.4 Numeric Datatypes; 4.5 Date and Time Datatypes; 4.6 List Types; 4.7 What About anySimpleType?; 4.8 Back to Our Library; Chapter 5: Creating Simple Datatypes; 5.1 Derivation By Restriction; 5.2 Derivation By List; 5.3 Derivation By Union; 5.4 Some Oddities of Simple Types; 5.5 Back to Our Library; Chapter 6: Using Regular Expressions to Specify Simple Datatypes; 6.1 The Swiss Army Knife; 6.2 The Simplest Possible Patterns; 6.3 Quantifying; 6.4 More Atoms; 6.5 Common Patterns; 6.6 Back to Our Library; Chapter 7: Creating Complex Datatypes; 7.1 Simple Versus Complex Types; 7.2 Examining the Landscape; 7.3 Simple Content Models; 7.4 Complex Content Models; 7.5 Mixed Content Models; 7.6 Empty Content Models; 7.7 Back to Our Library; 7.8 Derivation or Groups; Chapter 8: Creating Building Blocks; 8.1 Schema Inclusion; 8.2 Schema Inclusion with Redefinition; 8.3 Other Alternatives; 8.4 Simplifying the Library; Chapter 9: Defining Uniqueness, Keys, and Key References; 9.1 xs:ID and xs:IDREF; 9.2 XPath-Based Identity Checks; 9.3 ID/IDREF Versus xs:key/xs:keyref; 9.4 Using xs:key and xs:unique As Co-occurrence Constraints; Chapter 10: Controlling Namespaces; 10.1 Namespaces Present Two Challenges to Schema Languages; 10.2 Namespace Declarations; 10.3 To Qualify Or Not to Qualify?; 10.4 Disruptive Attributes; 10.5 Namespaces and XPath Expressions; 10.6 Referencing Other Namespaces; 10.7 Schemas for XML, XML Base and XLink; 10.8 Namespace Behavior of Imported Components; 10.9 Importing Schemas with No Namespaces; 10.10 Chameleon Design; 10.11 Allowing Any Elements or Attributes from a Particular Namespace; Chapter 11: Referencing Schemas and Schema Datatypes in XML Documents; 11.1 Associating Schemas with Instance Documents; 11.2 Defining Element Types; 11.3 Defining Nil (Null) Values; 11.4 Beware the Intrusive Nature of These Features...; Chapter 12: Creating More Building Blocks Using Object-Oriented Features; 12.1 Substitution Groups; 12.2 Controlling Derivations; Chapter 13: Creating Extensible Schemas; 13.1 Extensible Schemas; 13.2 The Need for Open Schemas; Chapter 14: Documenting Schemas; 14.1 Style Matters; 14.2 The W3C XML Schema Annotation Element; 14.3 Foreign Attributes; 14.4 XML 1.0 Comments; 14.5 Which One and What For?; Chapter 15: Elements Reference Guide; Chapter 16: Datatype Reference Guide; XML Schema Languages; What Is a XML Schema Language?; Classification of XML Schema Languages; A Short History of XML Schema Languages; Sample Application; XML DTDs; W3C XML Schema; RELAX NG; Schematron; Examplotron; Decisions; Work in Progress; W3C Projects; ISO: DSDL; Other; Glossary; Colophon;