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
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.
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.
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.
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”).
Programlisting keeps the line breaks and formats the text using a suitable font... for code.
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.
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.
An inline code fragment
The name of an executable program or other software command
The name of a file
Inline text that is some literal value
An inline quotation
A component of SGML or XML markup
A subscript
A superscript
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 (<lauren@textuality.com>) or David Kunkel <dkunkel@idealliance.org>) to add these to the standard list.
Please don't use keywords to define acronyms, use the acronym element (the section called “Acronyms”) instead.
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.
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”.
First list item (this list in Upper Roman numbering style)
Foo
Bar
Baz
One (this list in lower alphabetical numbering style)
Schema widely used for technical documentation.
List of rules that an XML instance must obey in order to be processed correctly. May be implicit or explicit.
Two
Three
this list in arabic numbering style
And another item in the arabic numbered list
DocBook uses a similar table module to HTML 4.01. Nested tables are not allowed in table cells.
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 |
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.
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.
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>
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.
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.
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
Acknowledgements
Bibliography
Biography
space before
email:(space)
Figure #
superscript footnote number or other footnote annotation
superscript number of footnote referenced (or other footnote annotation)
(in an itemizedlist) - arabic, lower alpha, upper alpha, lower roman or upper roman counter
(in an orderedlist) - bullet or dash
Note:(space)
comma and space before
colon and space before
comma and space before
space before
Table #
web site: (space)
[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.
[DocBook] DocBook documentation.
[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.
[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.