Books & Videos

Table of Contents

  1. Tutorial

    1. Chapter 1 What RELAX NG Offers

      1. Diversity
      2. Keeping Documents Independent of Applications
      3. Validation Has Many Aspects
      4. The Best Way to Validate XML Document Structures
      5. RELAX NG’s Diverse Applications
      6. RELAX NG as a Pivot Format
      7. Why Use Other Schema Languages?
    2. Chapter 2 Simple Foundations Are Beautiful

      1. Documents and Infosets
      2. Different Types of Schema Languages
      3. A Simple Example
      4. A Strong Mathematical Background
      5. Patterns, and Only Patterns
    3. Chapter 3 First Schema

      1. Getting Started
      2. First Patterns
      3. Complete Schema
    4. Chapter 4 Introducing the Compact Syntax

      1. First Compact Patterns
      2. Full Schema
      3. XML or Compact?
    5. Chapter 5 Flattening the First Schema

      1. Defining Named Patterns
      2. Referencing Named Patterns
      3. The grammar and start Elements
      4. Assembling the Parts
      5. Problems That Never Arise
      6. Recursive Models
      7. Escaping Named Pattern Identifiers in the Compact Syntax
    6. Chapter 6 More Complex Patterns

      1. The group Pattern
      2. The interleave Pattern
      3. The choice Pattern
      4. Pattern Compositions
      5. Order Variation as a Source of Information
      6. Text and Empty Patterns, Whitespace, and Mixed Content
      7. Why Is It Called interleave?
      8. Mixed Content Models with Order
      9. A Restriction Related to interleave
      10. A Missing Pattern: Unordered Group
    7. Chapter 7 Constraining Text Values

      1. Fixed Values
      2. Co-Occurrence Constraints
      3. Enumerations
      4. Whitespace and RELAX NG Native Datatypes
      5. Using String Datatypes in Attribute Values
      6. When to Use String Datatypes
      7. Using Different Types in Each Value
      8. Exclusions
      9. Lists
      10. Data Versus Text
    8. Chapter 8 Datatype Libraries

      1. W3C XML Schema Type Library
      2. DTD Compatibility Datatypes
      3. Which Library Should Be Used?
    9. Chapter 9 Using Regular Expressions to Specify Simple Datatypes

      1. A Swiss Army Knife
      2. The Simplest Possible Pattern Facets
      3. Quantifying
      4. More Atoms
      5. Common Patterns
    10. Chapter 10 Creating Building Blocks

      1. Using External References
      2. Merging Grammars
      3. A Real-World Example: XHTML 2.0
      4. Other Options
    11. Chapter 11 Namespaces

      1. A Ten-Minute Guide to XML Namespaces
      2. The Two Challenges of Namespaces
      3. Declaring Namespaces in Schemas
      4. Accepting Foreign Namespaces
      5. Namespaces, Building Blocks, and Chameleon Design
    12. Chapter 12 Writing Extensible Schemas

      1. Extensible Schemas
      2. The Case for Open Schemas
      3. Extensible and Open?
    13. Chapter 13 Annotating Schemas

      1. Common Principles for Annotating RELAX NG Schemas
      2. Documentation
      3. Annotation for Applications
    14. Chapter 14 Generating RELAX NG Schemas

      1. Examplotron: Instance Documents as Schemas
      2. Literate Programming
      3. UML
      4. Spreadsheets
    15. Chapter 15 Simplification and Restrictions

      1. Simplification
      2. Restrictions
    16. Chapter 16 Determinism and Datatype Assignment

      1. What Is Ambiguity?
      2. The Downsides of Ambiguous and Nondeterministic Content Models
      3. Some Ideas to Make Disambiguation Easier
  2. Reference

    1. Chapter 17 Element Reference

      1. Elements
    2. Chapter 18 Compact Syntax Reference

      1. EBNF Production Reference
    3. Chapter 19 Datatype Reference

  3. Appendixes

    1. Appendix DSDL

      1. A Multipart Standard
      2. What DSDL Should Bring You
    2. Appendix The GNU Free Documentation License

      1. GNU Free Documentation License
      2. 0. Preamble
      3. 1. APPLICABILITY AND DEFINITIONS
      4. 2. VERBATIM COPYING
      5. 3. COPYING IN QUANTITY
      6. 4. MODIFICATIONS
      7. 5. COMBINING DOCUMENTS
      8. 6. COLLECTIONS OF DOCUMENTS
      9. 7. AGGREGATION WITH INDEPENDENT WORKS
      10. 8. TRANSLATION
      11. 9. TERMINATION
      12. 10. FUTURE REVISIONS OF THIS LICENSE
      13. Addendum: How to use this License for your documents
  1. Glossary

  2. Colophon