The license agreement under which DocBook is distributed gives you complete freedom to change, modify, reuse, and generally hack the schema in any way you want, except that you must not call your alterations “DocBook.”
Starting with DocBook V5.0, DocBook is
identified by its namespace, http://docbook.org/ns/docbook
. The particular
version of DocBook to which an element conforms is identified by its
version
attribute. If the element
does not specify a version, the version of the closest ancestor DocBook
element that does specify a version is assumed. The version
attribute is required on the root
DocBook element.
Here is how these attributes would appear on the
book
element.
If you change the DocBook schema, the namespace remains the same,
but you must provide an alternate version identifier for the schema and
the modules you changed. The version
attribute identifies the version of
DocBook the alternate is based on, specifies what type of variant it is,
and names the variant and any additional modules. While the format for
the version string is not part of the normative specification, the
DocBook Technical Committee recommends the following format:
base_version
-(subset|extension|variant) (name
[-version
])+
For example, version 1.0 of Acme Corporation’s extension of
DocBook V5.0 could be identified as
“5.0-extension acme-1.0
”.
If your schema is a proper subset, use the
subset
keyword in the version. 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.
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 identifier 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 following syntax:
-//OASIS//text-class
DocBookdescription
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.
18.227.24.74