| |
| |
Preface | |
| |
| |
| |
Schema Uses and Development | |
| |
| |
What Schemas Do for XML | |
| |
| |
W3C XML Schema | |
| |
| |
| |
Our First Schema | |
| |
| |
The Instance Document | |
| |
| |
Our First Schema | |
| |
| |
First Findings | |
| |
| |
| |
Giving Some Depth to Our First Schema | |
| |
| |
Working From the Structure of the Instance Document | |
| |
| |
New Lessons | |
| |
| |
| |
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 | |
| |
| |
| |
Creating Simple Datatypes | |
| |
| |
Derivation By Restriction | |
| |
| |
Derivation By List | |
| |
| |
Derivation By Union | |
| |
| |
Some Oddities of Simple Types | |
| |
| |
Back to Our Library | |
| |
| |
| |
Using Regular Expressions to Specify Simple Datatypes | |
| |
| |
The Swiss Army Knife | |
| |
| |
The Simplest Possible Patterns | |
| |
| |
Quantifying | |
| |
| |
More Atoms | |
| |
| |
Common Patterns | |
| |
| |
Back to Our Library | |
| |
| |
| |
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 | |
| |
| |
| |
Creating Building Blocks | |
| |
| |
Schema Inclusion | |
| |
| |
Schema Inclusion with Redefinition | |
| |
| |
Other Alternatives | |
| |
| |
Simplifying the Library | |
| |
| |
| |
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 | |
| |
| |
| |
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 | |
| |
| |
| |
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... | |
| |
| |
| |
Creating More Building Blocks Using Object-Oriented Features | |
| |
| |
Substitution Groups | |
| |
| |
Controlling Derivations | |
| |
| |
| |
Creating Extensible Schemas | |
| |
| |
Extensible Schemas | |
| |
| |
The Need for Open Schemas | |
| |
| |
| |
Documenting Schemas | |
| |
| |
Style Matters | |
| |
| |
The W3C XML Schema Annotation Element | |
| |
| |
Foreign Attributes | |
| |
| |
XML 1.0 Comments | |
| |
| |
Which One and What For? | |
| |
| |
| |
Elements Reference Guide | |
| |
| |
| |
Datatype Reference Guide | |
| |
| |
| |
XML Schema Languages | |
| |
| |
| |
Work in Progress | |
| |
| |
Glossary | |
| |
| |
Index | |