|
XML Schema
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.
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
Preface
1. Schema Uses and Development
What Schemas Do for XML
W3C XML Schema
2. Our First Schema
The Instance Document
Our First Schema
First Findings
3. Giving Some Depth to Our First Schema
Working From the Structure of the Instance Document
New Lessons
4. Using Predefined Simple Datatypes
Lexical and Value Spaces
Whitespace Processing
String Datatypes
Numeric Datatypes
Date and Time Datatypes
List Types
What About anySimpleType?
Back to Our Library
5. Creating Simple Datatypes
Derivation By Restriction
Derivation By List
Derivation By Union
Some Oddities of Simple Types
Back to Our Library
6. Using Regular Expressions to Specify Simple Datatypes
The Swiss Army Knife
The Simplest Possible Patterns
Quantifying
More Atoms
Common Patterns
Back to Our Library
7. Creating Complex Datatypes
Simple Versus Complex Types
Examining the Landscape
Simple Content Models
Complex Content Models
Mixed Content Models
Empty Content Models
Back to Our Library
Derivation or Groups
8. Creating Building Blocks
Schema Inclusion
Schema Inclusion with Redefinition
Other Alternatives
Simplifying the Library
9. Defining Uniqueness, Keys, and Key References
xs:ID and xs:IDREF
XPath-Based Identity Checks
ID/IDREF Versus xs:key/xs:keyref
Using xs:key and xs:unique As Co-occurrence Constraints
10. Controlling Namespaces
Namespaces Present Two Challenges to Schema Languages
Namespace Declarations
To Qualify Or Not to Qualify?
Disruptive Attributes
Namespaces and XPath Expressions
Referencing Other Namespaces
Schemas for XML, XML Base and XLink
Namespace Behavior of Imported Components
Importing Schemas with No Namespaces
Chameleon Design
Allowing Any Elements or Attributes from a Particular Namespace
11. Referencing Schemas and Schema Datatypes in XML Documents
Associating Schemas with Instance Documents
Defining Element Types
Defining Nil (Null) Values
Beware the Intrusive Nature of These Features...
12. Creating More Building Blocks Using Object-Oriented Features
Substitution Groups
Controlling Derivations
13. Creating Extensible Schemas
Extensible Schemas
The Need for Open Schemas
14. Documenting Schemas
Style Matters
The W3C XML Schema Annotation Element
Foreign Attributes
XML 1.0 Comments
Which One and What For?
15. Elements Reference Guide
16. Datatype Reference Guide
A. XML Schema Languages
B. Work in Progress
Glossary
Index
|