Adobe® Digital Editions software.This eBook requires the free
Before downloading this DRM-encrypted PDF, be sure to:
The authoritative XML Schema reference and tutorial!
To leverage the full power of XML, companies need shared vocabularies to base their documents and scripts upon. XML Schema makes it possible to create those shared vocabularies-and Definitive XML Schema is the authoritative guide to the standard! Written by Priscilla Walmsley, a member of the W3C working group that created XML Schema, this book explains the W3C Recommendation with unprecedented insight and clarity–and introduces practical techniques for writing schemas to support any B2B, Web service, or content processing application. Coverage includes:
Definitive XML Schema brings together expert guidance for schema design, superior approaches to schema development, and the most systematic XML Schema reference on the market. Whether you're a developer, architect, or content specialist, it's the only XML Schema resource you need!
"XML Schema is an incredibly powerful-and complex-document schema language, with such new capabilities as strong typing, modularity, inheritance, and identity constraints. This book guides you through the complexity so you can confidently use that power for your own projects."
–Charles F. Goldfarb
1. Schemas: An introduction.
What is an XML schema? The purpose of schemas. Schema design. Schema languages.
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 in XML. The relationship between namespaces and schemas. Using namespaces in XSDL.
Modularizing schema documents. Defining schema documents. Schema assembly. include, redefine, and import.
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.
The mechanics. User documentation. Application information. Notations.
Global and local element declarations. Declaring the data types of elements. Default and fixed values. Nils and nillability. Qualified vs unqualified forms.
Global and local attribute declarations. Assigning types to attributes. Default and fixed values. Qualified vs unqualified forms.
Simple type varieties. Simple type definitions. Simple type restrictions. Facets. Preventing simple type derivation.
The structure of a regular expression. Atoms. Quantifiers.
Varieties and derivation types. Union types. List types.
Built-in types. String-based types. Numeric types. Date and time types. Legacy types. Other types. Type equality.
What are complex types? Defining complex types. Content types. Using element types. Using model groups. Using attributes.
Why derive types? Restriction and extension. Simple content and complex content. Complex type extensions. Complex type restrictions. Type substitution. Controlling type derivation and substitution.
Why reusable groups? Named model groups. Attribute groups. Reusable groups vs complex type derivations.
Why substitution groups? The substitution group hierarchy. Declaring a substitution group. Type constraints for substitution groups. Alternatives to substitution groups. Controlling substitution groups.
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.
Redefinition basics. The mechanics of redefinition. Redefining simple types. Redefining complex types. Redefining named model groups. Redefining attribute groups.
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 guidelines. Qualified vs unqualified names. Structuring namespaces. Multiple languages.
Reuse. Extending schemas. Versioning of schemas. Designing applications to support change.
XSDL element types. XSDL attributes.
Built-in simple types.