O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

XML Schema Complete Reference, The

Book Description

With the successful implementation of XML Schema, developers are learning how to increase productivity, improve software reliability, minimize development time, and decrease time to market. This in-depth reference is an all-in-one resource designed to help developers leverage the power and potential of XML schemas by offering a complete roadmap to their creation, design, and use.

This authoritative reference and tutorial is filled with practical insights and detailed examples. The book begins by providing a conceptual introduction to XML Schema. From there, coverage shifts to the W3C Schema Recommendation and how to apply schemas to specific business goals. The authors provide insight and instruction throughout on integrating XML schemas into existing technologies such as .NET, Java, Visual Basic, Oracle, and more. The book concludes with a complete case study designed to reinforce and illustrate material covered.

Additional topics include:

  • Applications for schemas

  • Simple and complex types

  • XML schema processing and validation

  • Namespaces in XML

  • Using schemas with DOM and SAX

  • XML schema document syntax

  • XML Information Sets

  • XML Schema applications of XPath

  • Whether designing a schema from scratch or integrating schemas into contemporary technologies, The XML Schema Complete Reference is the most complete and definitive sourcebook available for the XML Schema environment.


    Table of Contents

    1. Copyright
    2. Preface
    3. Acknowledgments
    4. About the Authors
    5. XML Schema Overview
      1. Introduction
        1. Why XML?
        2. Why XML Schemas?
        3. The World Wide Web Consortium (W3C) Recommendations
        4. Object-oriented Concepts
        5. Unifying Terminology
        6. Thematic Examples
        7. Creating an XML Schema Document
        8. Typesetting Conventions
        9. Online Resources
      2. XML Processing
        1. Basics
        2. XML Structure Before and After Parsing
        3. Schema Processing
      3. XML Namespaces
        1. Uniform Resource Names and Uniform Resource Locators
        2. Namespace Components
        3. Declaring Namespaces
        4. Qualified Names and QNames
        5. Namespace Scoping
        6. XML Schema and Namespaces
      4. XPath and XPointer
        1. XPath
        2. XPointer
      5. The Structure of Documents and Schemas
        1. XML Documents
        2. The XML Information Set
        3. Introduction to the PSVI
        4. Introduction to Schemas
        5. Schema Documents
    6. Creating XML Schema Documents
      1. Overview of an XML Schema Document
        1. The Enclosing schema Element
        2. Namespaces
        3. Scope
        4. Annotating Elements
        5. Constraining Elements
        6. Constraining Attributes
        7. Simple Types
        8. Complex Types
        9. Model Groups
        10. Substitution Groups
        11. Instantiability
        12. Identity Constraint Definitions
        13. Notations
        14. Imports and Includes
        15. Locating XML Schemas and XML Schema Components
        16. Schema Element IDs
      2. Creating an XML Schema Document
        1. A Simple XML Schema Document Example
        2. A schema Element with Every Attribute
        3. Concepts and Observations
        4. The schema Element
        5. The annotation Element
        6. The appinfo Element
        7. The documentation Element
        8. The include Element
        9. The import Element
        10. The notation Element
        11. The redefine Element
      3. Element Types
        1. An Example of a Trivial Element Type
        2. Concepts and Observations
        3. The element Element
        4. The any Element
      4. Attribute Types
        1. An Example of an Attribute Type
        2. An Example of a Named Attribute-use Group
        3. An Example of anyAttribute
        4. Concepts and Observations Regarding Attribute Types
        5. The attribute Element
        6. The attributeGroup Element
        7. The anyAttribute Element
      5. Simple Types
        1. An Example of a Simple Type Derived from the Built-in token Datatype
        2. An Example of a Pattern-constrained Simple Type
        3. An Example of a Simple Type Derived from a User-derived Simple Type
        4. Concepts and Observations
        5. The simpleType Element
        6. The restriction Element
        7. The list Element
        8. The union Element
      6. Complex Types
        1. An Example of a Complex Type Specifying Empty Content
        2. An Example of a Complex Type That Adds Attributes to a Simple Type
        3. An Example of a Complex Type Specifying Nested Element Types
        4. An Example of a Complex Type Specifying Mixed Content
        5. Concepts and Observations
        6. The complexType Element
        7. The simpleContent Element
        8. The complexContent Element
        9. The extension Element
        10. The restriction Element
        11. The all Element
        12. The choice Element
        13. The sequence Element
        14. The group Element
      7. Built-in Datatypes
        1. Numeric Datatypes
        2. Date, Time, and Duration Datatypes
        3. String Datatypes
        4. Oddball Datatypes
      8. Identity Constraints
        1. Identity Constraint Example
        2. Concepts and Observations
        3. The unique Element
        4. The key Element
        5. The keyref Element
        6. The selector Element
        7. The field Element
      9. Regular Expressions
        1. Concepts and Observations
        2. Regular Expression Syntax
        3. Constraining Simple Content
    7. Validation
      1. XML Schema Component Detail
        1. Schemas: The Basic Idea
        2. Schema (Schema Schema Component)
        3. Attribute Types
        4. Element Types
        5. Annotation (Annotation Schema Component)
        6. Notation (Notation Declaration Schema Component)
      2. PSVI Detail
        1. Schema Validation and Schema Processing
        2. The PSVI
      3. Java and the Apache XML Project
        1. Apache Background
        2. Java Xerces on Your Computer
        3. “Hello Apache”
        4. Critical Xerces Packages
        5. Xerces Java DOM In-depth
        6. Java Xerces SAX In-depth
      4. MSXML and the Schema Object Model (SOM)
        1. Introducing MSXML
        2. Concepts and Observations
        3. XML Schema Examples
        4. MSXML Fundamentals
        5. Schema Object Model (SOM)
        6. Validation
        7. Example: XML Schema Tree
    8. Result-oriented Schemas
      1. Object-oriented Schemas
        1. Concepts and Observations
        2. Object-oriented Concepts
        3. XML Schemas and Objects
        4. Mapping XML Schemas to Object-oriented Languages
        5. Sample Schema: party.xsd
        6. Design Patterns
        7. Language Examples
      2. Document-oriented Schemas
        1. Why Use XML for Documents?
        2. Creating a Schema for a Set of Documents: Document Analysis
        3. Implementing Document Processing
      3. Application-oriented Schemas
        1. XML Applications
        2. Role of XML Schemas
        3. Describing Applications
        4. Application Structure
        5. Transporting XML
        6. Describing Applications
        7. Example Application
    9. Data-oriented Schemas
      1. Data-oriented Schemas: Datatypes
        1. XML Schema Design Considerations
        2. General Discussion of Facet Restrictions
        3. Check Constraints versus Triggers
        4. Datatypes
      2. Data-oriented Schemas: Simple Types
        1. XML Schema Design Considerations
        2. An Example of a Simple Type Mapping to a Database Schema
        3. Concepts and Observations
        4. The list Element
        5. The union Element
      3. Data-oriented Schemas: Complex Types
        1. XML Schema Design Considerations
        2. An Example of a Complex Type Mapping to a Database Schema
        3. An Example of a Complex Type Mapping Supporting Mixed Content to a Database Schema
        4. Concepts and Observations
        5. complexType Element
        6. all Element
        7. annotation Element
        8. any Element
        9. anyAttribute Element
        10. attributeGroup Element
        11. choice Element
        12. complexContent Element
        13. group Element
        14. sequence Element
        15. simpleContent Element
        16. restriction Element
        17. extension Element
    10. A Case Study: The Campus Resource and Scheduling System (CRSS)
      1. The Business Case
        1. Basic CRSS Flow
        2. CRSS Requirements
        3. System Users
        4. Extensible Style Language Transform (XSLT)
        5. SQL 2000 XML Capabilities
        6. CRSS Technical Architecture
        7. Summary
      2. The Architecture
        1. System Architecture
        2. Creating HTML Pages by Using XSLT
        3. Sending Form Data
        4. Summary
      3. The Server Tier
        1. Database Design with XML Schemas
        2. SQL IIS Configuration
        3. CRSS Application Requirements
        4. Updategrams
        5. Summary
      4. The Integrated Solution
        1. CRSS Design Review
        2. Web Tier Construction
        3. UI Broker Component Construction
        4. Security Broker Component Construction
        5. CRSS Broker Component Construction
        6. Template Query
        7. CRSS Review
    11. Appendixes
      1. XML Schema Quick Reference
      2. XML Schema RegularExpression Grammar
      3. The Thematic Catalog XML Schema
      4. Data-oriented Schemas: Oracle8i Datatypes
        1. General Overview
        2. Discussion of the Consequences
      5. Glossary
        1. Objects, Classes, and Instances
        2. Markup
        3. XML Documents
        4. XML DTDs and Schemas
        5. Selected Datatypes Used in Schema Documents
        6. Miscellaneous