Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.


  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • DownloadDownload
  • PrintPrint
Share this Page URL
Help

Customization Layers > DocBook Schema Structure - Pg. 57

Public Identifiers Although not directly supported by RELAX NG, in some cases it may still be valuable to identify a DocBook V5.0 customization layer with a public identifier. A public iden- tifier for DocBook V5.0 is: -//OASIS//DTD DocBook V5.0//EN If you make any changes to the structure of the schema, you must change the public identifier. You should change both the owner identifier and the description. Formal public identifiers for the base DocBook modules would have identifiers with the fol- lowing syntax: -//OASIS//text-class DocBook description Vversion//EN Your public identifiers should use the following syntax: -//Owner-ID//text-class DocBook Vversion-Based (Subset|Extension|Variant) \ Description-and-version//lang For example: -//O'Reilly//DTD DocBook V5.0-Based Subset V1.1//EN If your schema is a proper subset, use the Subset keyword in the description. If your schema extends the markup model, use the Extension keyword. If you'd rather not characterize your variant specifically as a subset or an extension, use the Variant keyword. Customization Layers A RELAX NG grammar is a collection of patterns. These patterns can be stored in a single file or in a collection of files that import each other. Patterns can augment each other in a variety of ways. A complete grammar is the union of the specified patterns. For convenience, the DocBook grammar is distributed in a single file. RELAX NG Syntax There are two standard syntaxes for RELAX NG, an XML syntax and a "compact" text syntax. The two forms have the same expressive power; it is possible to transform between them with no loss of information. Many users find the relative terseness of the compact syntax makes it a convenient form for reading and writing RELAX NG. We will use compact syntax in our examples. DocBook Schema Structure The DocBook RELAX NG schema is highly modular, using named patterns extensively. Every element, attribute, attribute list, and enumeration has its own named pattern. In Customization Layers | 57