| |
| |
Acknowledgements | |
| |
| |
| |
Schemas: An introduction | |
| |
| |
| |
What is an XML schema? | |
| |
| |
| |
The purpose of schemas | |
| |
| |
| |
Schema design | |
| |
| |
| |
Schema languages | |
| |
| |
| |
A quick tour of XML Schema | |
| |
| |
| |
An example schema | |
| |
| |
| |
The components of XML Schema | |
| |
| |
| |
Elements and attributes | |
| |
| |
| |
Data types | |
| |
| |
| |
Simple types | |
| |
| |
| |
Complex types | |
| |
| |
| |
Namespaces and XML Schema | |
| |
| |
| |
Schema composition | |
| |
| |
| |
Instances and schemas | |
| |
| |
| |
Annotations | |
| |
| |
| |
Advanced features | |
| |
| |
| |
Namespaces | |
| |
| |
| |
Namespaces in XML | |
| |
| |
| |
The relationship between namespaces and schemas | |
| |
| |
| |
Using namespaces in XSDL | |
| |
| |
| |
Schema composition | |
| |
| |
| |
Modularizing schema documents | |
| |
| |
| |
Defining schema documents | |
| |
| |
| |
Schema assembly | |
| |
| |
| |
Include, redefine, and import | |
| |
| |
| |
Instances and schemas | |
| |
| |
| |
Using the instance attributes | |
| |
| |
| |
Schema processing | |
| |
| |
| |
Relating instances to schemas | |
| |
| |
| |
Using XSDL hints in the instance | |
| |
| |
| |
Dereferencing namespaces | |
| |
| |
| |
The root element | |
| |
| |
| |
Using DTDs and schemas together | |
| |
| |
| |
Using specific schema processors | |
| |
| |
| |
Schema documentation and extension | |
| |
| |
| |
The mechanics | |
| |
| |
| |
User documentation | |
| |
| |
| |
Application information | |
| |
| |
| |
Notations | |
| |
| |
| |
Element declarations | |
| |
| |
| |
Global and local element declarations | |
| |
| |
| |
Declaring the data types of elements | |
| |
| |
| |
Default and fixed values | |
| |
| |
| |
Nils and nillability | |
| |
| |
| |
Qualified vs. unqualified forms | |
| |
| |
| |
Attribute declarations | |
| |
| |
| |
Global and local attribute declarations | |
| |
| |
| |
Assigning types to attributes | |
| |
| |
| |
Default and fixed values | |
| |
| |
| |
Qualified vs. unqualified forms | |
| |
| |
| |
Simple types | |
| |
| |
| |
Simple type varieties | |
| |
| |
| |
Simple type definitions | |
| |
| |
| |
Simple type restrictions | |
| |
| |
| |
Facets | |
| |
| |
| |
Preventing simple type derivation | |
| |
| |
| |
Regular expressions | |
| |
| |
| |
The structure of a regular expression | |
| |
| |
| |
Atoms | |
| |
| |
| |
Quantifiers | |
| |
| |
| |
Union and list types | |
| |
| |
| |
Varieties and derivation types | |
| |
| |
| |
Union types | |
| |
| |
| |
List types | |
| |
| |
| |
Built-in simple types | |
| |
| |
| |
Built-in types | |
| |
| |
| |
String-based types | |
| |
| |
| |
Numeric types | |
| |
| |
| |
Date and time types | |
| |
| |
| |
Legacy types | |
| |
| |
| |
Other types | |
| |
| |
| |
Type equality | |
| |
| |
| |
Complex types | |
| |
| |
| |
What are complex types? | |
| |
| |
| |
Defining complex types | |
| |
| |
| |
Content types | |
| |
| |
| |
Using element types | |
| |
| |
| |
Using model groups | |
| |
| |
| |
Using attributes | |
| |
| |
| |
Deriving complex types | |
| |
| |
| |
Why derive types? | |
| |
| |
| |
Restriction and extension | |
| |
| |
| |
Simple content and complex content | |
| |
| |
| |
Complex type extensions | |
| |
| |
| |
Complex type restrictions | |
| |
| |
| |
Type substitution | |
| |
| |
| |
Controlling type derivation and substitution | |
| |
| |
| |
Reusable groups | |
| |
| |
| |
Why reusable groups? | |
| |
| |
| |
Named model groups | |
| |
| |
| |
Attribute groups | |
| |
| |
| |
Reusable groups vs. complex type derivations | |
| |
| |
| |
Substitution groups | |
| |
| |
| |
Why substitution groups? | |
| |
| |
| |
The substitution group hierarchy | |
| |
| |
| |
Declaring a substitution group | |
| |
| |
| |
Type constraints for substitution groups | |
| |
| |
| |
Alternatives to substitution groups | |
| |
| |
| |
Controlling substitution groups | |
| |
| |
| |
Identity constraints | |
| |
| |
| |
Identity constraint categories | |
| |
| |
| |
Design hint: Should I use ID/IDREF or key/keyref? | |
| |
| |
| |
Structure of an identity constraint | |
| |
| |
| |
Uniqueness constraints | |
| |
| |
| |
Key constraints | |
| |
| |
| |
Key references | |
| |
| |
| |
Selectors and fields | |
| |
| |
| |
The XML Schema XPath subset | |
| |
| |
| |
Identity constraints and namespaces | |
| |
| |
| |
Redefining schema components | |
| |
| |
| |
Redefinition basics | |
| |
| |
| |
The mechanics of redefinition | |
| |
| |
| |
Redefining simple types | |
| |
| |
| |
Redefining complex types | |
| |
| |
| |
Redefining named model groups | |
| |
| |
| |
Redefining attribute groups | |
| |
| |
| |
Topics for DTD users | |
| |
| |
| |
Element declarations | |
| |
| |
| |
Attribute declarations | |
| |
| |
| |
Notations | |
| |
| |
| |
Parameter entities for reuse | |
| |
| |
| |
Parameter entities for extensibility | |
| |
| |
| |
External parameter entities | |
| |
| |
| |
General entities | |
| |
| |
| |
Comments | |
| |
| |
| |
Using DTDs and schemas together | |
| |
| |
| |
Naming considerations | |
| |
| |
| |
Naming guidelines | |
| |
| |
| |
Qualified vs. unqualified names | |
| |
| |
| |
Structuring namespaces | |
| |
| |
| |
Multiple languages | |
| |
| |
| |
Extensibility and reuse | |
| |
| |
| |
Reuse | |
| |
| |
| |
Extending schemas | |
| |
| |
| |
Versioning of schemas | |
| |
| |
| |
Designing applications to support change | |
| |
| |
| |
Table of XSDL keywords | |
| |
| |
| |
XSDL element types | |
| |
| |
| |
XSDL attributes | |
| |
| |
| |
Built-in simple types | |
| |
| |
| |
Built-in simple types | |
| |
| |
Index | |