-
Tutorial
-
Chapter 1 What RELAX NG Offers
- Diversity
- Keeping Documents Independent of Applications
- Validation Has Many Aspects
- The Best Way to Validate XML Document Structures
- RELAX NG's Diverse Applications
- RELAX NG as a Pivot Format
- Why Use Other Schema Languages?
-
Chapter 2 Simple Foundations Are Beautiful
- Documents and Infosets
- Different Types of Schema Languages
- A Simple Example
- A Strong Mathematical Background
- Patterns, and Only Patterns
-
Chapter 3 First Schema
- Getting Started
- First Patterns
- Complete Schema
-
Chapter 4 Introducing the Compact Syntax
- First Compact Patterns
- Full Schema
- XML or Compact?
-
Chapter 5 Flattening the First Schema
- Defining Named Patterns
- Referencing Named Patterns
- The grammar and start Elements
- Assembling the Parts
- Problems That Never Arise
- Recursive Models
- Escaping Named Pattern Identifiers in the Compact Syntax
-
Chapter 6 More Complex Patterns
- The group Pattern
- The interleave Pattern
- The choice Pattern
- Pattern Compositions
- Order Variation as a Source of Information
- Text and Empty Patterns, Whitespace, and Mixed Content
- Why Is It Called interleave?
- Mixed Content Models with Order
- A Restriction Related to interleave
- A Missing Pattern: Unordered Group
-
Chapter 7 Constraining Text Values
- Fixed Values
- Co-Occurrence Constraints
- Enumerations
- Whitespace and RELAX NG Native Datatypes
- Using String Datatypes in Attribute Values
- When to Use String Datatypes
- Using Different Types in Each Value
- Exclusions
- Lists
- Data Versus Text
-
Chapter 8 Datatype Libraries
- W3C XML Schema Type Library
- DTD Compatibility Datatypes
- Which Library Should Be Used?
-
Chapter 9 Using Regular Expressions to Specify Simple Datatypes
- A Swiss Army Knife
- The Simplest Possible Pattern Facets
- Quantifying
- More Atoms
- Common Patterns
-
Chapter 10 Creating Building Blocks
- Using External References
- Merging Grammars
- A Real-World Example: XHTML 2.0
- Other Options
-
Chapter 11 Namespaces
- A Ten-Minute Guide to XML Namespaces
- The Two Challenges of Namespaces
- Declaring Namespaces in Schemas
- Accepting Foreign Namespaces
- Namespaces, Building Blocks, and Chameleon Design
-
Chapter 12 Writing Extensible Schemas
- Extensible Schemas
- The Case for Open Schemas
- Extensible and Open?
-
Chapter 13 Annotating Schemas
- Common Principles for Annotating RELAX NG Schemas
- Documentation
- Annotation for Applications
-
Chapter 14 Generating RELAX NG Schemas
- Examplotron: Instance Documents as Schemas
- Literate Programming
- UML
- Spreadsheets
-
Chapter 15 Simplification and Restrictions
- Simplification
- Restrictions
-
Chapter 16 Determinism and Datatype Assignment
- What Is Ambiguity?
- The Downsides of Ambiguous and Nondeterministic Content Models
- Some Ideas to Make Disambiguation Easier
-
-
Reference
-
Chapter 17 Element Reference
- Elements
-
Chapter 18 Compact Syntax Reference
- EBNF Production Reference
-
Chapter 19 Datatype Reference
-
-
Appendixes
-
Appendix A DSDL
- A Multipart Standard
- What DSDL Should Bring You
-
Appendix B The GNU Free Documentation License
- GNU Free Documentation License
- 0. Preamble
- 1. APPLICABILITY AND DEFINITIONS
- 2. VERBATIM COPYING
- 3. COPYING IN QUANTITY
- 4. MODIFICATIONS
- 5. COMBINING DOCUMENTS
- 6. COLLECTIONS OF DOCUMENTS
- 7. AGGREGATION WITH INDEPENDENT WORKS
- 8. TRANSLATION
- 9. TERMINATION
- 10. FUTURE REVISIONS OF THIS LICENSE
- Addendum: How to use this License for your documents
-
-
Glossary
-
Colophon
- Title:
- RELAX NG
- By:
- Eric van der Vlist
- Publisher:
- O'Reilly Media
- Formats:
-
- Safari Books Online
- Print Release:
- December 2003
- Pages:
- 512
- Print ISBN:
- 978-0-596-00421-7
- | ISBN 10:
- 0-596-00421-4
Our look is the result of reader comments, our own experimentation, and feedback from distribution channels. Distinctive covers complement our distinctive approach to technical topics, breathing personality and life into potentially dry subjects. The animal on the cover of RELAX NG is a blood pheasant (Ithaginis cruentus). Unlike other pheasants, the blood pheasant resembles a partridge in size and shape. Its crest is grey, and the male's forehead, face, and throat are red. A female's upper features are more rust-colored. Both males and females have grey to light brown bodies.
The blood pheasant lives in the coniferous forests of the Himalayas, from Nepal through Tibet into northern Burma to northwest China. It lives in flocks of 4-20 in nonbreeding season, up to 40 in winter. Between late April and early May, the female fills a shallow saucer nest of dry twigs lined with leaves with up to 14 eggs. Chicks are born in mid-June and able to follow mother to feed at two days old.
The blood pheasant picks up food with its bill and seldom digs with its claws, although it sometimes jumps up to shrubs to feed. It's considered a good runner but a poor flier. When threatened, it rushes down hills and hides under stones. Because it lives in such remote regions, however, the blood pheasant population remains stable and unthreatened by man. Mary Anne Weeks Mayo was the production editor, and Nancy Wolfe Kotary was the copyeditor for RELAX NG. Reg Aubry and Colleen Gorman provided quality control. Julie Hawks wrote the index.
Emma Colby designed the cover of this book, based on a series design by Edie Freedman. The cover image is a 19th-century engraving from Cuvier's Animals. Emma produced the cover layout with QuarkXPress 4.1 using Adobe's ITC Garamond font.
Melanie Wang designed the interior layout, based on a series design by David Futato. This book was converted by Joe Wizda to FrameMaker 5.5.6 with a format conversion tool created by Erik Ray, Jason McIntosh, Neil Walls, and Mike Sierra that uses Perl and XML technologies. The text font is Linotype Birka; the heading font is Adobe Myriad Condensed; and the code font is LucasFont's TheSans Mono Condensed. The illustrations that appear in the book were produced by Robert Romano and Jessamyn Read using Macromedia FreeHand 9 and Adobe Photoshop 6. The tip and warning icons were drawn by Christopher Bing. This colophon was compiled by Mary Anne Weeks Mayo.
