DocBook Subset Documentation

Dr. Lauren Wood

Chair, XML 2004 Conference
Textuality http://www.textuality.com


Vancouver
British Columbia
Canada

Abstract

This is the documentation to accompany the DocBook subset used for the proceedings for the XML 2004 Conference. It includes some examples of use, and in fact the entire document is written as a sample proceedings paper.


Table of Contents

Introduction
Character Encodings
Types of Elements
Overall Structure
Block Elements
Inline Elements
Keywords
Lists
Tables
Figures and Examples
Links and References
Bibliographical Entries
Miscellaneous
Generated Text
Bibliography

Introduction

In past years the XML series of conferences have had their own DTD for the conference proceedings. For 2004 we decided to move to DocBook, since there are many tools available for creating and for processing DocBook documents. Since DocBook is a large and complicated schema, we have created a subset for use for the conference. Papers must validate according to this subset in order to be accepted by the conference submission system.

The following documentation includes notes on some of the elements used in the conference subset. You may also wish to refer to the DocBook web site, where there is much more documentation.

If you're reading the HTML version of this document, you should also look at the XML version (schema_documentation.xml) for some of the examples.

Character Encodings

All proceedings documents should use Unicode, either UTF-8 or UTF-16. Other character encodings are not supported. Numeric character entities may be used; named character entities are not supported in this subset of DocBook.

Types of Elements

Overall Structure

Each proceedings paper is one article element. This contains one articleinfo element (with author information, the abstract, and keywords) and one or more paragraphs or sections. The paper can finish with appendices, acknowledgements, and a bibliography.

Block Elements

The basic paragraph element is para. Paragraphs may be contained within sections (section) and in various other locations. Sections embedded in other sections automatically become subsections.

The other types of paragraphs you may wish to use are blockquote, which is used for block quotations, or note, which is typically preceded by the word "Note:". Block quotations and notes contain para elements.

Long code examples should be put within a programlisting element, which also ensures the linebreaks are preserved. Please make sure the contents of these code examples will fit easily on one printed line (for the PDF version); we recommend using no more than 70 characters per line. Also, don't use tabs in these code examples, as they will be converted to spaces and the conversion process may destroy the code layout. If your software tool does pretty-printing of the XML, you will probably need to turn this off for the code examples. If you wish to make a formal example with a title, use the example element (see the section called “Figures and Examples”).

Code Example

Programlisting keeps the line breaks and 
formats the text
using a suitable font...
for code.

Blockquote Example

Blockquotes don't keep the line breaks you give them, but you can put in paragraphs. To keep the linebreaks without changing the font, use literallayout.

If you use literallayout,
     It will allow you with might
To write poetry throughout
     Even if it isn't very bright.

Note Example

Note

Notes usually have the word "Note" before them.

This is a Note Title

“Note” is just the default title, you can have your own title.

Inline Elements

The inline presentation elements such as big or i have been replaced with the emphasis element. The various types of emphasis are given by the role attribute, which can have values of italic, bold, big, small, with italic being the default.

There are other inline text elements that you may find useful. The definitions were taken from the online DocBook documentation - see [DocBook] for more details.

code

An inline code fragment

command

The name of an executable program or other software command

filename

The name of a file

literal

Inline text that is some literal value

quote

An inline quotation

sgmltag

A component of SGML or XML markup

subscript

A subscript

superscript

A superscript

Keywords

Keywords (using the keyword element) should be put in a keywordset element within the articleinfo element. They fit between the author information and the abstract. The content of the keyword element does not appear in the final rendered output. Please use keywords from the list available on the conference website, and put each keyword in a separate element. Feel free to use your own keywords as well; if you think other people may want to use the same keywords, please email Lauren Wood () or David Kunkel ) to add these to the standard list.

Please don't use keywords to define acronyms, use the acronym element (the section called “Acronyms”) instead.

Lists

There are three main different types of lists: numbered, bulleted, and definition lists. The numbered and bulleted lists can have various types of numbering schemes or bullets associated with them for styling. Since styling in HTML is done using CSS (Cascading Style Sheets), this subset of DocBook uses the CSS list-style-type values to define the types of bullets available for unordered lists.

Use the itemizedlist element for bulleted lists. There is an attribute on that element called mark with values disc (closed bullet), circle (open circle), and square (solid square) that define the types of bullets available.

The orderedlist element for numbered lists uses the attribute numeration to change the numbering style. It has the values arabic, upperalpha, upperroman, loweralpha, lowerroman (with the results: arabic 1, 2, 3, 4,...; upperalpha A, B, C, D,... ; upperroman I, II, III, IV,... ; loweralpha a, b, c, d,..; lowerroman i, ii, iii, iv,...). Both of these types of lists use the same listitem element, so it's easy to change from one type into another.

Definition lists are used for definitions and have varlistentry elements which contain terms (term) and definitions (listitem).

Every list type can have a title.

List examples

The numbered, bulleted, and simple lists are shown here; for examples of what the definition or variable entry lists look like, see the section called “Inline Elements”.

  1. First list item (this list in Upper Roman numbering style)

    • Foo

    • Bar

    • Baz

    1. One (this list in lower alphabetical numbering style)

      DocBook

      Schema widely used for technical documentation.

      Schema

      List of rules that an XML instance must obey in order to be processed correctly. May be implicit or explicit.

    2. Two

    3. Three

      1. this list in arabic numbering style

      2. And another item in the arabic numbered list

Tables

DocBook uses a similar table module to HTML 4.01. Nested tables are not allowed in table cells.

Table Example

Table 1. 

The amount of caffeine in various coffee drinks; taken from Frequently Asked Questions about Caffeine.

Beverage mg of Caffeine per 7oz serving
Drip 115-175
Espresso 1 serving (1.5-2oz) 100
Brewed 80-135
Instant 65-100
Decaf, brewed 3-4
Decaf, instant 2-3

Figures and Examples

There are a number of ways to put figures into your paper. You can have simple figures, with no title or caption, or figures that have titles. You can also have formal examples with titles.

All figures use the mediaobject element; formal figures are wrapped with a figure element and have a title element. The "Figure x." is generated automatically for formal figures but not for simple figures. You can still link to the simple figures using the id attribute on the mediaobject element, as for example simple figure with this link.

Note that if you wish to link to simple figures, you have two choices.

  • You can use the link element and provide your own text (the preferred method).

    I'm linking to the first figure with my own text.

  • You can define not only the id attribute on the mediaobject element the xref element points to, but also the xreflabel attribute.

    Linking to the simple figure with the text defined on it.

Figure Examples

Simple figure, no title or caption
Formal figure with title and caption

Figure 1. The XML Conference Logo

The XML Conference Logo
A caption explaining the figure; if you're going to have a caption you must use a title as well.
Example of a Formal Example

Example 1. this example has a title

this isn't really
code but should show
the point

Links and References

The ulink element is used to reference an external web-based document. The URI value in the url attribute will be treated as a link in the HTML version, and printed in the PDF version of the proceedings.

Example start…

Please see <ulink url="http://www.xmlconference.org">the conference web site</ulink>.

            …end example.

To generate a cross reference within your paper, use the xref element. Set the value of the linkend attribute to match the value of the target element's id attribute. The appropriate text and/or links (depending on output medium) will be generated at the location of the xref element.

All elements that have an id attribute may be cross referenced using the xref element.

Bibliography entries (the section called “Bibliographical Entries”), footnotes (the section called “Footnotes”)and acronyms (the section called “Acronyms”) (all of which use some type of referencing) are documented later.

Bibliographical Entries

The bibliography is a list of the bibliographical references you have used in the paper (including web sites). The list with the full details for each item you refer to (full URI, publisher, author, etc) is in the rear matter part of the paper, in the bibliography element. Each separate item is in its own bibliomixed element, with an id attribute whose value is used for the references. The bibliomixed element contains an abbrev element, where you put the item label you want to show up in the paper, as well as other content which contains the information about title, author, publisher, web site, etc.

You put references in the body of the paper to those items using the xref element. The linkend attribute value must match the id attribute of the bibliomixed element you're referencing. The content of the referenced abbrev element will be put in the processed paper in place of the xref element. The square brackets will be automatically generated.

Since the content model of bibliomixed is mixed content, you have to be careful with white space. All white space is passed through to the application, which may choose to do various things, such as turn newlines into spaces, or join two spaces together.

Note that we recommend a relatively light style - you don't need to mark up author information with elements, for example. There are also different ways of putting links in the entries - either in the bibliomisc element (which is a slightly better solution), or directly in the citetitle element. Please author titles using initial capital letters only. Do not use all capital letters except for acronyms. If you are referencing books or other printed material, please include the full title, authors, publisher, and year of publication. The bibliography examples are placed at the end of this document so you can also see how they are processed.


    <bibliography>
    <bibliomixed id="DocBook"><abbrev>DocBook</abbrev><citetitle> <ulink
url="http://www.docbook.org">DocBook documentation</ulink>.</citetitle>
</bibliomixed>
      <bibliomixed id="COMP97">
        <abbrev>COMP97</abbrev>
	<citetitle>Computer Graphics,</citetitle> J. D. Foley et al., 
	<publishername>Addison-Wesley</publishername>, <pubdate>1997</pubdate>.
      </bibliomixed>
      <bibliomixed id="COMP90">
        <abbrev>COMP90</abbrev>
        <citetitle>Computer Graphics Principles and Practice,</citetitle> J. D. Foley et al., 
	<publishername>Addison-Wesley</publishername>, <pubdate>1990</pubdate>.
      </bibliomixed>
      <bibliomixed id="ECMA">
        <abbrev>ECMA</abbrev>
        <citetitle>ECMAScript Language Specification,</citetitle> <publishername>ECMA General Assembly</publishername>, 
	<pubdate>June 1997</pubdate>. 
	Available at <bibliomisc><ulink url="http://www.el-mundo.es/internet/ecmascript.html"/></bibliomisc>.
      </bibliomixed>
      <bibliomixed id="GraphicOM">
        <abbrev>GraphicOM</abbrev>
          <citetitle>Common graphical object models and how to translate them to SVG</citetitle>, P. A. Mansfield, SVG Open 2002 Conference Paper, <pubdate>16 July 2002</pubdate>. Available at
			 <bibliomisc><ulink url="http://www.svgopen.org/papers/2002/mansfield__graphical_object_models/"/></bibliomisc>.
      </bibliomixed>
      <bibliomixed id="GS">
        <abbrev>GS</abbrev>
          <citetitle>Graphical Stylesheets: Using XSLT to Generate SVG</citetitle>, P. A. Mansfield, D. W. Fuller, XML 2001 Conference Paper, 
	  <pubdate>13 December 2001</pubdate>. Available at
			 <bibliomisc><ulink url="http://www.idealliance.org/papers/xml2001/papers/html/05-05-02.html"/></bibliomisc>.
      </bibliomixed>
      <bibliomixed id="PtPoly">
        <abbrev>PtPoly</abbrev>
        <citetitle>Fastest Point in Polygon Test,</citetitle> MacMartin, Stuart et al, Ray Tracing News <issuenum>5</issuenum> <pagenums>(3)</pagenums>, <pubdate>1992</pubdate>.
      </bibliomixed>
      <bibliomixed id="SVG">
        <abbrev>SVG</abbrev>
        <citetitle>Scalable Vector Graphics (SVG) 1.0 Specification,</citetitle> J. Ferraiolo, editor, W3C Recommendation, 
	<pubdate>4 September 2001</pubdate>. Available at <bibliomisc><ulink url="http://www.w3.org/TR/SVG"/></bibliomisc>.
      </bibliomixed>
      <bibliomixed id="VRML">
        <abbrev>VRML</abbrev>
        <citetitle>Virtual Reality Modeling Language (VRML),</citetitle> International Standard ISO/IEC 14772-1:1997, 
	<publishername>VRML Consortium Incorporated</publishername>, <pubdate>1997</pubdate>. 
	Available at <bibliomisc><ulink url="http://www.web3d.org/technicalinfo/specifications/vrml97/index.htm"/></bibliomisc>.
      </bibliomixed>
      <bibliomixed id="X3D">
        <abbrev>X3D</abbrev>
        <citetitle>Extensible 3D Graphics (X3D)</citetitle>. 
	Available at <bibliomisc><ulink url="http://www.web3d.org/x3d.html"/></bibliomisc>.
      </bibliomixed>
    </bibliography>

Miscellaneous

Acronyms

Example start…

IDEAlliance (formerly the <acronym>GCA</acronym> Graphic Communications Association) is a non-profit industry association.

The XML standard was first announced at a <acronym >GCA</acronym> conference in 1996.

processes as:

IDEAlliance (formerly the GCA Graphic Communications Association) is a non-profit industry association. The XML standard was first announced at a GCA conference in 1996.

            …end example.

You don't need to define well-known acronyms such as XML, but defining more rather than fewer is beneficial.

Footnotes

When text requires a footnote, use the footnote element at the point where the footnote should occur. The footnote marks will be automatically generated, so don't put these in. If you think you might want to reuse the content of the footnote, put a value in the id attribute on the footnote element. Then you can use the footnoteref element's linkend attribute to reference that footnote.

Example start…

He was not himself that day<footnote id="fn01"><para>01 January 2001</para></footnote>.

On that fateful day<footnoteref linkend="fn01"/>, he woke up late.

processes as:

He was not himself that day [1]. On that fateful day[1], he woke up late.

            …end example.

Generated Text

When processed into HTML or PDF, the elements listed here automatically generate the required text. Therefore, please do not insert the following text items in your paper within these elements.

abstract

ABSTRACT

ackno

Acknowledgements

bibliography

Bibliography

personblurb

Biography

country

space before

email

email:(space)

figure

Figure #

footnote

superscript footnote number or other footnote annotation

footnoteref

superscript number of footnote referenced (or other footnote annotation)

listitem

(in an itemizedlist) - arabic, lower alpha, upper alpha, lower roman or upper roman counter

listitem

(in an orderedlist) - bullet or dash

note

Note:(space)

state

comma and space before

subtitle

colon and space before

lineage

comma and space before

surname

space before

table

Table #

ulink in orgname

web site: (space)

xref

[link to the referenced point]

Many thanks for helping define and create the DocBook subset to Eve Maler, Norm Walsh, Philip Mansfield, and Benjamin Jung.

Bibliography

[COMP97] Computer Graphics, J. D. Foley et al., Addison-Wesley, 1997.

[COMP90] Computer Graphics Principles and Practice, J. D. Foley et al., Addison-Wesley, 1990.

[ECMA] ECMAScript Language Specification, ECMA General Assembly, June 1997. Available at http://www.el-mundo.es/internet/ecmascript.html.

[GraphicOM] Common graphical object models and how to translate them to SVG, P. A. Mansfield, SVG Open 2002 Conference Paper, 16 July 2002. Available at http://www.svgopen.org/papers/2002/mansfield__graphical_object_models/.

[GS] Graphical Stylesheets: Using XSLT to Generate SVG, P. A. Mansfield, D. W. Fuller, XML 2001 Conference Paper, 13 December 2001. Available at http://www.idealliance.org/papers/xml2001/papers/html/05-05-02.html.

[PtPoly] Fastest Point in Polygon Test, MacMartin, Stuart et al, Ray Tracing News 5 (3), 1992.

[SVG] Scalable Vector Graphics (SVG) 1.0 Specification, J. Ferraiolo, editor, W3C Recommendation, 4 September 2001. Available at http://www.w3.org/TR/SVG.

[VRML] Virtual Reality Modeling Language (VRML), International Standard ISO/IEC 14772-1:1997, VRML Consortium Incorporated, 1997. Available at http://www.web3d.org/technicalinfo/specifications/vrml97/index.htm.

[X3D] Extensible 3D Graphics (X3D). Available at http://www.web3d.org/x3d.html.



[1] 01 January 2001