The DocBook SVG Module

Version 1.0 Beta 2

OASIS DocBook Technical Committee

Working Draft

21 May 2002

This version:
Beta Release 2: 21 May 2002
Editor:
Norman Walsh <Norman.Walsh@Sun.COM>

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to OASIS, except as needed for the purpose of developing OASIS specifications, in which case the procedures for copyrights defined in the OASIS Intellectual Property Rights document must be followed, or as required to translate it into languages other than English.

The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns.

This document and the information contained herein is provided on an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


Abstract

DocBook is a general purpose XML and SGML document type particularly well suited to books and papers about computer hardware and software. SVG (Scalable Vector Graphics) is an XML document type designed for describing two-dimensional graphics (vector graphic shapes, images, and text).

This module integrates SVG into DocBook, allowing elements from the SVG namespace to be used in DocBook documents.

Status of this Document

This is a working draft constructed by the editor. It is not an official committee work product and may not reflect the consensus opinion of the committee.

Table of Contents

1. Introduction
2. Terminology
3. The DocBook SVG Module V1.0b2
3.1. Usage
3.2. Limitations
4. Release Notes

Appendixes

A. OASIS DocBook Technical Committee (Non-Normative)
References

1. Introduction

[DocBook V4.2] is a general purpose XML and SGML document type particularly well suited to books and papers about computer hardware and software (though it is by no means limited to these applications).

[SVG 1.1] (Scalable Vector Graphics) is an XML document type designed for describing two-dimensional graphics (vector graphic shapes, images, and text).

This module integrates SVG into DocBook, allowing elements from the SVG namespace to be used in imageobjects.

The DocBook Technical Committee maintains the DocBook schema.

The W3C maintains SVG.

The 1.0 Beta 2 release of this module is based on the SVG 1.1 Candidate Release DTD.

The DocBook Technical Committee welcomes bug reports and requests for enhancement (RFEs) from the user community. The current list of outstanding requests is available through the SourceForge tracker interface. This is also the preferred mechanism for submitting new requests. Old RFEs, from a previous legacy tracking system, are archived for reference.

2. Terminology

The key words must, must not, required, shall, shall not, should, should not, recommended, may, and optional in this Standard are to be interpreted as described in [RFC 2119]. Note that for reasons of style, these words are not capitalized in this document.

3. The DocBook SVG Module V1.0b2

This module integrates SVG into DocBook by incorporating the SVG V1.1 DTD using a namespace prefix and extending the content model of DocBook's imageobject element to allow those elements to occur.

3.1. Usage

To use this module, specify the public and system identifiers of this module in your document type declaration. For example, to use this module to write a book, use the following document type declaration:

<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook SVG Module V1.0beta2//EN"
                      "http://www.oasis-open.org/docbook/xml/svg/1.0beta2/dbsvg.dtd">

Naturally, you can include an internal subset if you wish.

This module declares svg: as the namespace prefix for SVG. If you wish to change that prefix, you may declare an alternative by changing the declaration of the parameter entity SVG.prefix.

For example, to write an article using this module and to specify that the namespace prefix for SVG elements should be s:, you could use the following document type declaration:

<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook SVG Module V1.0beta2//EN"
                         "http://www.oasis-open.org/docbook/xml/svg/1.0beta2/dbsvg.dtd" [
<!ENTITY % SVG.prefix "s">
]>

To incorporate this module into a higher-level customization layer, use the public and system identifiers of this module in your customization layer. For example:

<!ENTITY %docbooksvg PUBLIC "-//OASIS//DTD DocBook SVG Module V1.0beta2//EN"
                         "http://www.oasis-open.org/docbook/xml/svg/1.0beta2/dbsvg.dtd">
%docbooksvg;

3.2. Limitations

This module is DTD-based. DTDs and [Namespaces] do not work together with perfect harmony. In particular, although you can change the namespace prefix used for SVG diagrams on a per-document basis, you cannot change it on a per-diagram basis. You simply cannot use svg: as the prefix on one diagram and s: as the prefix in another diagram within the same document. Such a document may be well-formed, and many XML tools may process it correctly, but it cannot be validated against this module's DTD.

The SVG module overrides the declaration of the imageobject element. In order to write a customization layer that also changes the declaration of imageobject, that customization layer must disable %docbook.svg.imageobject.element; before including the SVG module.

4. Release Notes

This module is a customization layer on top of DocBook XML V4.2 Candidate Release 2. The DocBook Candidate Release specification may change without warning. This module will not (can not) be published in final form until DocBook V4.2 is officially published.

This module is currently based on the SVG 1.1 Candidate Release specification. The Candidate Release specification may change without warning. This module will not (can not) be published in final form until the SVG 1.1 Recommendation is released.

A. OASIS DocBook Technical Committee (Non-Normative)

The following individuals were members of the committee during the formulation of this Standard:

  • Dennis Evans

  • Paul Grosso (prospective)

  • Dick Hamilton

  • Nancy (Paisner) Harrison

  • Sabine Ocker

  • Michael Sabrio

  • Michael Smith

  • Tim Teebken (prospective)

  • Norman Walsh (Chair, Editor)

References

Normative

[DocBook V4.2] Norman Walsh, editor. The DocBook Document Type: Version 4.2 Candidate Release 2. OASIS, 2002.

[SVG 1.1] Dean Jackson, editor. Scalable Vector Graphics (SVG) Version 1.1. World Wide Web Consortium, 2002.

[Namespaces] Tim Bray, Dave Hollander, and Andrew Layman, editors. Namespaces in XML. World Wide Web Consortium, 1999.

[RFC 2119] IETF (Internet Engineering Task Force). RFC 2119: Key words for use in RFCs to Indicate Requirement Levels. S. Bradner. 1997.