[yelp-xsl] [test/testdocs] Updating the DocBook testdocs



commit 214fed694981a189671c8d5e16a0defe90d8a99b
Author: Shaun McCance <shaunm gnome org>
Date:   Mon Mar 1 13:17:35 2010 -0600

    [test/testdocs] Updating the DocBook testdocs

 .gitignore                                 |    1 +
 test/testdocs/README                       |   17 +-
 test/testdocs/admonitions.001.xml          |   30 +-
 test/testdocs/article.001.xml              |    6 +-
 test/testdocs/article.002.xml              |    8 +-
 test/testdocs/article.003.xml              |   76 +++
 test/testdocs/article.004.xml              |   47 ++
 test/testdocs/article.005.xml              |   64 +++
 test/testdocs/article.006.xml              |   68 +++
 test/testdocs/author.001.xml               |   40 ++
 test/testdocs/author.002.xml               |   48 ++
 test/testdocs/bibliography.001.xml         |    7 +-
 test/testdocs/bibliography.002.xml         |   10 +-
 test/testdocs/bibliography.003.xml         |   49 ++
 test/testdocs/bibliography.004.xml         |   51 ++
 test/testdocs/bibliography.005.xml         |   89 +++
 test/testdocs/bibliolist.001.xml           |   58 ++
 test/testdocs/blockinfo.001.xml            |   26 +
 test/testdocs/blockinfo.002.xml            |   49 ++
 test/testdocs/blockquote.001.xml           |   17 +-
 test/testdocs/book.001.xml                 |   11 +-
 test/testdocs/book.002.xml                 |    6 +-
 test/testdocs/book.003.xml                 |   19 +-
 test/testdocs/book.004.xml                 |   24 +
 test/testdocs/book.005.xml                 |   48 ++
 test/testdocs/book.006.xml                 |   30 +
 test/testdocs/book.007.xml                 |   33 ++
 test/testdocs/book.008.xml                 |   34 ++
 test/testdocs/bookinfo.001.xml             |    6 +-
 test/testdocs/bridgehead.001.xml           |   10 +-
 test/testdocs/calloutlist.001.xml          |    6 +-
 test/testdocs/calloutlist.002.xml          |  144 +++++
 test/testdocs/calloutlist.003.xml          |  156 ++++++
 test/testdocs/changebars.001.xml           |   24 +
 test/testdocs/chapter.001.xml              |    6 +-
 test/testdocs/chapter.002.xml              |   17 +
 test/testdocs/classsynopsis.001.xml        |    6 +-
 test/testdocs/cmdsynopsis.001.xml          |  156 ++++++
 test/testdocs/cmdsynopsis.002.xml          |   39 ++
 test/testdocs/cmdsynopsis.003.xml          |   48 ++
 test/testdocs/co.001.xml                   |   30 +
 test/testdocs/dir.001.xml                  |   20 +
 test/testdocs/docbook-43.001.xml           |  114 ++++
 test/testdocs/draft.001.xml                |    6 +-
 test/testdocs/emphasis.001.xml             |    6 +-
 test/testdocs/epigraph.001.xml             |    8 +-
 test/testdocs/equation.001.xml             |    6 +-
 test/testdocs/equation.002.xml             |    6 +-
 test/testdocs/equation.003.xml             |    6 +-
 test/testdocs/equation.004.xml             |   68 +++
 test/testdocs/example.001.xml              |    6 +-
 test/testdocs/extensions.001.xml           |    6 +-
 test/testdocs/extensions.002.xml           |    6 +-
 test/testdocs/extensions.003.xml           |    6 +-
 test/testdocs/extensions.004.xml           |    6 +-
 test/testdocs/figure.001.xml               |   18 +-
 test/testdocs/figure.002.xml               |   49 ++
 test/testdocs/figure.003.xml               |   41 ++
 test/testdocs/figure.004.xml               |   47 ++
 test/testdocs/figure.005.xml               |   30 +
 test/testdocs/firstterm.001.xml            |   17 +
 test/testdocs/footnote.001.xml             |    6 +-
 test/testdocs/footnote.002.xml             |   17 +-
 test/testdocs/footnote.003.xml             |    6 +-
 test/testdocs/formalpara.001.xml           |    6 +-
 test/testdocs/formalpara.002.xml           |    6 +-
 test/testdocs/formalpara.003.xml           |  115 ++++
 test/testdocs/funcsynopsis.001.xml         |  185 +++++++
 test/testdocs/glossary.001.xml             |   27 +-
 test/testdocs/glossary.002.data.xml        |   28 +
 test/testdocs/glossary.002.xml             |   23 +
 test/testdocs/glossary.003.xml             |   35 ++
 test/testdocs/imagelib.001.xml             |    6 +-
 test/testdocs/imageobjectco.001.xml        |   56 ++
 test/testdocs/index.001.xml                |   47 ++
 test/testdocs/index.002.xml                |   46 ++
 test/testdocs/index.003.xml                |   24 +
 test/testdocs/indexterm.001.xml            |  188 +++++++-
 test/testdocs/indexterm.002.xml            |   11 +-
 test/testdocs/indexterm.003.xml            |   31 ++
 test/testdocs/indexterm.004.xml            |   51 ++
 test/testdocs/indexterm.005.xml            |   32 ++
 test/testdocs/informalequation-mml.001.xml |   12 +-
 test/testdocs/informaltable.001.xml        |   18 +-
 test/testdocs/informaltable.002.xml        |    6 +-
 test/testdocs/informaltable.003.xml        |    6 +-
 test/testdocs/informaltable.004.xml        |    6 +-
 test/testdocs/informaltable.005.xml        |    6 +-
 test/testdocs/informaltable.006.xml        |    6 +-
 test/testdocs/informaltable.007.xml        |    6 +-
 test/testdocs/informaltable.008.xml        |    6 +-
 test/testdocs/informaltable.009.xml        |    6 +-
 test/testdocs/informaltable.010.xml        |    6 +-
 test/testdocs/informaltable.011.xml        |    6 +-
 test/testdocs/informaltable.012.xml        |    6 +-
 test/testdocs/informaltable.013.xml        |    6 +-
 test/testdocs/informaltable.014.xml        |    6 +-
 test/testdocs/informaltable.015.xml        |   39 ++
 test/testdocs/informaltable.016.xml        |   48 ++
 test/testdocs/informaltable.017.xml        |   72 +++
 test/testdocs/informaltable.018.xml        |   36 ++
 test/testdocs/inline.001.xml               |    6 +-
 test/testdocs/inline.002.xml               |   29 +
 test/testdocs/itemizedlist.001.xml         |   36 ++-
 test/testdocs/itemizedlist.002.xml         |    6 +-
 test/testdocs/itemizedlist.003.xml         |   29 +-
 test/testdocs/itemizedlist.004.xml         |   21 +
 test/testdocs/itemizedlist.005.xml         |   27 +
 test/testdocs/itemizedlist.006.xml         |   39 ++
 test/testdocs/legalnotice.001.xml          |   30 +
 test/testdocs/lineannotation.001.xml       |   21 +
 test/testdocs/link.001.xml                 |    6 +-
 test/testdocs/literallayout.001.xml        |    6 +-
 test/testdocs/literallayout.002.xml        |    8 +-
 test/testdocs/literallayout.003.xml        |   12 +-
 test/testdocs/lot.001.xml                  |    6 +-
 test/testdocs/mathml.001.xml               |   17 +-
 test/testdocs/mediaobject.001.xml          |   17 +-
 test/testdocs/mediaobject.002.xml          |   46 ++
 test/testdocs/mediaobjectco.001.xml        |   33 ++
 test/testdocs/mediaobjectco.002.xml        |  212 ++++++++
 test/testdocs/methodsynopsis.001.xml       |    6 +-
 test/testdocs/note.001.xml                 |    6 +-
 test/testdocs/olink.001.xml                |    6 +-
 test/testdocs/orderedlist.001.xml          |    6 +-
 test/testdocs/orderedlist.002.xml          |    6 +-
 test/testdocs/orderedlist.003.xml          |   33 ++
 test/testdocs/part.001.xml                 |   62 +++
 test/testdocs/personname.001.xml           |   16 +
 test/testdocs/procedure.001.xml            |    6 +-
 test/testdocs/procedure.002.xml            |   20 +-
 test/testdocs/procedure.003.xml            |    6 +-
 test/testdocs/productionset.001.xml        |    6 +-
 test/testdocs/productionset.002.xml        |    6 +-
 test/testdocs/productionset.003.xml        |    6 +-
 test/testdocs/productionset.004.xml        |    6 +-
 test/testdocs/productionset.005.xml        |    6 +-
 test/testdocs/productionset.006.xml        |  809 ++++++++++++++++++++++++++++
 test/testdocs/profile.001.xml              |   24 +
 test/testdocs/programlisting.001.xml       |   10 +-
 test/testdocs/programlisting.002.xml       |    8 +-
 test/testdocs/programlisting.003.xml       |    6 +-
 test/testdocs/programlisting.004.xml       |   28 +
 test/testdocs/programlisting.005.xml       |   29 +
 test/testdocs/programlisting.006.xml       |   18 +
 test/testdocs/programlistingco.001.xml     |   20 +-
 test/testdocs/programlistingco.002.xml     |  163 +++++-
 test/testdocs/protocol.001.xml             |   20 +
 test/testdocs/pubsnumber.xml               |   16 +
 test/testdocs/qandaset.001.xml             |    6 +-
 test/testdocs/qandaset.002.xml             |    6 +-
 test/testdocs/qandaset.003.xml             |    6 +-
 test/testdocs/qandaset.004.xml             |   27 +
 test/testdocs/qandaset.005.xml             |   33 ++
 test/testdocs/refentry.001.xml             |    6 +-
 test/testdocs/refentry.002.xml             |   79 +++-
 test/testdocs/refentry.003.xml             |    6 +-
 test/testdocs/refentry.004.xml             |    6 +-
 test/testdocs/refentry.005.xml             |   47 ++
 test/testdocs/refentry.006.xml             |  507 +++++++++++++++++
 test/testdocs/refentry.007.xml             |  340 ++++++++++++
 test/testdocs/refentry.008.xml             |   34 ++
 test/testdocs/refentry.009.xml             |  147 +++++
 test/testdocs/refentry.010.xml             |   29 +
 test/testdocs/reference.001.xml            |    9 +-
 test/testdocs/reference.002.xml            |   94 ++++
 test/testdocs/remark.001.xml               |   22 +
 test/testdocs/remark.002.xml               |   20 +
 test/testdocs/revhistory.001.xml           |   55 ++-
 test/testdocs/screen.001.xml               |    6 +-
 test/testdocs/sect1.001.xml                |    6 +-
 test/testdocs/sect1.002.xml                |    6 +-
 test/testdocs/section.001.xml              |    8 +-
 test/testdocs/section.002.xml              |    6 +-
 test/testdocs/section.003.xml              |    6 +-
 test/testdocs/section.004.xml              |   58 ++
 test/testdocs/section.005.xml              |   92 ++++
 test/testdocs/segmentedlist.001.xml        |    6 +-
 test/testdocs/segmentedlist.002.xml        |    6 +-
 test/testdocs/segmentedlist.003.xml        |   23 +
 test/testdocs/set.001.xml                  |    6 +-
 test/testdocs/sgmltag.xml                  |   30 +
 test/testdocs/sidebar.001.xml              |   48 ++
 test/testdocs/simplelist.001.xml           |   53 ++
 test/testdocs/simplemsgentry.xml           |   25 +
 test/testdocs/simplesect.001.xml           |   41 ++
 test/testdocs/stamp.001.xml                |    6 +-
 test/testdocs/stamp.002.xml                |    6 +-
 test/testdocs/stamp.003.xml                |    6 +-
 test/testdocs/stamp.004.xml                |    6 +-
 test/testdocs/stamp.005.xml                |    6 +-
 test/testdocs/stamp.006.xml                |    6 +-
 test/testdocs/stamp.007.xml                |    6 +-
 test/testdocs/stamp.008.xml                |    6 +-
 test/testdocs/stamp.009.xml                |    6 +-
 test/testdocs/stamp.010.xml                |    6 +-
 test/testdocs/stamp.011.xml                |    6 +-
 test/testdocs/stamp.012.xml                |    6 +-
 test/testdocs/stamp.013.xml                |   88 +++
 test/testdocs/stepalternatives.001.xml     |   46 ++
 test/testdocs/subtitle.001.xml             |   32 ++
 test/testdocs/superscript.001.xml          |   17 +
 test/testdocs/svg-001.xml                  |   11 +
 test/testdocs/svg.001.xml                  |    9 +-
 test/testdocs/svg.002.xml                  |    6 +-
 test/testdocs/table.001.xml                |    6 +-
 test/testdocs/table.002.xml                |    6 +-
 test/testdocs/table.003.xml                |    6 +-
 test/testdocs/table.004.xml                |    6 +-
 test/testdocs/table.005.xml                |    6 +-
 test/testdocs/table.006.xml                |   38 ++-
 test/testdocs/table.007.xml                |   38 ++
 test/testdocs/table.008.xml                |   65 +++
 test/testdocs/table.009.xml                |   97 ++++
 test/testdocs/table.010.xml                |   30 +
 test/testdocs/table.011.xml                |   32 ++
 test/testdocs/table.012.xml                |   50 ++
 test/testdocs/table.013.xml                |   33 ++
 test/testdocs/table.014.xml                |   50 ++
 test/testdocs/table.015.xml                |  127 +++++
 test/testdocs/table.016.xml                |   68 +++
 test/testdocs/table.017.xml                |   56 ++
 test/testdocs/table.018.xml                |   62 +++
 test/testdocs/textobject.001.xml           |   19 +
 test/testdocs/textobject.002.xml           |   19 +
 test/testdocs/title.001.xml                |   32 ++
 test/testdocs/toc.001.xml                  |    7 +-
 test/testdocs/ulink.001.xml                |    6 +-
 test/testdocs/ulink.002.xml                |   21 +
 test/testdocs/variablelist.001.xml         |   25 +-
 test/testdocs/variablelist.002.xml         |    6 +-
 test/testdocs/variablelist.003.xml         |    6 +-
 test/testdocs/variablelist.004.xml         |    6 +-
 test/testdocs/wordsize.001.xml             |   20 +
 test/testdocs/xmlspace.001.xml             |   23 +
 test/testdocs/xref.001.xml                 |   28 +-
 test/testdocs/xref.002.xml                 |   40 ++
 test/testdocs/xref.003.xml                 |   77 +++
 test/testdocs/xref.004.xml                 |  330 +++++++++++
 test/testdocs/xrefstyle.001.xml            |    6 +-
 240 files changed, 8445 insertions(+), 484 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index fb14215..e95fec7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -25,3 +25,4 @@ yelp-xsl.pc
 /sandbox/mallard/html/*.xhtml
 /sandbox/mallard/html/figures/*.png
 /xslt/theme/test-theme.html
+/test/testdocs/html
diff --git a/test/testdocs/README b/test/testdocs/README
index bcb6d89..58acae4 100644
--- a/test/testdocs/README
+++ b/test/testdocs/README
@@ -1,10 +1,15 @@
-These files are from docbook-testdocs 1.1.  If you update the files
-to a newer version of docbook-testdocs, change this file to reflect
-the change.  If you make a change to one of these files, note that
-change in this file so that change can be preserved when upgrading
-to newer versions of docbook-testdocs.
+These files are from DocBook testdocs revision 8591.
 
-These files are not found in docbook-testdocs:
+https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/testdocs/tests
+
+The 5.0 tests are not included.
+
+If you update the files to a newer version of testdocs, change this file to
+reflect the change.  If you make a change to one of these files, note that
+change in this file so that change can be preserved when upgrading to newer
+versions of testdocs.
+
+These files are not found in testdocs:
 classsynopsis.x001.xml
 funcsynopsis.x001.xml
 simplelist.x001.xml
diff --git a/test/testdocs/admonitions.001.xml b/test/testdocs/admonitions.001.xml
index e52d1ba..521cfec 100644
--- a/test/testdocs/admonitions.001.xml
+++ b/test/testdocs/admonitions.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: admonitions.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: admonitions.001.xml 4613 2005-04-20 11:54:35Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
@@ -32,9 +32,29 @@
 <para>This caution has no title.</para>
 </caution>
 
+<tip>
+<title>Tip Title</title>
+<para>This is a tip.</para>
+</tip>
+
 <note>
-<title>Who can do this</title>
-<para>All operators</para>
+<title>Note Title</title>
+<para>This is a note.</para>
 </note>
 
+<important>
+<title>Important Title</title>
+<para>This is an important.</para>
+</important>
+
+<warning>
+<title>Warning Title</title>
+<para>This is a warning.</para>
+</warning>
+
+<caution>
+<title>Caution Title</title>
+<para>This is a caution.</para>
+</caution>
+
 </article>
diff --git a/test/testdocs/article.001.xml b/test/testdocs/article.001.xml
index 305244e..1f8a5bc 100644
--- a/test/testdocs/article.001.xml
+++ b/test/testdocs/article.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article id="article">
 <articleinfo>
 <title>Unit Test: article.001.xml</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: article.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <authorgroup>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
diff --git a/test/testdocs/article.002.xml b/test/testdocs/article.002.xml
index ab4b378..a63c78a 100644
--- a/test/testdocs/article.002.xml
+++ b/test/testdocs/article.002.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article id="article" status="draft">
 <articleinfo>
-<title>Unit Test: article.001.xml</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<title>Unit Test: article.002.xml</title>
+<releaseinfo role="CVS">$Id: article.002.xml 6120 2006-08-03 07:20:20Z xmldoc $</releaseinfo>
 <authorgroup>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
diff --git a/test/testdocs/article.003.xml b/test/testdocs/article.003.xml
new file mode 100644
index 0000000..015fff0
--- /dev/null
+++ b/test/testdocs/article.003.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article id="article">
+<articleinfo>
+<title>Unit Test: article.003.xml</title>
+<releaseinfo role="CVS">$Id: article.003.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<authorgroup>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+<author><firstname>Jane</firstname><surname>Doe</surname></author>
+</authorgroup>
+<abstract>
+<para>This is the abstract.</para>
+<para>It has several paras.</para>
+<para>It has several paras.</para>
+</abstract>
+</articleinfo>
+
+<para>Some preambulatory paragraph.</para>
+
+<section>
+<title>Section One</title>
+
+<para>Some other paragraph.</para>
+
+<section>
+<title>Section One.Two</title>
+
+<para>Some other paragraph.</para>
+
+</section>
+
+<section>
+<title>Section One.Three</title>
+
+<para>Some other paragraph.</para>
+
+</section>
+</section>
+
+<section>
+<title>Section Two</title>
+
+<para>Some other paragraph.</para>
+
+</section>
+
+<appendix>
+<title>Appendix One</title>
+
+<para>Some other paragraph.</para>
+
+<section>
+<title>Section One</title>
+
+<para>Some other paragraph.</para>
+
+<section>
+<title>Section One.Two</title>
+
+<para>Some other paragraph.</para>
+
+</section>
+
+<section>
+<title>Section One.Three</title>
+
+<para>Some other paragraph.</para>
+
+</section>
+</section>
+</appendix>
+
+</article>
diff --git a/test/testdocs/article.004.xml b/test/testdocs/article.004.xml
new file mode 100644
index 0000000..5bc0c79
--- /dev/null
+++ b/test/testdocs/article.004.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article id="article">
+<articleinfo>
+<title>Unit Test: article.004.xml</title>
+<releaseinfo role="CVS">$Id: article.004.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<authorgroup>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+<author><firstname>Jane</firstname><surname>Doe</surname></author>
+</authorgroup>
+<abstract>
+<para>This is the abstract.</para>
+<para>It has several paras.</para>
+<para>It has several paras. One of the paras is long because it contains
+the same sentence repeated many times. One of the paras is long because it contains
+the same sentence repeated many times. One of the paras is long because it contains
+the same sentence repeated many times. One of the paras is long because it contains
+the same sentence repeated many times. One of the paras is long because it contains
+the same sentence repeated many times. One of the paras is long because it contains
+the same sentence repeated many times. One of the paras is long because it contains
+the same sentence repeated many times. One of the paras is long because it contains
+the same sentence repeated many times. One of the paras is long because it contains
+the same sentence repeated many times. </para>
+</abstract>
+<copyright><year>2002</year><holder>No one in particular</holder></copyright>
+<legalnotice>
+<para>This is the legal notice. It says you can do whatever you please with
+this content. It says it many times. It says you can do whatever you please with
+this content. It says you can do whatever you please with
+this content. It says you can do whatever you please with
+this content. It says you can do whatever you please with
+this content. It says you can do whatever you please with
+this content. It says you can do whatever you please with
+this content. It says you can do whatever you please with
+this content. It says you can do whatever you please with
+this content.</para>
+</legalnotice>
+</articleinfo>
+
+<para>This is an article tests.</para>
+
+<ackno>I'd like to thank all the tests that came before me.</ackno>
+
+</article>
diff --git a/test/testdocs/article.005.xml b/test/testdocs/article.005.xml
new file mode 100644
index 0000000..085dedb
--- /dev/null
+++ b/test/testdocs/article.005.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article id="article.005">
+<articleinfo>
+<title>Unit Test: article.005.xml</title>
+<subtitle>The Subtitle</subtitle>
+<releaseinfo role="CVS">$Id: article.005.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Adam</firstname><surname>Di Carlo</surname>
+        <affiliation><address><email>aph debian org</email></address></affiliation>
+</author>
+</articleinfo>
+  <para>
+Testing article subtitle, TOC title and sect1info.</para>
+
+  <sect1>
+    <title>Sect1</title>
+    <para>
+Some text.  Some text.  Some text.  Some text.  Some text.  Some text.
+Some text.  Some text.  Some text.  Some text.  Some text.  Some text.
+Some text.  Some text.  Some text.  Some text.  Some text.  Some text.
+Some text.  Some text.  Some text.  Some text.  Some text.  Some text.
+</para>
+
+    <sect2>
+      <title>Sect2</title>
+      <para>
+Some text.  Some text.  Some text.  Some text.  Some text.  Some text.
+Some text.  Some text.  Some text.  Some text.  Some text.  Some text.
+Some text.  Some text.  Some text.  Some text.  Some text.  Some text.
+</para>
+    </sect2>
+  </sect1>
+
+  <sect1>
+    <title>Second Sect1</title>
+    <titleabbrev>SecondAbbrev</titleabbrev>
+    <para>
+The <sgmltag>titleabbrev</sgmltag> is set to
+<literal>SecondAbbrev</literal>.  Ensure it's using the abbreviated
+title in the TOC.</para>
+    <para>
+Foo bar foo bar.  Foo bar foo bar.  Foo bar foo bar.  Foo bar foo bar.
+Foo bar foo bar.  Foo bar foo bar.  Foo bar foo bar.  Foo bar foo bar.
+Foo bar foo bar.  Foo bar foo bar.
+</para>
+  </sect1>
+
+  <sect1>
+    <sect1info>
+      <titleabbrev>Sect1Info</titleabbrev>
+    </sect1info>
+    <title>Using Sect1Info</title>
+    <para>
+The <sgmltag>titleabbrev</sgmltag> is set to
+<literal>Second1Info</literal>.  Ensure it's using the abbreviated
+title in the TOC.</para>
+    <para>
+Foo bar foo bar.  Foo bar foo bar.  Foo bar foo bar.  Foo bar foo bar.
+Foo bar foo bar.  Foo bar foo bar.  Foo bar foo bar.  Foo bar foo bar.
+Foo bar foo bar.  Foo bar foo bar.
+</para>
+  </sect1>
+</article>
diff --git a/test/testdocs/article.006.xml b/test/testdocs/article.006.xml
new file mode 100644
index 0000000..923e486
--- /dev/null
+++ b/test/testdocs/article.006.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article id="article.006">
+<articleinfo>
+<title>Unit Test: article.006.xml</title>
+<subtitle>The Subtitle</subtitle>
+<releaseinfo role="CVS">$Id: article.006.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Adam</firstname><surname>Di Carlo</surname>
+        <affiliation><address><email>aph debian org</email></address></affiliation>
+</author>
+</articleinfo>
+
+  <para>
+Testing artheader (old Docbook 3.1), article subtitle, TOC title and sect1info.</para>
+
+  <sect1>
+    <title>Sect1</title>
+    <para>
+Some text.  Some text.  Some text.  Some text.  Some text.  Some text.
+Some text.  Some text.  Some text.  Some text.  Some text.  Some text.
+Some text.  Some text.  Some text.  Some text.  Some text.  Some text.
+Some text.  Some text.  Some text.  Some text.  Some text.  Some text.
+</para>
+
+    <sect2>
+      <title>Sect2</title>
+      <para>
+Some text.  Some text.  Some text.  Some text.  Some text.  Some text.
+Some text.  Some text.  Some text.  Some text.  Some text.  Some text.
+Some text.  Some text.  Some text.  Some text.  Some text.  Some text.
+</para>
+    </sect2>
+  </sect1>
+
+  <sect1>
+    <title>Second Sect1</title>
+    <titleabbrev>SecondAbbrev</titleabbrev>
+    <para>
+The <sgmltag>titleabbrev</sgmltag> is set to
+<literal>SecondAbbrev</literal>.  Ensure it's using the abbreviated
+title in the TOC.</para>
+    <para>
+Foo bar foo bar.  Foo bar foo bar.  Foo bar foo bar.  Foo bar foo bar.
+Foo bar foo bar.  Foo bar foo bar.  Foo bar foo bar.  Foo bar foo bar.
+Foo bar foo bar.  Foo bar foo bar.
+</para>
+  </sect1>
+
+  <sect1>
+    <sect1info>
+      <titleabbrev>Sect1Info</titleabbrev>
+    </sect1info>
+    <title>Using Sect1Info</title>
+    <para>
+The <sgmltag>titleabbrev</sgmltag> is set to
+<literal>Second1Info</literal>.  Ensure it's using the abbreviated
+title in the TOC.</para>
+    <para>
+Foo bar foo bar.  Foo bar foo bar.  Foo bar foo bar.  Foo bar foo bar.
+Foo bar foo bar.  Foo bar foo bar.  Foo bar foo bar.  Foo bar foo bar.
+Foo bar foo bar.  Foo bar foo bar.
+</para>
+  </sect1>
+</article>
+
+
+
diff --git a/test/testdocs/author.001.xml b/test/testdocs/author.001.xml
new file mode 100644
index 0000000..e319430
--- /dev/null
+++ b/test/testdocs/author.001.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<book id="book">
+<bookinfo>
+<title>Unit Test: author.001</title>
+<releaseinfo role="CVS">$Id: author.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<authorgroup>
+<corpauthor>SomeCorp</corpauthor>
+<author role="first-last">
+  <honorific>Mr</honorific>
+  <firstname>FirstFirstlast</firstname>
+  <othername>Middlename</othername>
+  <surname>Surname</surname>
+  <lineage>Jr</lineage>
+</author>
+<author role="last-first">
+  <honorific>Mr</honorific>
+  <firstname>FirstLastfirst</firstname>
+  <othername>Middlename</othername>
+  <surname>Surname</surname>
+  <lineage>Jr</lineage>
+</author>
+<author role="family-given">
+  <honorific>Mr</honorific>
+  <firstname>FirstFamilygiven</firstname>
+  <othername>Middlename</othername>
+  <surname>Surname</surname>
+  <lineage>Jr</lineage>
+</author>
+</authorgroup>
+</bookinfo>
+
+<chapter>
+<title>Chapter Title</title>
+
+<para>Content statisfies a book.</para>
+</chapter>
+
+</book>
diff --git a/test/testdocs/author.002.xml b/test/testdocs/author.002.xml
new file mode 100644
index 0000000..88e7832
--- /dev/null
+++ b/test/testdocs/author.002.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<book id="book">
+<bookinfo>
+<title>Unit Test: author.002</title>
+<releaseinfo role="CVS">$Id: author.002.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+</bookinfo>
+
+<chapter>
+<title>Chapter Title</title>
+
+<simplelist>
+<member>
+<author id="a1" role="first-last">
+  <honorific>Mr</honorific>
+  <firstname>FirstFirstlast</firstname>
+  <othername>Middlename</othername>
+  <surname>Surname</surname>
+  <lineage>Jr</lineage>
+</author>
+</member>
+<member id="m2">
+<author role="last-first">
+  <honorific>Mr</honorific>
+  <firstname>FirstLastfirst</firstname>
+  <othername>Middlename</othername>
+  <surname>Surname</surname>
+  <lineage>Jr</lineage>
+</author>
+</member>
+<member>
+<author role="family-given">
+  <honorific>Mr</honorific>
+  <firstname>FirstFamilygiven</firstname>
+  <othername>Middlename</othername>
+  <surname>Surname</surname>
+  <lineage>Jr</lineage>
+</author>
+</member>
+</simplelist>
+
+<para>See <link linkend="a1">first author</link> or
+<link linkend="m2">second member</link>.</para>
+
+</chapter>
+
+</book>
diff --git a/test/testdocs/bibliography.001.xml b/test/testdocs/bibliography.001.xml
index dd235e1..6b3668a 100644
--- a/test/testdocs/bibliography.001.xml
+++ b/test/testdocs/bibliography.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE bibliography PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                       "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE bibliography PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <bibliography>
 <bibliographyinfo>
 <title>Unit Test: bibliography.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: bibliography.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
@@ -190,4 +190,3 @@ PrintHistory, printhistory, printhistory. PrintHistory, printhistory.
 </bibliomixed>
 
 </bibliography>
-
diff --git a/test/testdocs/bibliography.002.xml b/test/testdocs/bibliography.002.xml
index cd55e4e..4387eea 100644
--- a/test/testdocs/bibliography.002.xml
+++ b/test/testdocs/bibliography.002.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE bibliography PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                       "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE bibliography PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <bibliography>
 <bibliographyinfo>
 <title>Unit Test: bibliography.002</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: bibliography.002.xml 5266 2005-10-12 23:49:28Z xmldoc $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
@@ -29,7 +29,7 @@
   <editor><firstname>James T.</firstname><surname>DeWolf</surname></editor>
 </biblioentry>
 
-<biblioentry id="Walsh97">
+<biblioentry id="Walsh97-2">
   <abbrev>Walsh97</abbrev>
   <biblioset relation="article">
     <title>A Guide to XML</title>
@@ -164,7 +164,7 @@ PrintHistory, printhistory, printhistory. PrintHistory, printhistory.
 </bibliodiv>
 <bibliodiv><title>Entries using bibliomixed</title>
 
-<bibliomixed id="Walsh96">
+<bibliomixed id="Walsh96-2">
   <bibliomset relation="article">
     <surname>Walsh</surname>, <firstname>Norman</firstname>.
     <title role="article">Introduction to Cascading Style Sheets</title>.
diff --git a/test/testdocs/bibliography.003.xml b/test/testdocs/bibliography.003.xml
new file mode 100644
index 0000000..f423370
--- /dev/null
+++ b/test/testdocs/bibliography.003.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE bibliography PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<bibliography>
+<bibliographyinfo>
+<title>Unit Test: bibliography.003</title>
+<releaseinfo role="CVS">$Id: bibliography.003.xml 5266 2005-10-12 23:49:28Z xmldoc $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</bibliographyinfo>
+
+<para>This unit test is for the <parameter>bibliography.collection</parameter>
+parameter.</para>
+
+<biblioentry>
+  <abbrev>AhoSethiUllman96</abbrev>
+  <authorgroup>
+    <author><firstname>Alfred V.</firstname><surname>Aho</surname></author>  
+    <author><firstname>Ravi</firstname><surname>Sethi</surname></author>
+    <author><firstname>Jeffrey D.</firstname><surname>Ullman</surname></author>
+  </authorgroup>
+  <title>Compilers, Principles, Techniques, and Tools</title>    
+  <publisher>
+    <publishername>Addison-Wesley Publishing Company</publishername>
+  </publisher>
+  <copyright><year>1996</year>
+             <holder>Bell Telephone Laboratories, Inc.</holder></copyright>
+  <isbn>0-201-10088-6</isbn>    
+  <editor><firstname>James T.</firstname><surname>DeWolf</surname></editor>
+</biblioentry>
+
+<bibliomixed id="Walsh96-3">
+  <bibliomset relation="article">
+    <surname>Walsh</surname>, <firstname>Norman</firstname>.
+    <title role="article">Introduction to Cascading Style Sheets</title>.
+  </bibliomset>
+  <bibliomset relation="journal">
+    <title>The World Wide Web Journal</title>.
+    <volumenum>2</volumenum>(<issuenum>1</issuenum>).
+    <publishername>O'Reilly &amp; Associates, Inc.</publishername> and
+    <corpname>The World Wide Web Consortium</corpname>.
+    <pubdate>Winter, 1996</pubdate></bibliomset>.
+</bibliomixed>
+
+<bibliomixed id="xml11"/>
+<bibliomixed id="bib.docbook43"/>
+
+</bibliography>
diff --git a/test/testdocs/bibliography.004.xml b/test/testdocs/bibliography.004.xml
new file mode 100644
index 0000000..1e9adf9
--- /dev/null
+++ b/test/testdocs/bibliography.004.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE bibliography PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<bibliography>
+<bibliographyinfo>
+<title>Unit Test: bibliography.004</title>
+<releaseinfo role="CVS">$Id: bibliography.004.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+</bibliographyinfo>
+
+ <bibliodiv><title>Normative References</title>
+
+ <biblioentry id="xml">
+   <abbrev>XML 1.0</abbrev>
+   <editor>
+      <firstname>Tim</firstname>
+      <surname>Bray</surname>
+   </editor>
+   <title>Extensible Markup Language (XML) 1.0</title>
+   <edition>2nd ed</edition>
+   <releaseinfo>W3C Recommendation</releaseinfo>
+   <date>6 October 2000</date>
+   <copyright>
+     <year>2000</year>
+     <holder>World Wide Web Consortium</holder>
+   </copyright>
+   <biblioid class="uri">
+     <ulink url="http://www.w3.org/TR/2000/REC-xml-20001006/"/>
+   </biblioid>
+ </biblioentry>
+
+</bibliodiv>
+
+<bibliodiv><title>Articles</title>
+
+ <biblioentry id="flynn-xml-faq">
+   <abbrev>Fl01</abbrev>
+   <author>
+     <firstname>Peter</firstname>
+     <surname>Flynn</surname>
+   </author>
+   <title>The XML FAQ</title>
+   <edition>2.1</edition>
+   <date>1 January 2002</date>
+   <biblioid class="uri">
+     <ulink url="http://www.ucc.ie/xml/faq.html"/>
+   </biblioid>
+ </biblioentry>
+
+</bibliodiv>
+
+</bibliography>
diff --git a/test/testdocs/bibliography.005.xml b/test/testdocs/bibliography.005.xml
new file mode 100644
index 0000000..31afe97
--- /dev/null
+++ b/test/testdocs/bibliography.005.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<chapter>
+<chapterinfo>
+<releaseinfo role="CVS">$Id: bibliography.005.xml 5266 2005-10-12 23:49:28Z xmldoc $</releaseinfo>
+</chapterinfo>
+<title>Unit Test: bibliography.005</title>
+
+<para>This test case is for a bibliography in a section.</para>
+
+<section>
+<title>A Section Title</title>
+
+<para>Some content <acronym>here</acronym>.</para>
+
+<bibliography>
+  <title>Bibliography in a Section</title>
+ <biblioentry id="xml-1">
+   <abbrev>XML 1.0</abbrev>
+   <editor>
+      <firstname>Tim</firstname>
+      <surname>Bray</surname>
+   </editor>
+   <title>Extensible Markup Language (XML) 1.0</title>
+   <edition>2nd ed</edition>
+   <releaseinfo>W3C Recommendation</releaseinfo>
+   <date>6 October 2000</date>
+   <copyright>
+     <year>2000</year>
+     <holder>World Wide Web Consortium</holder>
+   </copyright>
+   <biblioid class="uri">
+     <ulink url="http://www.w3.org/TR/2000/REC-xml-20001006/"/>
+   </biblioid>
+ </biblioentry>
+</bibliography>
+</section>
+
+<section>
+<title>Another Section Title</title>
+
+<para>Some content</para>
+
+<section>
+<title>A Subsection Title</title>
+
+<para>Some content</para>
+
+<bibliography>
+  <title>Bibliography in a Subsection</title>
+ <biblioentry id="xml11-1">
+   <abbrev>XML 1.1</abbrev>
+   <editor>
+      <firstname>Tim</firstname>
+      <surname>Bray</surname>
+   </editor>
+   <title>Extensible Markup Language (XML) 1.1</title>
+   <releaseinfo>W3C Recommendation</releaseinfo>
+   <date>04 February 2004</date>
+   <copyright>
+     <year>2004</year>
+     <holder>World Wide Web Consortium</holder>
+   </copyright>
+   <biblioid class="uri">
+     <ulink url="http://www.w3.org/TR/xml11/"/>
+   </biblioid>
+ </biblioentry>
+</bibliography>
+</section>
+</section>
+
+<bibliography>
+  <title>Bibliography in a Chapter</title>
+ <biblioentry id="flynn-xml-faq-1">
+   <abbrev>Fl01</abbrev>
+   <author>
+     <firstname>Peter</firstname>
+     <surname>Flynn</surname>
+   </author>
+   <title>The XML FAQ</title>
+   <edition>2.1</edition>
+   <date>1 January 2002</date>
+   <biblioid class="uri">
+     <ulink url="http://www.ucc.ie/xml/faq.html"/>
+   </biblioid>
+ </biblioentry>
+</bibliography>
+</chapter>
diff --git a/test/testdocs/bibliolist.001.xml b/test/testdocs/bibliolist.001.xml
new file mode 100644
index 0000000..c3ac25f
--- /dev/null
+++ b/test/testdocs/bibliolist.001.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: bibliolist.001</title>
+<releaseinfo role="CVS"
+>$Id: bibliolist.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>This is a article.</para>
+
+<bibliolist>
+<title>Bibliography List</title>
+
+<biblioentry>
+  <abbrev>AhoSethiUllman96</abbrev>
+  <authorgroup>
+    <author><firstname>Alfred V.</firstname><surname>Aho</surname></author>  
+    <author><firstname>Ravi</firstname><surname>Sethi</surname></author>
+    <author><firstname>Jeffrey D.</firstname><surname>Ullman</surname></author>
+  </authorgroup>
+  <title>Compilers, Principles, Techniques, and Tools</title>    
+  <publisher>
+    <publishername>Addison-Wesley Publishing Company</publishername>
+  </publisher>
+  <copyright><year>1996</year>
+             <holder>Bell Telephone Laboratories, Inc.</holder></copyright>
+  <isbn>0-201-10088-6</isbn>    
+  <editor><firstname>James T.</firstname><surname>DeWolf</surname></editor>
+</biblioentry>
+
+<biblioentry id="Walsh97">
+  <abbrev>Walsh97</abbrev>
+  <biblioset relation="article">
+    <title>A Guide to XML</title>
+    <author><surname>Walsh</surname><firstname>Norman</firstname></author>
+    <pubdate>1997</pubdate>
+    <copyright><year>1997</year><holder>ArborText, Inc.</holder></copyright>
+    <pagenums>97-108</pagenums>
+  </biblioset>
+  <biblioset relation="journal">
+    <title>XML: Principles, Tools, and Techniques</title>
+    <publisher>
+      <publishername>O'Reilly &amp; Associates, Inc.</publishername>
+    </publisher>
+    <issn>1085-2301</issn>
+    <editor><firstname>Dan</firstname><surname>Connolly</surname></editor>
+  </biblioset>
+</biblioentry>
+</bibliolist>
+
+<para>This is another paragraph.</para>
+
+</article>
diff --git a/test/testdocs/blockinfo.001.xml b/test/testdocs/blockinfo.001.xml
new file mode 100644
index 0000000..a644f9c
--- /dev/null
+++ b/test/testdocs/blockinfo.001.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: blockinfo.001</title>
+<releaseinfo role="CVS">$Id: blockinfo.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Adam</firstname><surname>Di Carlo</surname>
+        <affiliation><address><email>adam onshored com</email></address></affiliation>
+</author>
+</articleinfo>
+
+  <example>
+    <blockinfo>
+      <author>
+        <firstname>Adam</firstname>
+        <surname>Di Carlo</surname>
+      </author>
+      <date>14 Dec, 2002</date>
+    </blockinfo>
+    <title>Example Title</title>
+    <para>
+Example of an example.  Blockinfo (author, date) exists but is not
+displayed, right?</para>
+  </example>
+</article>
diff --git a/test/testdocs/blockinfo.002.xml b/test/testdocs/blockinfo.002.xml
new file mode 100644
index 0000000..6e4cdb7
--- /dev/null
+++ b/test/testdocs/blockinfo.002.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: blockinfo.002</title>
+<releaseinfo role="CVS">$Id: blockinfo.002.xml 4613 2005-04-20 11:54:35Z nwalsh $</releaseinfo>
+<author><firstname>Adam</firstname><surname>Di Carlo</surname>
+        <affiliation><address><email>adam onshored com</email></address></affiliation>
+</author>
+</articleinfo>
+
+  <qandaset defaultlabel='number'>
+    <blockinfo>
+      <title>QandASet BlockInfo Title</title>
+      <legalnotice><para>This is a qandaset legal notice</para></legalnotice>
+    </blockinfo>
+    <qandaentry id="qa1">
+      <blockinfo>
+        <legalnotice><para>This is a qandaentry legal notice</para></legalnotice>
+      </blockinfo>
+      <question id="q1"><para>Question one.</para></question>
+      <answer id="a1">
+	<para>Answer one.
+See <xref linkend="faq-Two"/></para>
+      </answer>
+    </qandaentry>
+
+    <qandaentry id="Two">
+      <question id="faq-Two"><para>Question two.</para></question>
+      <answer id="faa-Two">
+	<para>Answer two.</para>
+      </answer>
+    </qandaentry>
+
+    <qandaentry id="Twoc">
+      <question id="faq-Twoc"><para>Question two.</para></question>
+      <answer id="faa-Twoc">
+	<orderedlist>
+	  <listitem><para>testing a list</para></listitem>
+	  <listitem><para>testing a list</para></listitem>
+	  <listitem><para>testing a list</para></listitem>
+	</orderedlist>
+      </answer>
+    </qandaentry>
+
+  </qandaset>
+
+</article>
diff --git a/test/testdocs/blockquote.001.xml b/test/testdocs/blockquote.001.xml
index a4d4ee0..c7cf59c 100644
--- a/test/testdocs/blockquote.001.xml
+++ b/test/testdocs/blockquote.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: blockquote.001.xml</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: blockquote.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <!-- Change this: -->
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
@@ -23,6 +23,13 @@ of our enemies, we should find in in each one's life sorrow and
 suffering enough to disarm all hostility.</para>
 </blockquote>
 
+<blockquote><attribution>H. W. Longfellow</attribution>
+<simpara>If we could read the secret history
+of our enemies, we should find in in each one's life sorrow and
+suffering enough to disarm all hostility. (simpara)</simpara>
+</blockquote>
+
+
 <para>The following block quotation occurs inside a paragraph.
 
 <blockquote>
@@ -32,4 +39,8 @@ things towards making a man's fortune, next to interest and opportunity.</para>
 
 This line of text occurs after the quote, but inside the same para.</para>
 
+<blockquote><title>With A Title</title>
+<para>This block quote has a title.</para>
+</blockquote>
+
 </article>
diff --git a/test/testdocs/book.001.xml b/test/testdocs/book.001.xml
index 6d4f5b9..a97b420 100644
--- a/test/testdocs/book.001.xml
+++ b/test/testdocs/book.001.xml
@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-               "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"; [
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"; [
 <!ENTITY blah "<para>Blah blah blah blah. Blah blah blah blah. Blah blah blah blah.
 </para>">
 ]>
 <book id="book">
 <bookinfo>
 <title>Unit Test: book.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: book.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <authorgroup>
 <corpauthor>SomeCorp</corpauthor>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
@@ -117,13 +117,16 @@ Some abstract. Some abstract. Some abstract. Some abstract.
 </sect1>
 </partintro>
 
-<chapter id="chap1"><title>First Chapter</title>
+<chapter id="chap1">
+<title>First Chapter</title>
+<titleabbrev>F. Chap</titleabbrev>
 
 &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
 &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
 &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
 
 <section id="c1s1"><title>First Section</title>
+<titleabbrev>F. Sect</titleabbrev>
 
 &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
 &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
diff --git a/test/testdocs/book.002.xml b/test/testdocs/book.002.xml
index 6389da9..28fc11b 100644
--- a/test/testdocs/book.002.xml
+++ b/test/testdocs/book.002.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-               "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"; [
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"; [
 <!ENTITY blah "<para>Blah blah blah blah. Blah blah blah blah. Blah blah blah blah.
 Blah blah blah blah blah blah blah blah. Blah blah blah blah.
 Blah. Blah blah blah blah. Blah blah. Blah blah blah blah.
@@ -23,7 +23,7 @@ Blah. Blah blah blah blah. Blah blah. Blah blah blah blah.
 <book>
 <bookinfo>
 <title>Unit Test: book.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: book.002.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/book.003.xml b/test/testdocs/book.003.xml
index fffb642..838fcaf 100644
--- a/test/testdocs/book.003.xml
+++ b/test/testdocs/book.003.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-               "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"; [
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"; [
 <!ENTITY blah "<para>Blah blah blah blah. Blah blah blah blah. Blah blah blah blah.
 Blah blah blah blah blah blah blah blah. Blah blah blah blah.
 Blah. Blah blah blah blah. Blah blah. Blah blah blah blah.
@@ -23,7 +23,7 @@ Blah. Blah blah blah blah. Blah blah. Blah blah blah blah.
 <book id="book">
 <bookinfo>
 <title>Unit Test: book.003</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: book.003.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <authorgroup>
 <corpauthor>SomeCorp</corpauthor>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
@@ -94,11 +94,12 @@ Some abstract. Some abstract. Some abstract. Some abstract.
 </revhistory>
 </bookinfo>
 
-<chapter id="chap1"><title>First Chapter</title>
+<chapter id="chap1">
 <chapterinfo>
 <abstract><para>bla in the first chapter</para>
 </abstract>
 </chapterinfo>
+<title>First Chapter</title>
 
 &blah;
 
@@ -109,8 +110,18 @@ A figure. Just to test the numeration.</programlisting>
 
 <section><title>First Section</title>
 
+<figure id="figduck2"><title>Another Test Figure</title>
+<programlisting>
+A figure. Just to test the numeration.</programlisting>
+</figure>
+
  &blah;
 
+<example id="example"><title>Test Example</title>
+<programlisting>
+An example.</programlisting>
+</example>
+
 <section><title>First Subsection</title>
 
 &blah;
diff --git a/test/testdocs/book.004.xml b/test/testdocs/book.004.xml
new file mode 100644
index 0000000..4544972
--- /dev/null
+++ b/test/testdocs/book.004.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<book id="book">
+<title>Unit Test: book.004</title>
+
+<chapter id="chap1">
+<chapterinfo>
+<abstract><para>bla in the first chapter</para>
+</abstract>
+</chapterinfo>
+<title>First <filename>Filename</filename> Chapter</title>
+
+<para>blah with <filename>filename</filename>.</para>
+
+</chapter>
+
+<chapter id="chap2">
+<title>My Product<emphasis><superscript>plus</superscript></emphasis> description</title>
+
+<para>blah.</para>
+
+</chapter>
+</book>
diff --git a/test/testdocs/book.005.xml b/test/testdocs/book.005.xml
new file mode 100644
index 0000000..915987b
--- /dev/null
+++ b/test/testdocs/book.005.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<book id="book">
+<bookinfo>
+<title>Unit Test: book.005</title>
+</bookinfo>
+
+<dedication><title>Dedication</title>
+<para>Some Dedication</para>
+</dedication>
+
+<preface><title>Preface</title>
+<para>Some Preface</para>
+</preface>
+
+<part><title>First Part</title>
+<partintro>
+<para>Some Part Intro</para>
+</partintro>
+
+<chapter><title>First Chapter</title>
+<para>Some Chapter</para>
+</chapter>
+
+<chapter><title>Second Chapter</title>
+<para>Some Chapter</para>
+</chapter>
+</part>
+
+<part><title>Second Part</title>
+<partintro>
+<para>Some Part Intro</para>
+</partintro>
+
+<chapter><title>Third Chapter</title>
+<para>Some Chapter</para>
+</chapter>
+
+<chapter><title>Fourth Chapter</title>
+<para>Some Chapter</para>
+</chapter>
+</part>
+
+<appendix><title>Appendix</title>
+<para>Some Appendix</para>
+</appendix>
+</book>
diff --git a/test/testdocs/book.006.xml b/test/testdocs/book.006.xml
new file mode 100644
index 0000000..dcd54fc
--- /dev/null
+++ b/test/testdocs/book.006.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"; [
+
+<!ELEMENT xi:include (xi:fallback?) >
+<!ATTLIST xi:include
+    xmlns:xi   CDATA       #FIXED    "http://www.w3.org/2001/XInclude";
+    href       CDATA       #REQUIRED
+    parse      (xml|text)  "xml"
+    encoding   CDATA       #IMPLIED >
+
+<!ELEMENT xi:fallback ANY>
+<!ATTLIST xi:fallback
+    xmlns:xi   CDATA   #FIXED   "http://www.w3.org/2001/XInclude"; >
+
+<!ENTITY % local.chapter.class "| xi:include">
+]>
+<book id="book">
+  <bookinfo>
+    <title>Unit Test: book.001</title>
+    <subtitle>Wrapper for all bibiliography.nnn.xml files</subtitle>
+    <releaseinfo role="CVS">$Id: book.006.xml 5271 2005-10-13 01:13:51Z xmldoc $</releaseinfo>
+    <corpauthor>DocBook Project Development Team</corpauthor>
+  </bookinfo>
+  <xi:include href="bibliography.005.xml"/>
+  <xi:include href="bibliography.001.xml"/>
+  <xi:include href="bibliography.002.xml"/>
+  <xi:include href="bibliography.003.xml"/>
+  <xi:include href="bibliography.004.xml"/>
+</book>
diff --git a/test/testdocs/book.007.xml b/test/testdocs/book.007.xml
new file mode 100644
index 0000000..993573d
--- /dev/null
+++ b/test/testdocs/book.007.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"; [
+
+<!ELEMENT xi:include (xi:fallback?) >
+<!ATTLIST xi:include
+    xmlns:xi   CDATA       #FIXED    "http://www.w3.org/2001/XInclude";
+    href       CDATA       #REQUIRED
+    parse      (xml|text)  "xml"
+    encoding   CDATA       #IMPLIED >
+
+<!ELEMENT xi:fallback ANY>
+<!ATTLIST xi:fallback
+    xmlns:xi   CDATA   #FIXED   "http://www.w3.org/2001/XInclude"; >
+
+<!ENTITY % local.chapter.class "| xi:include">
+]>
+<book id="book">
+  <bookinfo>
+    <title>Unit Test: book.001</title>
+    <subtitle>A Part + several Chapters + a Glossary</subtitle>
+    <releaseinfo role="CVS">$Id: book.007.xml 5268 2005-10-13 00:45:42Z xmldoc $</releaseinfo>
+    <corpauthor>DocBook Project Development Team</corpauthor>
+  </bookinfo>
+  <xi:include href="part.001.xml"/>
+  <xi:include href="chapter.001.xml"/>
+  <xi:include href="chapter.002.xml"/>
+  <xi:include href="epigraph.001.xml"/>
+  <xi:include href="section.004.xml"/>
+  <xi:include href="simplesect.001.xml"/>
+  <xi:include href="xrefstyle.001.xml"/>
+  <xi:include href="glossary.002.data.xml"/>
+</book>
diff --git a/test/testdocs/book.008.xml b/test/testdocs/book.008.xml
new file mode 100644
index 0000000..a088b41
--- /dev/null
+++ b/test/testdocs/book.008.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"; [
+
+<!ELEMENT xi:include (xi:fallback?) >
+<!ATTLIST xi:include
+    xmlns:xi   CDATA       #FIXED    "http://www.w3.org/2001/XInclude";
+    href       CDATA       #REQUIRED
+    parse      (xml|text)  "xml"
+    encoding   CDATA       #IMPLIED >
+
+<!ELEMENT xi:fallback ANY>
+<!ATTLIST xi:fallback
+    xmlns:xi   CDATA   #FIXED   "http://www.w3.org/2001/XInclude"; >
+
+<!ENTITY % local.chapter.class "| xi:include">
+]>
+<book id="book">
+  <bookinfo>
+    <title>Unit Test: book.001</title>
+    <subtitle>Wrapper for some References and Refentries</subtitle>
+    <releaseinfo role="CVS">$Id: book.008.xml 5269 2005-10-13 00:56:08Z xmldoc $</releaseinfo>
+    <corpauthor>DocBook Project Development Team</corpauthor>
+  </bookinfo>
+  <xi:include href="reference.001.xml"/>
+  <xi:include href="reference.002.xml"/>
+
+  <reference>
+    <title>Some Xincluded Refentry instances</title>
+  <xi:include href="refentry.005.xml"/>
+  <xi:include href="refentry.006.xml"/>
+  </reference>
+
+</book>
diff --git a/test/testdocs/bookinfo.001.xml b/test/testdocs/bookinfo.001.xml
index b7be026..e121bd5 100644
--- a/test/testdocs/bookinfo.001.xml
+++ b/test/testdocs/bookinfo.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-               "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <book>
 <bookinfo>
 <title>Unit Test: bookinfo.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: bookinfo.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 
 <abstract>
 <para>Some abstract. Some abstract. Some abstract. Some abstract.
diff --git a/test/testdocs/bridgehead.001.xml b/test/testdocs/bridgehead.001.xml
index e38be06..1994570 100644
--- a/test/testdocs/bridgehead.001.xml
+++ b/test/testdocs/bridgehead.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: bridgehead.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: bridgehead.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
@@ -12,13 +12,15 @@
 
 <para>A test paragraph.</para>
 
+<para>This test para encourages you to see <xref linkend="bh"/>.</para>
+
 <sect1>
   <title>sect1 title</title>
   <subtitle>sect1 subtitle</subtitle>
 
   <para>This is a test paragraph.</para>
 
-  <bridgehead renderas="sect1">This is a sect1 bridgehead</bridgehead>
+  <bridgehead id="bh" renderas="sect1">This is a sect1 bridgehead</bridgehead>
 
   <para>This is a test paragraph.</para>
 
diff --git a/test/testdocs/calloutlist.001.xml b/test/testdocs/calloutlist.001.xml
index 9cbc269..0d66dc5 100644
--- a/test/testdocs/calloutlist.001.xml
+++ b/test/testdocs/calloutlist.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: calloutlist.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: calloutlist.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/calloutlist.002.xml b/test/testdocs/calloutlist.002.xml
new file mode 100644
index 0000000..ab181bc
--- /dev/null
+++ b/test/testdocs/calloutlist.002.xml
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: calloutlist.001</title>
+<subtitle>A screen with 20+ callouts</subtitle>
+<releaseinfo role="CVS">$Id: calloutlist.002.xml 5230 2005-10-07 01:34:14Z xmldoc $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>Callouts using <sgmltag>co</sgmltag>:</para>
+
+<screen>
+(let <co id="dl1"/>loopvar <co id="dl2"/>((count 1))
+  <co id="dl3"/>(if (> count 10)
+    <co id="dl4"/>#t
+    (<co id="dl5"/>loopvar <co id="dl6"/>(+ count 1))))
+
+(let <co id="dl7"/>loopvar <co id="dl8"/>((count 1))
+  <co id="dl9"/>(if (> count 10)
+    <co id="dl10"/>#t
+    (<co id="dl11"/>loopvar <co id="dl12"/>(+ count 1))))
+
+(let <co id="dl13"/>loopvar <co id="dl14"/>((count 1))
+  <co id="dl15"/>(if (> count 10)
+    <co id="dl16"/>#t
+    (<co id="dl17"/>loopvar <co id="dl18"/>(+ count 1))))
+
+(let <co id="dl19"/>loopvar <co id="dl20"/>((count 1))
+  <co id="dl21"/>(if (> count 10)
+    <co id="dl22"/>#t
+    (<co id="dl23"/>loopvar <co id="dl24"/>(+ count 1))))</screen>
+
+<calloutlist>
+<callout arearefs="dl1">
+<para>This variable controls the loop. It is declared without an
+initial value, immediately after the <literal>let</literal>
+operand.</para>
+</callout>
+<callout arearefs="dl2">
+<para>Any number of additional local variables can be defined after
+the loop variable, just as they can in any other
+<literal>let</literal> expression.</para>
+</callout>
+<callout arearefs="dl3">
+<para>If you ever want the loop to end, you have to put some sort of a
+test in it.</para>
+</callout>
+<callout arearefs="dl4">
+<para>This is the value that will be returned.</para>
+</callout>
+<callout arearefs="dl5">
+<para>Note that you iterate the loop by using the loop variable as if
+it was a function name.</para>
+</callout>
+<callout arearefs="dl6">
+<para>The arguments to this function are the values that
+you want the local variables declared in <xref linkend="dl2"/> to have
+in the next iteration.</para>
+</callout>
+<callout arearefs="dl7">
+<para>This variable controls the loop. It is declared without an
+initial value, immediately after the <literal>let</literal>
+operand.</para>
+</callout>
+<callout arearefs="dl8">
+<para>Any number of additional local variables can be defined after
+the loop variable, just as they can in any other
+<literal>let</literal> expression.</para>
+</callout>
+<callout arearefs="dl9">
+<para>If you ever want the loop to end, you have to put some sort of a
+test in it.</para>
+</callout>
+<callout arearefs="dl10">
+<para>This is the value that will be returned.</para>
+</callout>
+<callout arearefs="dl11">
+<para>Note that you iterate the loop by using the loop variable as if
+it was a function name.</para>
+</callout>
+<callout arearefs="dl12">
+<para>The arguments to this function are the values that
+you want the local variables declared in <xref linkend="dl2"/> to have
+in the next iteration.</para>
+</callout>
+<callout arearefs="dl13">
+<para>This variable controls the loop. It is declared without an
+initial value, immediately after the <literal>let</literal>
+operand.</para>
+</callout>
+<callout arearefs="dl14">
+<para>Any number of additional local variables can be defined after
+the loop variable, just as they can in any other
+<literal>let</literal> expression.</para>
+</callout>
+<callout arearefs="dl15">
+<para>If you ever want the loop to end, you have to put some sort of a
+test in it.</para>
+</callout>
+<callout arearefs="dl16">
+<para>This is the value that will be returned.</para>
+</callout>
+<callout arearefs="dl17">
+<para>Note that you iterate the loop by using the loop variable as if
+it was a function name.</para>
+</callout>
+<callout arearefs="dl18">
+<para>The arguments to this function are the values that
+you want the local variables declared in <xref linkend="dl2"/> to have
+in the next iteration.</para>
+</callout>
+<callout arearefs="dl19">
+<para>This variable controls the loop. It is declared without an
+initial value, immediately after the <literal>let</literal>
+operand.</para>
+</callout>
+<callout arearefs="dl20">
+<para>Any number of additional local variables can be defined after
+the loop variable, just as they can in any other
+<literal>let</literal> expression.</para>
+</callout>
+<callout arearefs="dl21">
+<para>If you ever want the loop to end, you have to put some sort of a
+test in it.</para>
+</callout>
+<callout arearefs="dl22">
+<para>This is the value that will be returned.</para>
+</callout>
+<callout arearefs="dl23">
+<para>Note that you iterate the loop by using the loop variable as if
+it was a function name.</para>
+</callout>
+<callout arearefs="dl24">
+<para>The arguments to this function are the values that
+you want the local variables declared in <xref linkend="dl2"/> to have
+in the next iteration.</para>
+</callout>
+</calloutlist>
+
+</article>
diff --git a/test/testdocs/calloutlist.003.xml b/test/testdocs/calloutlist.003.xml
new file mode 100644
index 0000000..f4dd0dc
--- /dev/null
+++ b/test/testdocs/calloutlist.003.xml
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+  <articleinfo>
+    <title>Unit Test: calloutlist.003</title>
+    <releaseinfo role="CVS">$Id: calloutlist.003.xml 7856 2008-03-06 15:31:26Z abdelazer $</releaseinfo>
+    <author>
+      <firstname>Benoit</firstname>
+      <surname>Guillon</surname>
+    </author>
+  </articleinfo>
+  <section>
+    <title>Callouts</title>
+    <section>
+      <title>Embedded <sgmltag>Co</sgmltag>s</title>
+      <programlisting>
+  &lt;refentry&gt;
+    &lt;info&gt;
+      &lt;date&gt;2003-10-20&lt;/date&gt; <co id="V1690_date-co" linkends="V1690_date"/>
+    &lt;/info&gt;
+    &lt;refmeta&gt;
+      &lt;refentrytitle&gt;gtk-options&lt;/refentrytitle&gt; <co id="V1690_title-co" linkends="V1690_title"/>
+      &lt;manvolnum&gt;7&lt;/manvolnum&gt; <co id="V1690_manvolnum-co" linkends="V1690_manvolnum"/>
+      &lt;refmiscinfo class="source-name"&gt;GTK+&lt;/refmiscinfo&gt; <co id="V1690_source-name-co" linkends="V1690_source-name"/>
+      &lt;refmiscinfo class="version"&gt;1.2&lt;/refmiscinfo&gt; <co id="V1690_version-co" linkends="V1690_version"/>
+      &lt;refmiscinfo class="manual"&gt;GTK+ User's Manual&lt;/refmiscinfo&gt; <co id="V1690_manual-co" linkends="V1690_manual"/>
+    &lt;/refmeta&gt;
+    &lt;refnamediv&gt;
+      &lt;refname&gt;gtk-options&lt;/refname&gt;
+      &lt;refpurpose&gt;Standard Command Line Options for GTK+ Programs&lt;/refpurpose&gt;
+    &lt;/refnamediv&gt;
+    &lt;refsect1&gt;
+      &lt;title&gt;Description&lt;/title&gt;
+      &lt;para&gt;This manual page describes the command line options, which
+      are common to all GTK+ based applications.&lt;/para&gt;
+    &lt;/refsect1&gt;
+  &lt;/refentry&gt;
+</programlisting>
+      <calloutlist>
+        <callout arearefs="V1690_date-co" id="V1690_date">
+          <para>Sets the <quote>date</quote> part of the header/footer.</para>
+        </callout>
+        <callout arearefs="V1690_title-co" id="V1690_title">
+          <para>Sets the <quote>title</quote> part.</para>
+        </callout>
+        <callout arearefs="V1690_manvolnum-co" id="V1690_manvolnum">
+          <para>Sets the <quote>section</quote> part.</para>
+        </callout>
+        <callout arearefs="V1690_source-name-co" id="V1690_source-name">
+          <para>Sets the <quote>source name</quote> part.</para>
+        </callout>
+        <callout arearefs="V1690_version-co" id="V1690_version">
+          <para>Sets the <quote>version</quote> part.</para>
+        </callout>
+        <callout arearefs="V1690_manual-co" id="V1690_manual">
+          <para>Sets the <quote>manual</quote> part.</para>
+        </callout>
+      </calloutlist>
+      <para>
+Another <sgmltag>screen</sgmltag> including <sgmltag>coref</sgmltag> too. The
+first <sgmltag>coref</sgmltag> is not valid, the second one is valid. It checks
+also that several items in co/@linkends are correctly handled.
+</para>
+      <screen> Volume in drive C is SYSTEM         Serial number is 2350:717C
+ Directory of  C:\
+
+10/17/97   9:04         &lt;DIR&gt;    bin
+10/16/97  14:11         &lt;DIR&gt;    DOS <co id="dos" linkends=" firstco lastco  "/>
+10/16/97  14:40         &lt;DIR&gt;    Program Files
+10/16/97  14:46         &lt;DIR&gt;    TEMP <coref linkend="unknown"/>
+10/17/97   9:04         &lt;DIR&gt;    tmp <coref linkend="dos"/>
+10/16/97  14:37         &lt;DIR&gt;    WINNT
+10/16/97  14:25             119  AUTOEXEC.BAT <co linkends="startup" id="autoexec.bat"/>
+ 2/13/94   6:21          54,619  COMMAND.COM <co linkends="startup" id="command.com"/>
+10/16/97  14:25             115  CONFIG.SYS <co id="config.sys"/>
+11/16/97  17:17      61,865,984  pagefile.sys
+ 2/13/94   6:21           9,349  WINA20.386 <co id="wina20.386"/></screen>
+      <calloutlist>
+        <callout arearefs="dos" id="firstco">
+          <para>
+  This directory holds <trademark>MS-DOS</trademark>, the
+  operating system that was installed before <trademark>Windows
+  NT</trademark>.
+  </para>
+        </callout>
+        <callout id="startup" arearefs="  autoexec.bat command.com config.sys ">
+          <para>
+  System startup code for DOS.
+  </para>
+        </callout>
+        <callout arearefs="wina20.386" id="lastco">
+          <para>
+  Some sort of <trademark>Windows 3.1</trademark> hack for some 386 processors,
+  as I recall.
+  </para>
+        </callout>
+      </calloutlist>
+    </section>
+    <section>
+      <title>Programlistingco</title>
+      <para>This case checks that spaces are added to reach the expected
+column.</para>
+      <programlistingco>
+        <areaspec>
+          <area id="hermite1" coords="2 55"/>
+          <area id="hermite2" coords="4 55"/>
+        </areaspec>
+        <programlisting>
+This is a line
+This is another line
+This is a third lien
+
+
+...
+</programlisting>
+        <calloutlist>
+          <callout arearefs="hermite1 hermite2">
+            <para>
+here <function>HermiteNormalFormIntegerMat</function>
+is used
+</para>
+          </callout>
+        </calloutlist>
+      </programlistingco>
+      <para>This programlistingco checks that you can put several markups at different
+column positions into the same line, and that several markups with no column
+specification are both put at the end of the line. The special case of a markup at
+the end of the last line is checked too.</para>
+      <programlistingco>
+        <areaspec>
+          <area id="pos10" coords="2 10"/>
+          <area id="pos12" coords="2 12"/>
+          <area id="posend1" coords="2"/>
+          <area id="posend2" coords="2"/>
+          <area id="poslast" coords="8"/>
+        </areaspec>
+        <programlisting>
+This is a line
+This is another line
+This is a third lien
+
+
+...
+The very last line</programlisting>
+        <calloutlist>
+          <callout arearefs="pos10 pos12">
+            <para>
+here <function>HermiteNormalFormIntegerMat</function>
+is used
+</para>
+          </callout>
+        </calloutlist>
+      </programlistingco>
+    </section>
+  </section>
+</article>
diff --git a/test/testdocs/changebars.001.xml b/test/testdocs/changebars.001.xml
new file mode 100644
index 0000000..55b09fa
--- /dev/null
+++ b/test/testdocs/changebars.001.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article id="article">
+<articleinfo>
+<title>Unit Test: changebars.001.xml</title>
+<releaseinfo role="CVS">$Id: changebars.001.xml 5255 2005-10-12 13:45:58Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>This article tests change bars.</para>
+
+<para revisionflag="added">This paragraph was added.</para>
+
+<para revisionflag="deleted">This paragraph was deleted.</para>
+
+<para>This paragraph contains
+<phrase revisionflag="changed">changed</phrase><phrase revisionflag="deleted">,</phrase>
+<phrase revisionflag="added">and </phrase>
+added<phrase revisionflag="deleted">, and deleted</phrase> inlines.</para>
+
+</article>
diff --git a/test/testdocs/chapter.001.xml b/test/testdocs/chapter.001.xml
index 0e5a599..1560765 100644
--- a/test/testdocs/chapter.001.xml
+++ b/test/testdocs/chapter.001.xml
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <chapter id="chapter">
 <chapterinfo>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: chapter.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/chapter.002.xml b/test/testdocs/chapter.002.xml
new file mode 100644
index 0000000..014398b
--- /dev/null
+++ b/test/testdocs/chapter.002.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<chapter id="chapter" lang="fr">
+<chapterinfo>
+<releaseinfo role="CVS">$Id: chapter.002.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</chapterinfo>
+<title>Unit Test: chapter.001.xml</title>
+
+<para>This is a chapter test.</para>
+
+<para>It's self-referential, too: <xref linkend="chapter"/>.</para>
+
+</chapter>
diff --git a/test/testdocs/classsynopsis.001.xml b/test/testdocs/classsynopsis.001.xml
index 9c48d56..94d223f 100644
--- a/test/testdocs/classsynopsis.001.xml
+++ b/test/testdocs/classsynopsis.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: classsynopsis.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: classsynopsis.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/cmdsynopsis.001.xml b/test/testdocs/cmdsynopsis.001.xml
new file mode 100644
index 0000000..cc5135b
--- /dev/null
+++ b/test/testdocs/cmdsynopsis.001.xml
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: cmdsynopsis.001</title>
+<releaseinfo role="CVS">$Id: cmdsynopsis.001.xml 5628 2006-03-09 11:33:44Z xmldoc $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<refentry id="minimal">
+<refnamediv>
+<refname>cccp</refname>
+<refname>zzzzzzp</refname>
+<refpurpose>The C++/ZZZ++ preprocessors</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+<cmdsynopsis>
+  <command>cccp</command>
+  <!-- test for nested bold/italic, bug #1446015 -->
+  <arg choice="plain"><option>--path "<replaceable
+  class="option">PATHS</replaceable>"</option></arg>
+  <arg>-$</arg>
+  <arg>-C</arg>
+  <arg rep='repeat'>-D<replaceable>name</replaceable>
+       <arg>=<replaceable>definition</replaceable></arg></arg>
+  <arg>-dD</arg>
+  <arg>-dM</arg>
+  <sbr/>
+  <arg rep='repeat'>-I <replaceable>directory</replaceable></arg>
+  <arg>-H</arg>
+  <arg>-I-</arg>
+  <arg rep='repeat'>-imacros <replaceable>file</replaceable></arg>
+  <sbr/>
+  <arg rep='repeat'>-include <replaceable>file</replaceable></arg>
+  <group>
+    <synopfragmentref linkend="langs">languages</synopfragmentref>
+  </group>
+  <arg>-lint</arg>
+  <sbr/>
+  <group>
+    <arg>-M</arg>
+    <arg>-MD</arg>
+    <arg>-MM</arg>
+    <arg>-MMD</arg>
+  </group>
+  <arg>-nostdinc</arg>
+  <arg>-P</arg>
+  <arg>-pedantic</arg>
+  <sbr/>
+  <arg>-pedantic-errors</arg>
+  <arg>-trigraphs</arg>
+  <arg>-U<replaceable>name</replaceable></arg>
+  <sbr/>
+  <arg>-undef</arg>
+  <arg choice="plain"><synopfragmentref linkend="warn">warnings
+    </synopfragmentref></arg>
+  <group choice='req'>
+    <arg><replaceable>infile</replaceable></arg>
+    <arg>-</arg>
+  </group>
+  <group choice='req'>
+    <arg><replaceable>outfile</replaceable></arg>
+    <arg>-</arg>
+  </group>
+
+  <synopfragment id="langs">
+    <group choice="plain">
+      <arg>-lang-c</arg>
+      <arg>-lang-c++</arg>
+      <arg>-lang-objc</arg>
+    </group>
+  </synopfragment>
+
+  <synopfragment id="warn">
+    <arg>-Wtrigraphs</arg>
+    <arg>-Wcomment</arg>
+    <arg>-Wall</arg>
+    <arg>-Wtraditional</arg>
+  </synopfragment>
+
+</cmdsynopsis>
+<cmdsynopsis>
+  <command>zzzzzzp</command>
+  <arg>-$</arg>
+  <arg>-C</arg>
+  <arg rep='repeat'>-D<replaceable>name</replaceable>
+       <arg>=<replaceable>definition</replaceable></arg></arg>
+  <arg>-dD</arg>
+  <arg>-dM</arg>
+  <sbr/>
+  <arg rep='repeat'>-I <replaceable>directory</replaceable></arg>
+  <arg>-H</arg>
+  <arg>-I-</arg>
+  <arg rep='repeat'>-imacros <replaceable>file</replaceable></arg>
+  <sbr/>
+  <arg rep='repeat'>-include <replaceable>file</replaceable></arg>
+  <group>
+    <synopfragmentref linkend="langsz">languages</synopfragmentref>
+  </group>
+  <arg>-lint</arg>
+  <sbr/>
+  <group>
+    <arg>-M</arg>
+    <arg>-MD</arg>
+    <arg>-MM</arg>
+    <arg>-MMD</arg>
+  </group>
+  <arg>-nostdinc</arg>
+  <arg>-P</arg>
+  <arg>-pedantic</arg>
+  <sbr/>
+  <arg>-pedantic-errors</arg>
+  <arg>-trigraphs</arg>
+  <arg>-U<replaceable>name</replaceable></arg>
+  <sbr/>
+  <arg>-undef</arg>
+  <arg choice="plain"><synopfragmentref linkend="warnz">warnings
+    </synopfragmentref></arg>
+  <group choice='req'>
+    <arg><replaceable>infile</replaceable></arg>
+    <arg>-</arg>
+  </group>
+  <group choice='req'>
+    <arg><replaceable>outfile</replaceable></arg>
+    <arg>-</arg>
+  </group>
+
+  <synopfragment id="langsz">
+    <group choice="plain">
+      <arg>-lang-zzz</arg>
+      <arg>-lang-zzz++</arg>
+      <arg>-lang-objzzz</arg>
+    </group>
+  </synopfragment>
+
+  <synopfragment id="warnz">
+    <arg>-Wtrigraphs</arg>
+    <arg>-Wcomment</arg>
+    <arg>-Wall</arg>
+    <arg>-Wtraditional</arg>
+  </synopfragment>
+
+</cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+<title>Description</title>
+<para>This is a dummy description.</para>
+</refsect1>
+</refentry>
+
+</article>
diff --git a/test/testdocs/cmdsynopsis.002.xml b/test/testdocs/cmdsynopsis.002.xml
new file mode 100644
index 0000000..59692c1
--- /dev/null
+++ b/test/testdocs/cmdsynopsis.002.xml
@@ -0,0 +1,39 @@
+<?xml version='1.0'?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit test: cmdsynopsis.002</title>
+<releaseinfo role="CVS">$Id: cmdsynopsis.002.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Adam</firstname><surname>Di Carlo</surname>
+        <affiliation><address><email>adam onshored com</email></address></affiliation>
+</author>
+</articleinfo>
+
+  <section>
+    <title>Cmdsynopsis Test</title>
+    
+    <para>Cmdsynopsis test in the context of glossentry follows.</para>
+
+    <glosslist>
+
+      <glossentry>
+        <glossterm>
+          <cmdsynopsis>
+            <command>command</command>
+            <arg choice="req">req</arg>
+            <arg choice="req" rep="repeat">repeatandreq</arg>
+            <arg rep="repeat">repeat</arg>
+            <arg>optional</arg>
+          </cmdsynopsis>
+        </glossterm>
+        <glossdef>
+          <para>Do black magic.</para>
+        </glossdef>
+      </glossentry>
+
+    </glosslist>
+
+  </section>
+
+</article>
diff --git a/test/testdocs/cmdsynopsis.003.xml b/test/testdocs/cmdsynopsis.003.xml
new file mode 100644
index 0000000..0a283aa
--- /dev/null
+++ b/test/testdocs/cmdsynopsis.003.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article id="cmdsynopsis.003">
+<articleinfo>
+<title>Unit Test: cmdsynopsis.003</title>
+<releaseinfo role="CVS">$Id: cmdsynopsis.003.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Adam</firstname><surname>Di Carlo</surname>
+        <affiliation><address><email>adam onshored com</email></address></affiliation>
+</author>
+</articleinfo>
+  <para>
+    Lets refer to <xref linkend="foo"/>.
+  </para>
+  <refentry id="foo">
+    <refnamediv>
+      <refname>testing</refname>
+      <refpurpose>
+        Testing more cmdsynopsis stuff, esp. permutations of grouped
+        arguments.
+      </refpurpose>
+    </refnamediv>
+
+    <refsynopsisdiv>
+      <cmdsynopsis>
+        <command>foo</command>
+
+        <!-- optional -->
+        <group choice="opt">
+          <arg>-foo</arg>
+          <arg>-bar</arg>
+        </group>
+
+        <!-- repeating optional -->
+        <group choice="opt" rep="repeat">
+          <arg>-re</arg>
+          <arg>-peat</arg>
+        </group>
+      </cmdsynopsis>
+    </refsynopsisdiv>
+
+    <refsect1>
+      <title>Description</title>
+      <para>This is a dummy description.</para>
+    </refsect1>
+  </refentry>
+  
+</article>
diff --git a/test/testdocs/co.001.xml b/test/testdocs/co.001.xml
new file mode 100644
index 0000000..76559b1
--- /dev/null
+++ b/test/testdocs/co.001.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: co.001</title>
+<releaseinfo role="CVS">$Id: co.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>John</firstname><surname>Himpel</surname>
+        <affiliation><address><email>jwhimpel users sourceforge net</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>Callouts inside <sgmltag>userinput</sgmltag> elements.</para>
+
+<screen>
+<prompt>$</prompt><userinput>cp a b<co id='cp-co'
+linkends='cp'/></userinput>
+<prompt>$</prompt><userinput>mv a b<co id='mv-co'
+linkends='mv'/></userinput>
+</screen>
+<calloutlist>
+<callout arearefs='cp-co' id='cp'>
+<para>This is a copy.</para>
+</callout>
+<callout arearefs='mv-co' id='mv'>
+<para>This is a move.</para>
+</callout>
+</calloutlist>
+
+</article>
diff --git a/test/testdocs/dir.001.xml b/test/testdocs/dir.001.xml
new file mode 100644
index 0000000..8ddcbeb
--- /dev/null
+++ b/test/testdocs/dir.001.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<chapter id="chapter" dir="ltr">
+<chapterinfo>
+<releaseinfo role="CVS">$Id: dir.001.xml 5600 2006-03-03 08:43:12Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</chapterinfo>
+<title>Unit Test: chapter.001.xml</title>
+
+<para>This is a chapter test.</para>
+
+<para dir="ltr">This is a chapter written in English, a left-to-right
+language. It contains a phrase <phrase dir="rtl">putatively written
+in a right-to-left language</phrase>, though in fact the phrase is
+in English too.</para>
+
+</chapter>
diff --git a/test/testdocs/docbook-43.001.xml b/test/testdocs/docbook-43.001.xml
new file mode 100644
index 0000000..eab7783
--- /dev/null
+++ b/test/testdocs/docbook-43.001.xml
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article id="article">
+<articleinfo>
+<title>Unit Test: docbook-43.001.xml</title>
+<releaseinfo role="CVS">$Id: docbook-43.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<glosslist>
+<title>Glossary List Title</title>
+<glossentry>
+<glossterm>Some Term</glossterm>
+<glossdef>
+<para>Some definition.</para>
+</glossdef>
+</glossentry>
+</glosslist>
+
+<blockquote>
+<blockinfo>
+<title>Block Quote Title</title>
+</blockinfo>
+<attribution>A. Nonymous</attribution>
+<para>Some memorable quotation.</para>
+</blockquote>
+
+<para>The assignment statement <code>x=1</code> is code.</para>
+
+<table>
+<caption>HTML Table caption</caption>
+<tbody>
+<tr>
+  <td>HTML</td>
+  <td>Table</td>
+</tr>
+</tbody>
+</table>
+
+<programlisting linenumbering="numbered">#!/usr/bin/perl -- # --*-Perl-*--
+
+use Getopt::Std;
+
+$usage = "Usage: $0 [-q] [-u|-p|-m] file [ file ... ]\n";
+
+die $usage if ! getopts('qupm');
+
+die $usage if ($opt_p + $opt_u + $opt_m) != 1;
+
+$file = shift @ARGV || die $usage;
+
+$opt = '-u' if $opt_u;
+$opt = '-p' if $opt_p;
+$opt = '-m' if $opt_m;</programlisting>
+
+
+<task>
+<title>A Task</title>
+<tasksummary>
+<para>This task doesnâ??t accomplish anything.</para>
+</tasksummary>
+<taskprerequisites>
+<para>Do something else first.</para>
+</taskprerequisites>
+<procedure>
+<step><para>Do This</para></step>
+<step><para>Do That</para></step>
+<step><para>Do one of these things:</para>
+<stepalternatives>
+<step><para>Do A</para></step>
+<step><para>Do B</para></step>
+<step><para>Do C</para></step>
+</stepalternatives>
+</step>
+<step><para>Do the other thing</para></step>
+</procedure>
+<taskrelated>
+<para>See some more interesting task after youâ??ve done this one.</para>
+</taskrelated>
+</task>
+
+<para>An <orgname>Organization Name</orgname> can now occur inline.</para>
+
+<para>The URI <uri>http://norman.walsh.name</uri> should really be a ulink.</para>
+
+<programlisting continuation="continues" linenumbering="numbered">while ($file) {
+    print "Converting $file to $opt linebreaks.\n" if !$opt_q;
+    open (F, "$file");
+    binmode F;
+    read (F, $_, -s $file);
+    close (F);
+    
+    s/\r\n/\n/sg;
+    s/\r/\n/sg;
+    
+    if ($opt eq '-p') {
+	s/\n/\r\n/sg;
+    } elsif ($opt eq '-m') {
+	s/\n/\r/sg;
+    }
+    
+    open (F, ">$file");
+    binmode F;
+    print F $_;
+    close (F);
+    
+    $file = shift @ARGV;
+}</programlisting>
+
+
+</article>
diff --git a/test/testdocs/draft.001.xml b/test/testdocs/draft.001.xml
index 65502be..e20d936 100644
--- a/test/testdocs/draft.001.xml
+++ b/test/testdocs/draft.001.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-               "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"; [
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"; [
 <!ENTITY blah "<para>Blah blah blah blah. Blah blah blah blah. Blah blah blah blah.
 Blah blah blah blah blah blah blah blah. Blah blah blah blah.
 Blah. Blah blah blah blah. Blah blah. Blah blah blah blah.
@@ -23,7 +23,7 @@ Blah. Blah blah blah blah. Blah blah. Blah blah blah blah.
 <book status="draft">
 <bookinfo>
 <title>Unit Test: draft.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: draft.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/emphasis.001.xml b/test/testdocs/emphasis.001.xml
index cd1c2dd..3939e45 100644
--- a/test/testdocs/emphasis.001.xml
+++ b/test/testdocs/emphasis.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: emphasis.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: emphasis.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/epigraph.001.xml b/test/testdocs/epigraph.001.xml
index b6bc441..6df84fe 100644
--- a/test/testdocs/epigraph.001.xml
+++ b/test/testdocs/epigraph.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <chapter>
 <chapterinfo>
 <title>Unit Test: epigraph.001.xml</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: article.001.xml,v 1.2 2002/04/18 22:15:39 nwalsh Exp $</releaseinfo>
 <authorgroup>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
@@ -12,7 +12,7 @@
 <author><firstname>Jane</firstname><surname>Doe</surname></author>
 </authorgroup>
 </chapterinfo>
-<title>Unit Test: epigraph.001.xml</title>
+<title>Unit Test: article.001.xml</title>
 <epigraph><attribution>H. W. Longfellow</attribution>
 <para>If we could read the secret history
 of our enemies, we should find in in each one's life sorrow and
diff --git a/test/testdocs/equation.001.xml b/test/testdocs/equation.001.xml
index 32cdfc4..4ce8d70 100644
--- a/test/testdocs/equation.001.xml
+++ b/test/testdocs/equation.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: equation.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: equation.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/equation.002.xml b/test/testdocs/equation.002.xml
index 677ca36..35e985c 100644
--- a/test/testdocs/equation.002.xml
+++ b/test/testdocs/equation.002.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: equation.002</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: equation.002.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/equation.003.xml b/test/testdocs/equation.003.xml
index ba26bf5..e09b87c 100644
--- a/test/testdocs/equation.003.xml
+++ b/test/testdocs/equation.003.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: equation.003</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: equation.003.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/equation.004.xml b/test/testdocs/equation.004.xml
new file mode 100644
index 0000000..a86fb34
--- /dev/null
+++ b/test/testdocs/equation.004.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<book id="book">
+<bookinfo>
+<title>Unit Test: equation.004</title>
+<releaseinfo role="CVS">$Id: equation.004.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</bookinfo>
+
+<chapter>
+<title>Equations</title>
+
+<para>blah blah blah.</para>
+
+<equation><title>First Equation</title>
+<mediaobject>
+<imageobject>
+<imagedata fileref="emc2.png"/>
+</imageobject>
+<textobject>
+<phrase>e=mc^2</phrase>
+</textobject>
+</mediaobject>
+</equation>
+
+<para>blah blah blah.</para>
+
+<equation><!-- equation with no title: don't do this; use informalequation -->
+<mediaobject>
+<imageobject>
+<imagedata fileref="emc2.png"/>
+</imageobject>
+<textobject>
+<phrase>e=mc^2</phrase>
+</textobject>
+</mediaobject>
+</equation>
+
+<para>blah blah blah.</para>
+
+<equation id="eq2"><title>Second Equation</title>
+<mediaobject>
+<imageobject>
+<imagedata fileref="emc2.png"/>
+</imageobject>
+<textobject>
+<phrase>e=mc^2</phrase>
+</textobject>
+</mediaobject>
+</equation>
+
+<figure id="fig1"><title>A Figure</title>
+<mediaobject>
+<imageobject>
+<imagedata fileref="emc2.png"/>
+</imageobject>
+<textobject>
+<phrase>e=mc^2</phrase>
+</textobject>
+</mediaobject>
+</figure>
+
+</chapter>
+
+</book>
diff --git a/test/testdocs/example.001.xml b/test/testdocs/example.001.xml
index 20342cf..4af16d6 100644
--- a/test/testdocs/example.001.xml
+++ b/test/testdocs/example.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: example.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: example.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/extensions.001.xml b/test/testdocs/extensions.001.xml
index 2cccf3e..7dad550 100644
--- a/test/testdocs/extensions.001.xml
+++ b/test/testdocs/extensions.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: extensions.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: extensions.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/extensions.002.xml b/test/testdocs/extensions.002.xml
index 8ffe0ac..3484fa2 100644
--- a/test/testdocs/extensions.002.xml
+++ b/test/testdocs/extensions.002.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: extensions.002</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: extensions.002.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/extensions.003.xml b/test/testdocs/extensions.003.xml
index 804b58d..e97d7fa 100644
--- a/test/testdocs/extensions.003.xml
+++ b/test/testdocs/extensions.003.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: extensions.003</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: extensions.003.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/extensions.004.xml b/test/testdocs/extensions.004.xml
index 1ad23d2..e3df380 100644
--- a/test/testdocs/extensions.004.xml
+++ b/test/testdocs/extensions.004.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: extensions.004</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: extensions.004.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/figure.001.xml b/test/testdocs/figure.001.xml
index 0660705..a12f5f5 100644
--- a/test/testdocs/figure.001.xml
+++ b/test/testdocs/figure.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: figure.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: figure.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
@@ -16,15 +16,15 @@
     <imageobject>
       <imagedata
         align="center"
-        fileref="graphics/duck-small.bmp"
-        format="BMP"
+        fileref="graphics/duck-small.eps"
+        format="EPS"
         srccredit="O'Reilly &amp; Associates/Dover Archives"/>
     </imageobject>
     <imageobject>
       <imagedata
         align="center"
-        fileref="graphics/duck-small.eps"
-        format="EPS"
+        fileref="graphics/duck-small.png"
+        format="PNG"
         srccredit="O'Reilly &amp; Associates/Dover Archives"/>
     </imageobject>
     <imageobject>
@@ -37,8 +37,8 @@
     <imageobject>
       <imagedata
         align="center"
-        fileref="graphics/duck-small.png"
-        format="PNG"
+        fileref="graphics/duck-small.bmp"
+        format="BMP"
         srccredit="O'Reilly &amp; Associates/Dover Archives"/>
     </imageobject>
     <textobject><phrase>The DocBook: TDG Duck</phrase></textobject>
diff --git a/test/testdocs/figure.002.xml b/test/testdocs/figure.002.xml
new file mode 100644
index 0000000..3ea2150
--- /dev/null
+++ b/test/testdocs/figure.002.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: figure.002</title>
+<releaseinfo role="CVS">$Id: figure.002.xml 5256 2005-10-12 13:47:16Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>This paragraph precedes the first figure. The following figure has
+float="1".</para>
+
+<figure id="figduck1" float="1">
+  <title>The Duck</title>
+  <mediaobject>
+    <imageobject>
+      <imagedata
+        align="center"
+        fileref="graphics/duck-small.png"
+        format="PNG"
+        srccredit="O'Reilly &amp; Associates/Dover Archives"/>
+    </imageobject>
+    <textobject><phrase>The DocBook: TDG Duck</phrase></textobject>
+  </mediaobject>
+</figure>
+
+<para>This paragraph is between the figures. The following figure has
+float="right".</para>
+
+<figure id="figduck2" float="right">
+  <title>The Duck</title>
+  <mediaobject>
+    <imageobject>
+      <imagedata
+        align="center"
+        fileref="graphics/duck-small.png"
+        format="PNG"
+        srccredit="O'Reilly &amp; Associates/Dover Archives"/>
+    </imageobject>
+    <textobject><phrase>The DocBook: TDG Duck</phrase></textobject>
+  </mediaobject>
+</figure>
+
+<para>This paragraph follows the figures.</para>
+
+</article>
diff --git a/test/testdocs/figure.003.xml b/test/testdocs/figure.003.xml
new file mode 100644
index 0000000..6dcd260
--- /dev/null
+++ b/test/testdocs/figure.003.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"; [
+<!ATTLIST xref
+  xrefstyle CDATA #IMPLIED
+>
+]>
+<article>
+<articleinfo>
+<title>Unit Test: figure.003</title>
+<releaseinfo role="CVS">$Id: figure.003.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>Cross reference to the figure: <xref linkend="figduck" xrefstyle="title"/>.</para>
+
+<figure id="figduck">
+  <title>The Wood Duck as seen on the Cover of DocBook: The Definitive Guide</title>
+  <titleabbrev>The Duck</titleabbrev>
+  <mediaobject>
+    <imageobject>
+      <imagedata
+        align="center"
+        fileref="graphics/duck-small.eps"
+        format="EPS"
+        srccredit="O'Reilly &amp; Associates/Dover Archives"/>
+    </imageobject>
+    <imageobject>
+      <imagedata
+        align="center"
+        fileref="graphics/duck-small.png"
+        format="PNG"
+        srccredit="O'Reilly &amp; Associates/Dover Archives"/>
+    </imageobject>
+    <textobject><phrase>The DocBook: TDG Duck</phrase></textobject>
+  </mediaobject>
+</figure>
+
+</article>
diff --git a/test/testdocs/figure.004.xml b/test/testdocs/figure.004.xml
new file mode 100644
index 0000000..d14cd95
--- /dev/null
+++ b/test/testdocs/figure.004.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: figure.004</title>
+<releaseinfo role="CVS">$Id: figure.004.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>A centered figure.</para>
+
+<figure id="figduck">
+  <title>The Duck</title>
+  <mediaobject>
+    <imageobject>
+      <imagedata
+        align="center"
+        fileref="graphics/duck-small.png"
+        format="PNG"
+        srccredit="O'Reilly &amp; Associates/Dover Archives"/>
+    </imageobject>
+    <textobject><phrase>The DocBook: TDG Duck</phrase></textobject>
+  </mediaobject>
+</figure>
+
+<para>A centered screenshot.</para>
+
+<figure id="figduckscreen">
+  <title>The Duck Screenshot (looks the same)</title>
+  <screenshot>
+    <mediaobject>
+      <imageobject>
+        <imagedata
+          align="center"
+          fileref="graphics/duck-small.png"
+          format="PNG"
+          srccredit="O'Reilly &amp; Associates/Dover Archives"/>
+      </imageobject>
+      <textobject><phrase>The DocBook: TDG Duck</phrase></textobject>
+    </mediaobject>
+  </screenshot>
+</figure>
+
+</article>
diff --git a/test/testdocs/figure.005.xml b/test/testdocs/figure.005.xml
new file mode 100644
index 0000000..4c43d3a
--- /dev/null
+++ b/test/testdocs/figure.005.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: figure.005</title>
+<releaseinfo role="CVS">$Id: figure.005.xml 4613 2005-04-20 11:54:35Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<figure id="figduck">
+  <title>The Duck</title>
+  <mediaobject>
+    <imageobject>
+      <imagedata
+        align="center"
+        fileref="graphics/duck.png"
+        srccredit="O'Reilly &amp; Associates/Dover Archives"/>
+    </imageobject>
+    <textobject><phrase>The DocBook: TDG Duck</phrase></textobject>
+    <textobject><para>A woodcut from the Dover Archives, this wood
+duck is used as the â??animalâ?? for <citetitle>DocBook: The Definitive
+Guide</citetitle>.</para>
+    </textobject>
+  </mediaobject>
+</figure>
+
+</article>
diff --git a/test/testdocs/firstterm.001.xml b/test/testdocs/firstterm.001.xml
new file mode 100644
index 0000000..a2fb2c6
--- /dev/null
+++ b/test/testdocs/firstterm.001.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: firstterm.001</title>
+<releaseinfo role="CVS">$Id: firstterm.001.xml 4613 2005-04-20 11:54:35Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>This is a <firstterm>firstterm</firstterm>.</para>
+
+<para>This is a <glossterm>glossterm</glossterm>.</para>
+
+</article>
diff --git a/test/testdocs/footnote.001.xml b/test/testdocs/footnote.001.xml
index 0b308cc..aa60be3 100644
--- a/test/testdocs/footnote.001.xml
+++ b/test/testdocs/footnote.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: footnote.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: footnote.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/footnote.002.xml b/test/testdocs/footnote.002.xml
index 89b8973..6be465d 100644
--- a/test/testdocs/footnote.002.xml
+++ b/test/testdocs/footnote.002.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: footnote.002</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: footnote.002.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
@@ -36,7 +36,14 @@ East Yahoo, XX</address></footnote></entry>
 </tgroup>
 </table>
 
-<para>This paragraph contains a footnote<footnote>
-<para>This is a footnote.</para></footnote>.</para>
+<para>This is a longer paragraph. It will eventually contain a footnote, but first
+it has enough text to make the footnote appear in the middle of the paragraph.
+This is so we can test the effect of changing the
+<property>line-height-shift-adjustment</property> property. This paragraph
+contains a footnote<footnote>
+<para>This is a footnote.</para></footnote> (see, I said it would).
+Now it has more text to make the footnote appear in the middle of the paragraph.
+Now it has more text to make the footnote appear in the middle of the paragraph.
+</para>
 
 </article>
diff --git a/test/testdocs/footnote.003.xml b/test/testdocs/footnote.003.xml
index 280790a..389fa24 100644
--- a/test/testdocs/footnote.003.xml
+++ b/test/testdocs/footnote.003.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: footnote.003</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: footnote.003.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/formalpara.001.xml b/test/testdocs/formalpara.001.xml
index c452a55..95efb12 100644
--- a/test/testdocs/formalpara.001.xml
+++ b/test/testdocs/formalpara.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: formalpara.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: formalpara.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/formalpara.002.xml b/test/testdocs/formalpara.002.xml
index 8e17635..b1cb813 100644
--- a/test/testdocs/formalpara.002.xml
+++ b/test/testdocs/formalpara.002.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: formalpara.002</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: formalpara.002.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/formalpara.003.xml b/test/testdocs/formalpara.003.xml
new file mode 100644
index 0000000..689e3aa
--- /dev/null
+++ b/test/testdocs/formalpara.003.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: formalpara.003</title>
+<releaseinfo role="CVS">$Id: formalpara.003.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Adam</firstname><surname>Di Carlo</surname>
+        <affiliation><address><email>adam onshored com</email></address></affiliation>
+</author>
+</articleinfo>
+  <section>
+    <title>Testing formalpara title keep-with-next</title>
+    <formalpara>
+      <title>
+        Test title
+      </title>
+      <para>
+        Some para.
+      </para>
+    </formalpara>
+
+    <formalpara>
+      <title>Test title</title>
+      <para>Some para.</para>
+    </formalpara>
+
+    <formalpara>
+      <title>Test title</title>
+      <para>Some para.</para>
+    </formalpara>
+
+    <formalpara>
+      <title>
+        Test Informalexample
+      </title>
+      <para><informalexample>
+          <para>Foo Bar</para>
+        </informalexample></para>
+    </formalpara>
+
+    <formalpara>
+      <title>
+        Test Informalexample
+      </title>
+      <para><informalexample>
+          <para>Foo Bar</para>
+        </informalexample></para>
+    </formalpara>
+
+    <formalpara>
+      <title>
+        Test Informalexample
+      </title>
+      <para><informalexample>
+          <para>Foo Bar</para>
+        </informalexample></para>
+    </formalpara>
+
+    <formalpara>
+      <title>
+        Test Informalexample
+      </title>
+      <para><informalexample>
+          <para>Foo Bar</para>
+        </informalexample></para>
+    </formalpara>
+
+    <formalpara>
+      <title>
+        Test Informalexample
+      </title>
+      <para><informalexample>
+          <para>Foo Bar</para>
+        </informalexample></para>
+    </formalpara>
+
+    <para>
+      Push the spacing, push the spacing, push the spacing, 
+      foo bar foo bar foo bar foo bar foo bar foo bar foo bar.
+    </para>
+
+    <formalpara>
+      <title>
+        Test Informalexample
+      </title>
+      <para><informalexample>
+          <para>
+            Foo bar foo bar foo bar foo bar foo bar foo bar foo bar
+            foo bar foo bar foo bar foo bar foo bar foo bar foo bar
+            foo bar foo bar foo bar foo bar foo bar foo bar foo bar
+            foo bar foo bar.
+          </para>
+        </informalexample></para>
+    </formalpara>
+
+    <formalpara>
+      <title>
+        Test Informalexample
+      </title>
+      <para><informalexample>
+          <para>Foo Bar</para>
+        </informalexample></para>
+    </formalpara>
+
+    <formalpara>
+      <title>
+        Test Informalexample
+      </title>
+      <para><informalexample>
+          <para>Foo Bar</para>
+        </informalexample></para>
+    </formalpara>
+  </section>
+</article>
diff --git a/test/testdocs/funcsynopsis.001.xml b/test/testdocs/funcsynopsis.001.xml
new file mode 100644
index 0000000..e479c80
--- /dev/null
+++ b/test/testdocs/funcsynopsis.001.xml
@@ -0,0 +1,185 @@
+<?xml version='1.0' encoding='utf-8'?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article id="article">
+<articleinfo>
+<title>Unit Test: funcsynopsis.001.xml</title>
+<releaseinfo role="CVS">$Id: funcsynopsis.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<section><title>"Default" rendering</title>
+
+<para>A funcsynopsis.</para>
+
+<funcsynopsis>
+<funcsynopsisinfo>
+#include &lt;varargs.h&gt;
+</funcsynopsisinfo>
+<funcprototype>
+  <funcdef><type>float</type> <function>rand</function></funcdef>
+  <void/>
+</funcprototype>
+
+<funcprototype>
+  <funcdef>int <function>max</function></funcdef>
+  <varargs/>
+</funcprototype>
+
+<funcprototype>
+  <funcdef>int <function>idiv</function></funcdef>
+    <paramdef><type>int</type> <parameter>n</parameter></paramdef>
+    <paramdef><type>int</type> <parameter>m</parameter></paramdef>
+</funcprototype>
+</funcsynopsis>
+
+<para>Another.</para>
+
+<funcsynopsis>
+<funcprototype>
+  <funcdef>void <function>qsort</function></funcdef>
+    <paramdef>void *<parameter>dataptr</parameter>[]</paramdef>
+    <paramdef>int <parameter>left</parameter></paramdef>
+    <paramdef>int <parameter>right</parameter></paramdef>
+    <paramdef>int (*<parameter>comp</parameter>)
+      <funcparams>void *, void *</funcparams></paramdef>
+</funcprototype>
+</funcsynopsis>
+
+<para>Another.</para>
+
+<funcsynopsis>
+<funcprototype>
+  <funcdef>int <function>foo_frob_something</function></funcdef>
+    <paramdef>foo_sometype1 <parameter>foo_frob_parm1</parameter></paramdef>
+    <paramdef>foo_sometype1 <parameter>foo_frob_parm2</parameter></paramdef>
+    <paramdef>foo_sometype1 <parameter>foo_frob_parm3</parameter></paramdef>
+    <paramdef><type>int</type> (* <parameter>parm4</parameter> )
+      <funcparams>int a, int b, int c</funcparams>
+    </paramdef>
+    <paramdef>foo_sometype1 <parameter>foo_frob_parm5</parameter></paramdef>
+</funcprototype>
+
+<funcprototype>
+  <funcdef>int <function>foo_frob_something</function></funcdef>
+    <paramdef>foo_sometype1 <parameter>foo_frob_parm1</parameter></paramdef>
+    <paramdef>foo_sometype1 <parameter>foo_frob_parm2</parameter></paramdef>
+    <paramdef>foo_sometype1 <parameter>foo_frob_parm3</parameter></paramdef>
+    <paramdef><type>int</type> (* <parameter>parm4</parameter> )
+      <funcparams>int a, int b, int c</funcparams>
+    </paramdef>
+    <paramdef>foo_sometype1 <parameter>foo_frob_parm5</parameter></paramdef>
+</funcprototype>
+</funcsynopsis>
+
+</section>
+<section><title>ANSI Rendering</title>
+
+<para>Another.</para>
+
+<funcsynopsis><?dbhtml funcsynopsis-style="ansi"?>
+<funcsynopsisinfo>
+#include &lt;varargs.h&gt;
+</funcsynopsisinfo>
+<funcprototype>
+  <funcdef><type>float</type> <function>rand</function></funcdef>
+  <void/>
+</funcprototype>
+
+<funcprototype>
+  <funcdef>int <function>max</function></funcdef>
+  <varargs/>
+</funcprototype>
+
+<funcprototype>
+  <funcdef>int <function>idiv</function></funcdef>
+    <paramdef><type>int</type> <parameter>n</parameter></paramdef>
+    <paramdef><type>int</type> <parameter>m</parameter></paramdef>
+</funcprototype>
+</funcsynopsis>
+
+<para>Another.</para>
+
+<funcsynopsis><?dbhtml funcsynopsis-style="ansi"?>
+<funcprototype>
+  <funcdef>void <function>qsort</function></funcdef>
+    <paramdef>void *<parameter>dataptr</parameter>[]</paramdef>
+    <paramdef>int <parameter>left</parameter></paramdef>
+    <paramdef>int <parameter>right</parameter></paramdef>
+    <paramdef><type>int</type> (*<parameter>comp</parameter>)
+      <funcparams>void *, void *</funcparams></paramdef>
+</funcprototype>
+</funcsynopsis>
+
+<para>Another.</para>
+
+<funcsynopsis><?dbhtml funcsynopsis-style="ansi"?>
+<funcprototype>
+  <funcdef>int <function>foo_frob_something</function></funcdef>
+    <paramdef>foo_sometype1 <parameter>foo_frob_parm1</parameter></paramdef>
+    <paramdef>foo_sometype1 <parameter>foo_frob_parm2</parameter></paramdef>
+    <paramdef>foo_sometype1 <parameter>foo_frob_parm3</parameter></paramdef>
+    <paramdef>int (* <parameter>parm4</parameter> )
+      <funcparams>int a, int b, int c</funcparams></paramdef>
+    <paramdef>foo_sometype1 <parameter>foo_frob_parm5</parameter></paramdef>
+</funcprototype>
+</funcsynopsis>
+
+</section>
+<section><title>K&amp;R Rendering</title>
+
+<para>Another.</para>
+
+<funcsynopsis><?dbhtml funcsynopsis-style="kr"?>
+<funcsynopsisinfo>
+#include &lt;varargs.h&gt;
+</funcsynopsisinfo>
+<funcprototype>
+  <funcdef><type>float</type> <function>rand</function></funcdef>
+  <void/>
+</funcprototype>
+
+<funcprototype>
+  <funcdef>int <function>max</function></funcdef>
+  <varargs/>
+</funcprototype>
+
+<funcprototype>
+  <funcdef>int <function>idiv</function></funcdef>
+    <paramdef><type>int</type> <parameter>n</parameter></paramdef>
+    <paramdef><type>int</type> <parameter>m</parameter></paramdef>
+</funcprototype>
+</funcsynopsis>
+
+<para>Another.</para>
+
+<funcsynopsis><?dbhtml funcsynopsis-style="kr"?>
+<funcprototype>
+  <funcdef>void <function>qsort</function></funcdef>
+    <paramdef>void *<parameter>dataptr</parameter>[]</paramdef>
+    <paramdef>int <parameter>left</parameter></paramdef>
+    <paramdef>int <parameter>right</parameter></paramdef>
+    <paramdef><type>int</type> (*<parameter>comp</parameter>)
+      <funcparams>void *, void *</funcparams></paramdef>
+</funcprototype>
+</funcsynopsis>
+
+<para>Another.</para>
+
+<funcsynopsis><?dbhtml funcsynopsis-style="kr"?>
+<funcprototype>
+  <funcdef>int <function>foo_frob_something</function></funcdef>
+    <paramdef>foo_sometype1 <parameter>foo_frob_parm1</parameter></paramdef>
+    <paramdef>foo_sometype1 <parameter>foo_frob_parm2</parameter></paramdef>
+    <paramdef>foo_sometype1 <parameter>foo_frob_parm3</parameter></paramdef>
+    <paramdef>int (* <parameter>parm4</parameter> )
+      <funcparams>int a, int b, int c</funcparams></paramdef>
+    <paramdef>foo_sometype1 <parameter>foo_frob_parm5</parameter></paramdef>
+</funcprototype>
+</funcsynopsis>
+
+</section>
+
+</article>
diff --git a/test/testdocs/glossary.001.xml b/test/testdocs/glossary.001.xml
index e9762e4..9bd204d 100644
--- a/test/testdocs/glossary.001.xml
+++ b/test/testdocs/glossary.001.xml
@@ -1,15 +1,27 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE glossary PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                   "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
-<glossary>
-<?dbfo glossterm-width="1in"?>
-<glossaryinfo>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<book>
+<bookinfo>
 <title>Unit Test: glossary.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: glossary.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <editor><firstname>Eric</firstname><surname>Raymond</surname></editor>
 <subtitle>Jargon File 4.2.3 (abridged)</subtitle>
 <releaseinfo>Just some test data</releaseinfo>
-</glossaryinfo>
+</bookinfo>
+
+<chapter>
+<title>A Chapter</title>
+
+<para>There's a <sgmltag>firstterm</sgmltag> here:
+<firstterm>1TBS</firstterm>.</para>
+
+<para>And there's a couple of <sgmltag>glossterm</sgmltag>s here:
+<glossterm>1TBS</glossterm>, <glossterm>@-party</glossterm>.</para>
+</chapter>
+
+<glossary>
+<?dbfo glossterm-width="1in"?>
 
 <glossdiv><title>0</title>
 
@@ -272,3 +284,4 @@ that took on a life of their own.  See {Eric Conspiracy} for one example.</para>
 </glossentry>
 </glossdiv>
 </glossary>
+</book>
diff --git a/test/testdocs/glossary.002.data.xml b/test/testdocs/glossary.002.data.xml
new file mode 100644
index 0000000..f576647
--- /dev/null
+++ b/test/testdocs/glossary.002.data.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE glossary PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<glossary>
+
+<glossdiv><title>Terms-1</title>
+
+<glossentry>
+<glossterm>gloss-1</glossterm>
+<acronym>G1</acronym>
+<glossdef><para>A description.</para>
+<glossseealso>gloss-2</glossseealso>
+</glossdef>
+</glossentry>
+
+</glossdiv>
+
+<glossdiv><title>Terms-2</title>
+
+<glossentry>
+<glossterm>gloss-2</glossterm>
+<glossdef><para>A description.</para>
+</glossdef>
+</glossentry>
+
+</glossdiv>
+
+</glossary>
diff --git a/test/testdocs/glossary.002.xml b/test/testdocs/glossary.002.xml
new file mode 100644
index 0000000..06c7e53
--- /dev/null
+++ b/test/testdocs/glossary.002.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: glossary.002</title>
+<releaseinfo role="CVS">$Id: glossary.002.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+</articleinfo>
+
+<para>This test tests the <parameter>glossary.collection</parameter> machinery.</para>
+
+<para>Referencing <firstterm>gloss-1</firstterm>.</para>
+
+<glossary role="auto">
+<remark>make sure <glossterm>gloss-2</glossterm> is referenced</remark>
+<glossdiv><title>foo</title>
+<glossentry><glossterm>irrelevant</glossterm>
+<glossdef><para/></glossdef>
+</glossentry>
+</glossdiv>
+</glossary>
+
+</article>
diff --git a/test/testdocs/glossary.003.xml b/test/testdocs/glossary.003.xml
new file mode 100644
index 0000000..c7e2883
--- /dev/null
+++ b/test/testdocs/glossary.003.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: glossary.003</title>
+<releaseinfo role="CVS">$Id: glossary.003.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+</articleinfo>
+
+<para>This is a test. Xref to fifo: <xref linkend="fifo"/>.</para>
+
+<glossary>
+<glossentry><glossterm>test1</glossterm>
+<glossdef><para>First definition</para></glossdef>
+</glossentry>
+
+<glossentry><glossterm>test2</glossterm>
+<glossdef><para>First definition</para></glossdef>
+<glossdef><para>Second definition</para></glossdef>
+</glossentry>
+
+<glossentry><glossterm>first thing</glossterm>
+<acronym>FT</acronym>
+<abbrev>fthing</abbrev>
+<glossdef><para>Alphabetically first entry</para></glossdef>
+</glossentry>
+
+<glossentry id="fifo"><glossterm>First-in First-out</glossterm>
+<acronym>FIFO</acronym>
+<glossdef><para>Alphabetically second entry</para></glossdef>
+</glossentry>
+
+</glossary>
+
+</article>
diff --git a/test/testdocs/imagelib.001.xml b/test/testdocs/imagelib.001.xml
index 4ecca7e..aac6a53 100644
--- a/test/testdocs/imagelib.001.xml
+++ b/test/testdocs/imagelib.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article id="article">
 <articleinfo>
 <title>Unit Test: imagelib.001.xml</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: imagelib.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/imageobjectco.001.xml b/test/testdocs/imageobjectco.001.xml
new file mode 100644
index 0000000..fcdf2b4
--- /dev/null
+++ b/test/testdocs/imageobjectco.001.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: imageobjectco.001</title>
+<releaseinfo role="CVS">$Id: imageobjectco.001.xml 4637 2005-04-21 16:24:26Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>A whole duck</para>
+
+  <mediaobject>
+    <imageobjectco>
+      <areaspec>
+	<area id="wholeduck" coords="0,0 10000,10000" units="calspair"
+	      linkends="p1"/>
+      </areaspec>
+      <imageobject>
+	<imagedata
+	    align="left"
+	    fileref="graphics/duck-small.png"
+	    format="PNG"
+	    srccredit="O'Reilly &amp; Associates/Dover Archives"/>
+      </imageobject>
+    </imageobjectco>
+  </mediaobject>
+
+<para>A duck with callouts</para>
+
+  <mediaobject>
+    <imageobjectco>
+      <areaspec>
+	<area id="p1" coords="240,9049 497,8786" units="calspair" linkends="c1"/>
+	<area id="p2" coords="2905,1360 3162,1098" linkends="c2"/>
+	<area id="p3" coords="8796,1491 9052,1229" units="calspair" linkends="c3"/>
+      </areaspec>
+      <imageobject>
+	<imagedata
+	    align="left"
+	    fileref="graphics/duck-co.png"
+	    format="PNG"
+	    srccredit="O'Reilly &amp; Associates/Dover Archives"/>
+      </imageobject>
+    </imageobjectco>
+  </mediaobject>
+
+  <calloutlist>
+    <callout arearefs="p1" id="c1"><para>The bill.</para></callout>
+    <callout arearefs="p2" id="c2"><para>The feet.</para></callout>
+    <callout arearefs="p3" id="c3"><para>The tail.</para></callout>
+  </calloutlist>
+
+</article>
diff --git a/test/testdocs/index.001.xml b/test/testdocs/index.001.xml
new file mode 100644
index 0000000..906d512
--- /dev/null
+++ b/test/testdocs/index.001.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE set PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<set>
+<setinfo>
+<title>Unit Test: index.001</title>
+<releaseinfo role="CVS">$Id: index.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</setinfo>
+
+<book><title>First Book</title>
+<chapter><title>Chapter</title>
+<para>Some test data
+<indexterm>
+<primary>First Book</primary>
+</indexterm></para>
+</chapter>
+<index/>
+</book>
+
+<book><title>Second Book</title>
+<chapter><title>Chapter</title>
+<para>Some test data
+<indexterm>
+<primary>Second Book</primary>
+</indexterm></para>
+</chapter>
+<index/>
+</book>
+
+<book><title>Third Book</title>
+<part><title>Part Title</title>
+<chapter><title>Chapter</title>
+<para>Some test data
+<indexterm>
+<primary>Third Book</primary>
+</indexterm></para>
+</chapter>
+<index/>
+</part>
+</book>
+
+<setindex/>
+
+</set>
diff --git a/test/testdocs/index.002.xml b/test/testdocs/index.002.xml
new file mode 100644
index 0000000..37eeab4
--- /dev/null
+++ b/test/testdocs/index.002.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<book>
+  <bookinfo>
+    <title>Unit Test: index.002</title>
+    <subtitle>Index in Part within Book</subtitle>
+    <releaseinfo role="CVS">$Id: index.002.xml 6298 2006-09-14 01:34:57Z xmldoc $</releaseinfo>
+    <author><firstname>Michael</firstname><surname>Smith</surname>
+    <affiliation><address><email>smith sideshowbarker net</email></address></affiliation>
+    </author>
+  </bookinfo>
+
+  <part><title>First Part</title>
+  <chapter><title>Chapter</title>
+  <para>Some test data
+  <indexterm>
+    <primary>First Part</primary>
+  </indexterm></para>
+  </chapter>
+  <index/>
+  </part>
+
+  <part><title>Second Part</title>
+  <chapter><title>Chapter</title>
+  <para>Some test data
+  <indexterm>
+    <primary>Second Part</primary>
+  </indexterm></para>
+  </chapter>
+  <index/>
+  </part>
+
+  <part><title>Third Part</title>
+  <chapter><title>Chapter</title>
+  <para>Some test data
+  <indexterm>
+    <primary>Third Part</primary>
+  </indexterm></para>
+  </chapter>
+  <index/>
+  </part>
+
+  <index/>
+
+</book>
diff --git a/test/testdocs/index.003.xml b/test/testdocs/index.003.xml
new file mode 100644
index 0000000..c9bd87f
--- /dev/null
+++ b/test/testdocs/index.003.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<book>
+<bookinfo>
+<title>Unit Test: index.003</title>
+<releaseinfo role="CVS">$Id: index.003.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</bookinfo>
+
+<index>
+<title>Index</title>
+
+<indexdiv>
+<title>Index Div</title>
+
+<indexentry>
+<primaryie>foo</primaryie>
+</indexentry>
+</indexdiv>
+</index>
+</book>
diff --git a/test/testdocs/indexterm.001.xml b/test/testdocs/indexterm.001.xml
index 1efa0f1..cbf7016 100644
--- a/test/testdocs/indexterm.001.xml
+++ b/test/testdocs/indexterm.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <book>
 <bookinfo>
 <title>Unit Test: indexterm.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: indexterm.001.xml 5357 2005-10-26 04:16:20Z xmldoc $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
@@ -12,18 +12,26 @@
 
 <chapter><title>First Chapter</title>
 
+<indexterm zone="app"><primary>Appendix</primary></indexterm>
+
 <para>This is a test paragraph.
-<indexterm>
+<indexterm id="foo">
 <primary>@foo</primary>
 </indexterm>
 <indexterm>
 <primary>&gt; operator</primary>
 </indexterm>
 <indexterm>
+<primary>&lt; operator</primary>
+</indexterm>
+<indexterm id="ap1.a">
 <primary>ap1</primary>
 </indexterm>
 
-<indexterm>
+<indexterm id="ap1.b">
+<primary>ap1</primary>
+</indexterm>
+<indexterm id="ap1.d">
 <primary>ap1</primary>
 </indexterm>
 <indexterm>
@@ -61,14 +69,157 @@
 </indexterm>
 <indexterm>
 <primary>dp2</primary>
+<seealso>dp1, dp1ds1</seealso>
+</indexterm></para>
+
+
+<section>
+  <title>Foo section</title>
+<para>Another test paragraph with type=â??fooâ?? indexterms
+
+<indexterm id="ffoo" type="foo">
+<primary>@ffoo</primary>
+</indexterm>
+
+<indexterm type="foo">
+<primary>&gt; hoge</primary>
+</indexterm>
+
+<indexterm type="foo">
+<primary>&lt; hoge</primary>
+</indexterm>
+
+<indexterm id="fap1.a" type="foo">
+<primary>fap1</primary>
+</indexterm>
+
+<indexterm id="fap1.b" type="foo">
+<primary>fap1</primary>
+</indexterm>
+
+<indexterm id="fap1.d" type="foo">
+<primary>fap1</primary>
+</indexterm>
+
+<indexterm type="foo">
+<primary>fap2</primary>
+</indexterm>
+
+<indexterm type="foo">
+<primary>fbp1</primary>
+<secondary>fbp1bs1</secondary>
+</indexterm>
+
+<indexterm type="foo">
+<primary>fbp2</primary>
+</indexterm>
+
+<indexterm type="foo">
+<primary>fcp1</primary>
+<secondary>fcp1cs1</secondary>
+<tertiary>fcp1cs1ct1</tertiary>
+</indexterm>
+
+<indexterm type="foo">
+<primary>fcp2</primary>
+</indexterm>
+
+<indexterm type="foo">
+<primary>fcp2see</primary><see>fcp2</see>
+</indexterm>
+
+<indexterm type="foo">
+<primary>fdp1</primary>
+<secondary>fdp1ds1</secondary>
+</indexterm>
+
+<indexterm type="foo">
+<primary>fdp1</primary>
+<secondary>fdp1ds2</secondary>
+</indexterm>
+
+<indexterm type="foo">
+<primary>fdp2</primary>
+<seealso>fdp1, fdp1ds1</seealso>
 </indexterm></para>
+</section>
+
+<section>
+  <title>Bar section</title>
+<para>Another test paragraph with type=â??barâ?? indexterms
 
+<indexterm id="bar" type="bar">
+<primary>@bar</primary>
+</indexterm>
+
+<indexterm type="bar">
+<primary>&gt; moge</primary>
+</indexterm>
+
+<indexterm type="bar">
+<primary>&lt; moge</primary>
+</indexterm>
+
+<indexterm id="bap1.a" type="bar">
+<primary>bap1</primary>
+</indexterm>
+
+<indexterm id="bap1.b" type="bar">
+<primary>bap1</primary>
+</indexterm>
+
+<indexterm id="bap1.d" type="bar">
+<primary>bap1</primary>
+</indexterm>
+
+<indexterm type="bar">
+<primary>bap2</primary>
+</indexterm>
+
+<indexterm type="bar">
+<primary>bbp1</primary>
+<secondary>bbp1bs1</secondary>
+</indexterm>
+
+<indexterm type="bar">
+<primary>bbp2</primary>
+</indexterm>
+
+<indexterm type="bar">
+<primary>bcp1</primary>
+<secondary>bcp1cs1</secondary>
+<tertiary>bcp1cs1ct1</tertiary>
+</indexterm>
+
+<indexterm type="bar">
+<primary>bcp2</primary>
+</indexterm>
+
+<indexterm type="bar">
+<primary>bcp2see</primary><see>bcp2</see>
+</indexterm>
+
+<indexterm type="bar">
+<primary>bdp1</primary>
+<secondary>bdp1ds1</secondary>
+</indexterm>
+
+<indexterm type="bar">
+<primary>bdp1</primary>
+<secondary>bdp1ds2</secondary>
+</indexterm>
+
+<indexterm type="bar">
+<primary>bdp2</primary>
+<seealso>bdp1, bdp1ds1</seealso>
+</indexterm></para>
+</section>
 </chapter>
 
-<appendix><title>First Appendix</title>
+<appendix id="app"><title>First Appendix</title>
 
 <para>This is just a test.
-<indexterm>
+<indexterm id="ap1.e">
 <primary>ap1</primary>
 </indexterm>
 <indexterm>
@@ -105,6 +256,29 @@
 </indexterm></para>
 </appendix>
 
+<appendix><title>Another Appendix</title>
+
+<para>More testing.</para>
+
+<indexterm>
+<primary id="ap1.c">ap1</primary>
+</indexterm>
+<indexterm>
+<primary>ap1</primary>
+</indexterm>
+<indexterm>
+<primary>ap2</primary>
+</indexterm>
+
+</appendix>
+
 <index id="idx"/>
+<index id="foo-idx" type="foo">
+  <title>Foo Index</title>
+</index>
+<index id="bar-idx" type="bar">
+  <title>Bar Index</title>
+</index>
+
 
 </book>
diff --git a/test/testdocs/indexterm.002.xml b/test/testdocs/indexterm.002.xml
index e12b43d..0017b20 100644
--- a/test/testdocs/indexterm.002.xml
+++ b/test/testdocs/indexterm.002.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <book>
 <bookinfo>
 <title>Unit Test: indexterm.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: indexterm.002.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
@@ -19,6 +19,9 @@
 <indexterm>
 <primary>ap2</primary>
 </indexterm>
+<indexterm id="spanstart" class="startofrange">
+<primary>spanning</primary>
+</indexterm>
 
 <indexterm>
 <primary>bp1</primary>
@@ -693,6 +696,8 @@
   <primary>gq</primary>
 </indexterm></para>
 
+<indexterm startref="spanstart" class="endofrange"/>
+
 </appendix>
 
 <index id="idx"/>
diff --git a/test/testdocs/indexterm.003.xml b/test/testdocs/indexterm.003.xml
new file mode 100644
index 0000000..a71458c
--- /dev/null
+++ b/test/testdocs/indexterm.003.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<book>
+<bookinfo>
+<title>Unit Test: indexterm.003</title>
+<releaseinfo role="CVS">$Id: indexterm.003.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</bookinfo>
+
+<chapter><title>First Chapter</title>
+
+<para>An indexterm starts
+here.<indexterm class="startofrange" id="start">
+<primary>Start</primary></indexterm></para>
+
+</chapter>
+
+<chapter><title>Second Chapter</title>
+
+<para>The term ends
+here.<indexterm class="endofrange" startref="start"/>
+</para>
+
+</chapter>
+
+<index id="idx"/>
+
+</book>
diff --git a/test/testdocs/indexterm.004.xml b/test/testdocs/indexterm.004.xml
new file mode 100644
index 0000000..29daff6
--- /dev/null
+++ b/test/testdocs/indexterm.004.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"; [
+<!ENTITY index    SYSTEM '../indexterm.004.index.xml'>
+]>
+<article id="indexterm.004">
+<articleinfo>
+<title>Unit Test: indexterm.004</title>
+<releaseinfo role="CVS">$Id: indexterm.004.xml 5270 2005-10-13 01:11:51Z xmldoc $</releaseinfo>
+<author><firstname>Adam</firstname><surname>Di Carlo</surname>
+        <affiliation><address><email>adam onshored com</email></address></affiliation>
+</author>
+</articleinfo>
+  <section id="sec1">
+    <title>First Section</title>
+    <para>
+      This is first test paragraph.
+      <indexterm>
+        <primary>foo</primary>
+        <seealso>bar</seealso>
+      </indexterm>
+      <indexterm>
+        <primary>bar</primary>
+      </indexterm>
+      <indexterm>
+        <primary>baz</primary>
+      </indexterm>
+    </para>
+  </section>
+
+  <section id="sec2">
+    <title>Second Section</title>
+    <para>
+      This is second test paragraph.  We're testing identical
+      <sgmltag>indexterm</sgmltag>s with two different
+      <sgmltag>seealso</sgmltag>s.
+
+      <indexterm>
+        <primary>foo</primary>
+        <seealso>baz</seealso>
+      </indexterm>
+    </para>
+  </section>
+
+  <index/>
+  <!-- * Note: To test DSSSL index support, comment out the <index/> above -->
+  <!-- * and uncomment the entity ref below -->
+  <!-- * --> 
+  <!-- * &index; -->
+  <!-- * -->
+</article>
diff --git a/test/testdocs/indexterm.005.xml b/test/testdocs/indexterm.005.xml
new file mode 100644
index 0000000..02c4f42
--- /dev/null
+++ b/test/testdocs/indexterm.005.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"; [
+<!ENTITY index    SYSTEM '../indexterm.005.index.xml'>
+]>
+<article id="indexterm.005">
+<articleinfo>
+<title>Unit Test: indexterm.005</title>
+<releaseinfo role="CVS">$Id: indexterm.005.xml 5270 2005-10-13 01:11:51Z xmldoc $</releaseinfo>
+<author><firstname>Adam</firstname><surname>Di Carlo</surname>
+        <affiliation><address><email>adam onshored com</email></address></affiliation>
+</author>
+</articleinfo>
+  <section id="sec1">
+    <title>Bizarre Indexterm Test</title>
+    <para>
+      This is first test paragraph.
+      <programlisting>#include &lt;stdio.h&gt;
+      </programlisting>
+      <indexterm>
+        <primary>&lt;stdio.h&gt;</primary>
+      </indexterm>
+    </para>
+  </section>
+
+  <index/>
+  <!-- * Note: To test DSSSL index support, comment out the <index/> above -->
+  <!-- * and uncomment the entity ref below -->
+  <!-- * --> 
+  <!-- * &index; -->
+  <!-- * -->
+</article>
diff --git a/test/testdocs/informalequation-mml.001.xml b/test/testdocs/informalequation-mml.001.xml
index f2b2d65..0cdabb1 100644
--- a/test/testdocs/informalequation-mml.001.xml
+++ b/test/testdocs/informalequation-mml.001.xml
@@ -1,19 +1,21 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook MathML Module V1.0//EN"
-                  "http://www.oasis-open.org/docbook/xml/mathml/1.0/dbmathml.dtd"; [
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"; [
 <!ENTITY % local.article.attrib "xmlns:mml CDATA #REQUIRED">
 ]>
 <article xmlns:mml="http://www.w3.org/1998/Math/MathML";>
 <articleinfo>
 <title>Unit Test: informalequation-mml.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: informalequation-mml.001.xml 5290 2005-10-16 02:07:50Z xmldoc $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
 </articleinfo>
 
 <informalequation>
-<mml:math><mml:apply><mml:divide/></mml:apply></mml:math>
-</informalequation>
+   <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML";>
+     <mml:apply><mml:divide/><mml:ci>1</mml:ci><mml:ci>6</mml:ci></mml:apply>
+   </mml:math>
+ </informalequation>
 
 </article>
diff --git a/test/testdocs/informaltable.001.xml b/test/testdocs/informaltable.001.xml
index bdcf969..82198fc 100644
--- a/test/testdocs/informaltable.001.xml
+++ b/test/testdocs/informaltable.001.xml
@@ -1,27 +1,27 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: informaltable.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: informaltable.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
 </articleinfo>
-
-<!--
+  <para>
+Table should appear like this:</para>
+  <screen>
 +........+........+........+........+
 |        |   B    |        |   D    |
 +   A    +........+   C    +........+
 |        |        |        |   E    |
-+........+........+........+........+
--->
++........+........+........+........+</screen>
 
 <informaltable frame="all">
-<tgroup cols="4">
+<tgroup cols="4" align="center">
 <colspec colname="c4a" colnum="4"/>
-<tbody>
+<tbody valign="middle">
 <row>
   <entry morerows="1">A</entry>
   <entry>B</entry>
diff --git a/test/testdocs/informaltable.002.xml b/test/testdocs/informaltable.002.xml
index beb2a29..365548a 100644
--- a/test/testdocs/informaltable.002.xml
+++ b/test/testdocs/informaltable.002.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: informaltable.002</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: informaltable.002.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/informaltable.003.xml b/test/testdocs/informaltable.003.xml
index 773a798..9a7b6e3 100644
--- a/test/testdocs/informaltable.003.xml
+++ b/test/testdocs/informaltable.003.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: informaltable.003</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: informaltable.003.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/informaltable.004.xml b/test/testdocs/informaltable.004.xml
index d6c3134..50b3dcd 100644
--- a/test/testdocs/informaltable.004.xml
+++ b/test/testdocs/informaltable.004.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: informaltable.004</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: informaltable.004.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/informaltable.005.xml b/test/testdocs/informaltable.005.xml
index a85bddb..75a4686 100644
--- a/test/testdocs/informaltable.005.xml
+++ b/test/testdocs/informaltable.005.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: informaltable.005</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: informaltable.005.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/informaltable.006.xml b/test/testdocs/informaltable.006.xml
index f139e72..5ea3175 100644
--- a/test/testdocs/informaltable.006.xml
+++ b/test/testdocs/informaltable.006.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: informaltable.006</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: informaltable.006.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/informaltable.007.xml b/test/testdocs/informaltable.007.xml
index 674e2ce..0a1afa7 100644
--- a/test/testdocs/informaltable.007.xml
+++ b/test/testdocs/informaltable.007.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: informaltable.007</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: informaltable.007.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/informaltable.008.xml b/test/testdocs/informaltable.008.xml
index d4c0d9b..2c29b62 100644
--- a/test/testdocs/informaltable.008.xml
+++ b/test/testdocs/informaltable.008.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: informaltable.008</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: informaltable.008.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/informaltable.009.xml b/test/testdocs/informaltable.009.xml
index 91f8881..5c8fca9 100644
--- a/test/testdocs/informaltable.009.xml
+++ b/test/testdocs/informaltable.009.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: informaltable.009</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: informaltable.009.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/informaltable.010.xml b/test/testdocs/informaltable.010.xml
index 7589d36..fedd8b2 100644
--- a/test/testdocs/informaltable.010.xml
+++ b/test/testdocs/informaltable.010.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: informaltable.010</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: informaltable.010.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/informaltable.011.xml b/test/testdocs/informaltable.011.xml
index 789100d..cd693f1 100644
--- a/test/testdocs/informaltable.011.xml
+++ b/test/testdocs/informaltable.011.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: informaltable.011</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: informaltable.011.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/informaltable.012.xml b/test/testdocs/informaltable.012.xml
index 680ee26..8705da4 100644
--- a/test/testdocs/informaltable.012.xml
+++ b/test/testdocs/informaltable.012.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: informaltable.012</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: informaltable.012.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/informaltable.013.xml b/test/testdocs/informaltable.013.xml
index e089504..4d9386a 100644
--- a/test/testdocs/informaltable.013.xml
+++ b/test/testdocs/informaltable.013.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: informaltable.013</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: informaltable.013.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/informaltable.014.xml b/test/testdocs/informaltable.014.xml
index 6ec8ae7..f119676 100644
--- a/test/testdocs/informaltable.014.xml
+++ b/test/testdocs/informaltable.014.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: informaltable.014</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: informaltable.014.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/informaltable.015.xml b/test/testdocs/informaltable.015.xml
new file mode 100644
index 0000000..ceb4cfc
--- /dev/null
+++ b/test/testdocs/informaltable.015.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article id="informaltable.015">
+<articleinfo>
+<title>Unit Test: informaltable.015</title>
+<releaseinfo role="CVS">$Id: informaltable.015.xml 5600 2006-03-03 08:43:12Z nwalsh $</releaseinfo>
+<author><firstname>Adam</firstname> <surname>Di Carlo</surname>
+        <affiliation><address><email>adam onshored com</email></address></affiliation>
+</author>
+</articleinfo>
+
+  <para>
+Three column table, but entries only in one column.  Last column
+should expand to fill entire horizontal space.</para>
+
+  <informaltable id="informaltable" pgwide="1">
+    <tgroup cols="3" colsep="1" rowsep="1" align="left">
+      <colspec colname="cat" colwidth="2in"/>
+      <colspec colname="issue" colwidth="2in"/>
+      <colspec colname="response" colwidth="4in"/>
+      <thead>
+        <row>
+          <entry>Category</entry>
+          <entry>System Considerations, Issues</entry>
+          <entry>Notes</entry>
+        </row>
+      </thead>
+      <tbody>
+        <row>
+          <entry>General Company Information</entry>
+        </row>
+        <row>
+          <entry>Company Financials</entry>
+        </row>
+      </tbody>
+    </tgroup>
+  </informaltable>
+</article>
diff --git a/test/testdocs/informaltable.016.xml b/test/testdocs/informaltable.016.xml
new file mode 100644
index 0000000..f1b7a3e
--- /dev/null
+++ b/test/testdocs/informaltable.016.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article id="informaltable.016">
+<articleinfo>
+<title>Unit Test: informaltable.016</title>
+<releaseinfo role="CVS">$Id: informaltable.016.xml 5257 2005-10-12 13:48:50Z nwalsh $</releaseinfo>
+<author><firstname>Adam</firstname> <surname>Di Carlo</surname>
+        <affiliation><address><email>adam onshored com</email></address></affiliation>
+</author>
+</articleinfo>
+
+
+<!--
++........+........+........+........+
+|   A    |   B    |   C    |   D    |
++........+........+........+........+
+|   E    |                         F|
++........+........+........+........+
+
+-->
+
+  <para>Spanspec test.  Cell "F" should be right aligned and spanning
+  the last 3 columns.</para>
+
+<informaltable frame="all" id="informaltable">
+      <tgroup cols="4" colsep="1" rowsep="1">
+        <colspec colname="one" align="center"/>
+        <colspec colname="two" align="center"/>
+        <colspec colname="three" align="center"/>
+        <colspec colname="four" align="center"/>
+        <spanspec namest="two" nameend="four" spanname="thespan"
+          align="right"/>
+        <tbody>
+          <row>
+            <entry>A</entry>
+            <entry>B</entry>
+            <entry>C</entry>
+            <entry>D</entry>
+          </row>
+          <row>
+            <entry>E</entry>
+            <entry spanname="thespan">F</entry>
+        </row>
+      </tbody>
+    </tgroup>
+  </informaltable>
+</article>
diff --git a/test/testdocs/informaltable.017.xml b/test/testdocs/informaltable.017.xml
new file mode 100644
index 0000000..9a52e15
--- /dev/null
+++ b/test/testdocs/informaltable.017.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article id="informaltable.017">
+<articleinfo>
+<title>Unit Test: informaltable.017</title>
+<releaseinfo role="CVS">$Id: informaltable.017.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Adam</firstname> <surname>Di Carlo</surname>
+        <affiliation><address><email>adam onshored com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>Row valign test.</para>
+
+  <informaltable frame="all" id="informaltable">
+    <tgroup cols="2">
+      <tbody>
+        <row valign="top">
+          <entry>
+            <para>Para one.</para>
+            <para>Para two.</para>
+          </entry>
+          <entry>Top align me.</entry>
+        </row>
+        <row valign="middle">
+          <entry>
+            <para>Para one.</para>
+            <para>Para two.</para>
+          </entry>
+          <entry>Middle align me.</entry>
+        </row>
+        <row valign="bottom">
+          <entry>
+            <para>Para one.</para>
+            <para>Para two.</para>
+          </entry>
+          <entry>Bottom align me.</entry>
+        </row>
+      </tbody>
+    </tgroup>
+  </informaltable>
+
+  <para>This one should look the same, we use valign setting on the tbody.</para>
+
+  <informaltable frame="all">
+    <tgroup cols="2">
+      <tbody valign="top">
+        <row>
+          <entry>
+            <para>Para one.</para>
+            <para>Para two.</para>
+          </entry>
+          <entry>Top align me.</entry>
+        </row>
+        <row valign="middle">
+          <entry>
+            <para>Para one.</para>
+            <para>Para two.</para>
+          </entry>
+          <entry>Middle align me.</entry>
+        </row>
+        <row valign="bottom">
+          <entry>
+            <para>Para one.</para>
+            <para>Para two.</para>
+          </entry>
+          <entry>Bottom align me.</entry>
+        </row>
+      </tbody>
+    </tgroup>
+  </informaltable>
+</article>
diff --git a/test/testdocs/informaltable.018.xml b/test/testdocs/informaltable.018.xml
new file mode 100644
index 0000000..32efb0b
--- /dev/null
+++ b/test/testdocs/informaltable.018.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article id="informaltable.018">
+<articleinfo>
+<title>Unit Test: informaltable.018</title>
+<releaseinfo role="CVS">$Id: informaltable.018.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Adam</firstname> <surname>Di Carlo</surname>
+        <affiliation><address><email>adam onshored com</email></address></affiliation>
+</author>
+</articleinfo>
+
+  <para>
+    Table entry whitespace trim test.  Both entries should left
+    align the same.
+  </para>
+
+  <informaltable frame="all" id="informaltable">
+    <tgroup cols="1">
+      <tbody>
+        <row>
+          <entry>
+            <para>Entry contents one.</para>
+          </entry>
+        </row>
+        <row>
+          <entry>
+            <para>
+              Entry contents two.
+            </para>
+          </entry>
+        </row>
+      </tbody>
+    </tgroup>
+  </informaltable>
+</article>
diff --git a/test/testdocs/inline.001.xml b/test/testdocs/inline.001.xml
index 732501e..ffb716f 100644
--- a/test/testdocs/inline.001.xml
+++ b/test/testdocs/inline.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article id="article">
 <articleinfo>
 <title>Unit Test: inline.001.xml</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: inline.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/inline.002.xml b/test/testdocs/inline.002.xml
new file mode 100644
index 0000000..bdccac4
--- /dev/null
+++ b/test/testdocs/inline.002.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article id="article">
+  <articleinfo>
+    <title>Unit Test: inline.002.xml</title>
+    <releaseinfo role="CVS">$Id: inline.002.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+    <author><firstname>Michael</firstname><surname>Smith</surname>
+    <affiliation><address><email>smith sideshowbarker net</email></address></affiliation>
+    </author>
+  </articleinfo>
+
+  <para>This article tests <sgmltag>userinput</sgmltag> and
+  <sgmltag>computeroutput</sgmltag> and maybe eventually some of the
+  other "computer" inlines whose HTML renderings people like to argue
+  about.</para>
+
+  <section><title>Computer stuff</title>
+
+  <para>Sometimes when you are working at a computer, things will go
+  sorta like the following. You type in something:
+  <literallayout><userinput><command>tail</command>&#xa0;<option>-f</option>&#xa0;<filename>mta.log</filename></userinput></literallayout>
+  And then the computer outputs something like:
+  <literallayout><computeroutput>stuff here
+then more stuff here
+and further stuff here</computeroutput></literallayout></para>
+  </section>
+
+</article>
diff --git a/test/testdocs/itemizedlist.001.xml b/test/testdocs/itemizedlist.001.xml
index 869e37a..69216ed 100644
--- a/test/testdocs/itemizedlist.001.xml
+++ b/test/testdocs/itemizedlist.001.xml
@@ -1,18 +1,21 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: itemizedlist.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: itemizedlist.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
 </articleinfo>
+  <para>
+Testing page breaking, variablelist nested in itemizedlist</para>
 
 <itemizedlist><title>YE OLDE ITEMIZEDLIST</title>
 <listitem><para>Item 1</para></listitem>
-<listitem><para>Item 1</para>
+<listitem><para>Item 2</para></listitem>
+<listitem><para>Item 3</para>
 <variablelist termlength="3pc">
 <varlistentry>
 <term>A</term><listitem><para>xxxxx</para></listitem></varlistentry>
@@ -20,7 +23,30 @@
 <term>B</term><listitem><para>xxxxx</para></listitem></varlistentry>
 </variablelist>
 </listitem>
-<listitem><para>Item 4</para>
+<listitem><para>Item 4</para></listitem>
+<listitem><para>Item 5</para></listitem>
+<listitem><para>Item 6</para></listitem>
+<listitem><para>Item 7</para></listitem>
+<listitem><para>another (trying to cause a page break)</para></listitem>
+<listitem><para>another</para></listitem>
+<listitem><para>another</para></listitem>
+<listitem><para>another</para></listitem>
+<listitem><para>another</para></listitem>
+<listitem><para>another</para></listitem>
+<listitem><para>another</para></listitem>
+<listitem><para>another</para></listitem>
+<listitem><para>another</para></listitem>
+<listitem><para>another</para></listitem>
+<listitem><para>another</para></listitem>
+<listitem><para>another</para></listitem>
+<listitem><para>another</para></listitem>
+<listitem><para>another</para></listitem>
+<listitem id="problem"><variablelist>
+<varlistentry>
+<term>C</term><listitem><para>xxxxx</para></listitem></varlistentry>
+<varlistentry>
+<term>D</term><listitem><para>xxxxx</para></listitem></varlistentry>
+</variablelist>
 </listitem>
 </itemizedlist>
 
diff --git a/test/testdocs/itemizedlist.002.xml b/test/testdocs/itemizedlist.002.xml
index 2740d76..65fcb5c 100644
--- a/test/testdocs/itemizedlist.002.xml
+++ b/test/testdocs/itemizedlist.002.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: itemizedlist.002</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: itemizedlist.002.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/itemizedlist.003.xml b/test/testdocs/itemizedlist.003.xml
index 2d3781b..79fafd5 100644
--- a/test/testdocs/itemizedlist.003.xml
+++ b/test/testdocs/itemizedlist.003.xml
@@ -1,15 +1,22 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: itemizedlist.003</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: itemizedlist.003.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
 </articleinfo>
 
+<para>This is a para.</para>
+
+<para>This is another para.  See the space of separate between
+    paragraphs.  The following lists should have additional space
+    before/after them, since they are not within paragraphs and thus
+    should use paragraph spacing.</para>
+
 <itemizedlist>
   <listitem><para>some text (not compact)</para></listitem>
   <listitem><para>some text (not compact)</para></listitem>
@@ -50,4 +57,20 @@
   <listitem><para>some text (compact)</para></listitem>
 </orderedlist>
 
+<para>Here is a para.</para>
+
+<para>
+The following two itemizedlists are within a block element and such
+    should use paragraph spacing between them.
+
+<itemizedlist spacing="compact">
+  <listitem><para>some text (compact)</para></listitem>
+  <listitem><para>some text (compact)</para></listitem>
+</itemizedlist>
+
+<itemizedlist spacing="compact">
+  <listitem><para>some text (compact)</para></listitem>
+  <listitem><para>some text (compact)</para></listitem>
+</itemizedlist>
+  </para>
 </article>
diff --git a/test/testdocs/itemizedlist.004.xml b/test/testdocs/itemizedlist.004.xml
new file mode 100644
index 0000000..d4a307b
--- /dev/null
+++ b/test/testdocs/itemizedlist.004.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: itemizedlist.001</title>
+<releaseinfo role="CVS">$Id: itemizedlist.004.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Adam</firstname> <surname>Di Carlo</surname>
+        <affiliation><address><email>adam onshored com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<itemizedlist>
+<listitem><para>This is the first one.</para></listitem>
+<listitem><para>
+        This second item should be flush left with first one (trim
+        whitespace).</para>
+</listitem>
+</itemizedlist>
+
+</article>
diff --git a/test/testdocs/itemizedlist.005.xml b/test/testdocs/itemizedlist.005.xml
new file mode 100644
index 0000000..c573dfe
--- /dev/null
+++ b/test/testdocs/itemizedlist.005.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article id="itemizedlist.005">
+<articleinfo>
+<title>Unit Test: itemizedlist.005</title>
+<releaseinfo role="CVS">$Id: itemizedlist.005.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Adam</firstname> <surname>Di Carlo</surname>
+        <affiliation><address><email>adam onshored com</email></address></affiliation>
+</author>
+</articleinfo>
+
+  <para>
+    Here we're testing an <sgmltag class="element"
+    >itemizedlist</sgmltag> with a title nested within another one.
+
+    <itemizedlist>
+      <listitem>
+        <itemizedlist>
+          <title>Nested Itemized List Title</title>
+          <listitem>
+            <para>Itemized list entry</para>             
+          </listitem>
+        </itemizedlist>
+      </listitem>
+    </itemizedlist></para>
+</article>
diff --git a/test/testdocs/itemizedlist.006.xml b/test/testdocs/itemizedlist.006.xml
new file mode 100644
index 0000000..e5f068b
--- /dev/null
+++ b/test/testdocs/itemizedlist.006.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article id="itemizedlist.006">
+<articleinfo>
+<title>Unit Test: itemizedlist.006</title>
+<releaseinfo role="CVS">$Id: itemizedlist.006.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Adam</firstname> <surname>Di Carlo</surname>
+        <affiliation><address><email>adam onshored com</email></address></affiliation>
+</author>
+</articleinfo>
+
+  <para>Itemized list mark styles.</para>
+
+  <itemizedlist mark="bullet">
+    <title>Bullet marks</title>
+    <listitem>
+      <para>One</para>
+    </listitem>
+    <listitem>
+      <para>Type</para>
+    </listitem>
+  </itemizedlist>
+
+  <itemizedlist mark="box">
+    <title>Box marks</title>
+    <listitem>
+      <para>One</para>
+    </listitem>
+    <listitem>
+      <para>Type</para>
+    </listitem>
+  </itemizedlist>
+
+  <para>
+    Are there more?  Check CSS spec.  DSSSL styling requires CSS for
+    this; is there a way to do it w/o CSS?
+  </para>
+</article>
diff --git a/test/testdocs/legalnotice.001.xml b/test/testdocs/legalnotice.001.xml
new file mode 100644
index 0000000..681ffdc
--- /dev/null
+++ b/test/testdocs/legalnotice.001.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"; [
+  <!ENTITY debian "<productname>Debian</productname>">
+]>
+<book id="legalnotice.001">
+<bookinfo>
+<title>Unit Test: legalnotice.001</title>
+<releaseinfo role="CVS">$Id: legalnotice.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Adam</firstname><surname>Di Carlo</surname>
+        <affiliation><address><email>adam onshored com</email></address></affiliation>
+</author>
+<edition>draft</edition>
+<legalnotice>
+      <para>
+        A copy of the GNU GPL is available as
+        <filename>/usr/share/common-licenses/GPL</filename> on a
+        &debian; system.  A copy of the GNU General Public License is
+        available.  It is available. It is available. It is
+        available. It is available. It is available. It is
+        available. It is available. It is available. It is available.
+      </para>
+      <para>
+        We're testing how <sgmltag
+        class="element">productname</sgmltag> looks inside of <sgmltag
+        class="element">legalnotice</sgmltag>.
+      </para>
+    </legalnotice>
+</bookinfo>
+</book>
diff --git a/test/testdocs/lineannotation.001.xml b/test/testdocs/lineannotation.001.xml
new file mode 100644
index 0000000..26969cd
--- /dev/null
+++ b/test/testdocs/lineannotation.001.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article id="article">
+<articleinfo>
+<title>Unit Test: lineannotation.001.xml</title>
+<releaseinfo role="CVS">$Id: lineannotation.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>This article tests <sgmltag>lineannotation</sgmltag>.</para>
+
+<screen>This is a
+screen                  <lineannotation>annotation 1</lineannotation>
+with several
+lines that have no      <lineannotation>annotation 2</lineannotation>
+particular meaning</screen>
+
+</article>
diff --git a/test/testdocs/link.001.xml b/test/testdocs/link.001.xml
index 3609afb..fa8830a 100644
--- a/test/testdocs/link.001.xml
+++ b/test/testdocs/link.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: link.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: link.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/literallayout.001.xml b/test/testdocs/literallayout.001.xml
index 3ed7d45..ff549d4 100644
--- a/test/testdocs/literallayout.001.xml
+++ b/test/testdocs/literallayout.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: literallayout.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: literallayout.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/literallayout.002.xml b/test/testdocs/literallayout.002.xml
index f5a50e7..3c31674 100644
--- a/test/testdocs/literallayout.002.xml
+++ b/test/testdocs/literallayout.002.xml
@@ -1,16 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: literallayout.002</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: literallayout.002.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
 </articleinfo>
 
-<literallayout>LiteralLayout: This is a test
+<literallayout><ulink url="http://docbook.org/tdg/en/html/literallayout.html";>LiteralLayout</ulink>: This is a test
     This is a test with <emphasis>    embedded
   markup</emphasis>; but still
   Only a test.
diff --git a/test/testdocs/literallayout.003.xml b/test/testdocs/literallayout.003.xml
index b287f3e..9534d16 100644
--- a/test/testdocs/literallayout.003.xml
+++ b/test/testdocs/literallayout.003.xml
@@ -1,15 +1,21 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: literallayout.003</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: literallayout.003.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
 </articleinfo>
 
+<literallayout>LiteralLayout: This is a test
+  Only a test.
+Had this been a real emegency,
+  We would have fled in terror
+And you would not have been informed.</literallayout>
+
 <literallayout class="monospaced">LiteralLayout(monospaced): This is a test
   Only a test.
 Had this been a real emegency,
diff --git a/test/testdocs/lot.001.xml b/test/testdocs/lot.001.xml
index 5203bed..283048f 100644
--- a/test/testdocs/lot.001.xml
+++ b/test/testdocs/lot.001.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-               "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"; [
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"; [
 <!ENTITY blah "<para>Blah blah blah blah. Blah blah blah blah. Blah blah blah blah.
 Blah blah blah blah blah blah blah blah. Blah blah blah blah.
 </para>">
@@ -8,7 +8,7 @@ Blah blah blah blah blah blah blah blah. Blah blah blah blah.
 <book id="book">
 <bookinfo>
 <title>Unit Test: lot.001</title>
-<releaseinfo role="CVS">$Id$
+<releaseinfo role="CVS">$Id: lot.001.xml 4056 2004-11-23 13:28:50Z nwalsh $
 </releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
diff --git a/test/testdocs/mathml.001.xml b/test/testdocs/mathml.001.xml
index f7169af..f670f86 100644
--- a/test/testdocs/mathml.001.xml
+++ b/test/testdocs/mathml.001.xml
@@ -1,19 +1,18 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook MathML Module V1.0//EN"
-                  "http://www.oasis-open.org/docbook/xml/mathml/1.0/dbmathml.dtd";>
-
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article id="article">
 <articleinfo>
 <title>Unit Test: mathml.001.xml</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: mathml.001.xml 5290 2005-10-16 02:07:50Z xmldoc $</releaseinfo>
 </articleinfo>
 
 <para>The following equation is in MathML:</para>
 
-<informalequation>
-  <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML";>
-    <mml:apply><mml:divide/></mml:apply>
-  </mml:math>
-</informalequation>
+ <informalequation>
+   <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML";>
+     <mml:apply><mml:divide/><mml:ci>1</mml:ci><mml:ci>6</mml:ci></mml:apply>
+   </mml:math>
+ </informalequation>
 
 </article>
diff --git a/test/testdocs/mediaobject.001.xml b/test/testdocs/mediaobject.001.xml
index 6ea3e76..36fe9ef 100644
--- a/test/testdocs/mediaobject.001.xml
+++ b/test/testdocs/mediaobject.001.xml
@@ -1,11 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
-<?dbhtml dir="html"?>
 <articleinfo>
 <title>Unit Test: mediaobject.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: mediaobject.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
@@ -15,16 +14,16 @@
     <imageobject>
       <imagedata
         align="right"
-        width="50%"
-        fileref="graphics/duck-small.gif"
+        width="6in"
+        fileref="graphics/duck-small.png"
+        format="PNG"
         srccredit="O'Reilly &amp; Associates/Dover Archives"/>
     </imageobject>
     <imageobject>
       <imagedata
         align="right"
-        width="50%"
-        fileref="graphics/duck-small.png"
-        format="PNG"
+        width="6in"
+        fileref="graphics/duck-small.gif"
         srccredit="O'Reilly &amp; Associates/Dover Archives"/>
     </imageobject>
     <textobject><phrase>The DocBook: TDG Duck</phrase></textobject>
diff --git a/test/testdocs/mediaobject.002.xml b/test/testdocs/mediaobject.002.xml
new file mode 100644
index 0000000..cb93233
--- /dev/null
+++ b/test/testdocs/mediaobject.002.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: mediaobject.002</title>
+<releaseinfo role="CVS">$Id: mediaobject.002.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+  <mediaobject>
+    <imageobject>
+      <imagedata
+        fileref="graphics/duck-small.png"
+        format="PNG"
+        srccredit="O'Reilly &amp; Associates/Dover Archives"/>
+    </imageobject>
+    <textobject><phrase>The DocBook: TDG Duck</phrase></textobject>
+    <textobject role="text">
+<para>The bird on the cover of <citetitle>DocBook: The Definitive
+Guide</citetitle> is a wood duck.  Often considered one of the most
+beautiful ducks in North America, the mail wood duck has a metallic
+purple and green head with white streaks extending from its bill
+around the eyes and down to its blue and green, gold-flecked
+wings. It has a white neck, chestnut-colored chest, a white or red
+bill, and yellow-orange legs and feet. Females have more brown, gray,
+and subdueed hues.
+</para>
+
+<para>Edie Freedman designed the cover of this book, using a
+19th-century engraving from the Dover Pictorial Archive. The
+cover layout was produced by Kathleen Wilson using QuarkXPress
+3.32 and Adobe's ITC Garamond font. The inside layout was
+designed by Alicia Cech, based on a series design by Nancy
+Priest. The text was formatted from SGML into FrameMaker 5.5
+with Jade, using a DSSSL conversion stylesheet written by
+Chris Maden. The interior fonts are ITC Garamond Light,
+Garamond Book, and ConstantWillison.
+</para>
+    </textobject>
+    <caption><para>The Duck</para></caption>
+  </mediaobject>
+
+</article>
diff --git a/test/testdocs/mediaobjectco.001.xml b/test/testdocs/mediaobjectco.001.xml
new file mode 100644
index 0000000..eea9c15
--- /dev/null
+++ b/test/testdocs/mediaobjectco.001.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: mediaobjectco.001</title>
+<releaseinfo role="CVS">$Id: mediaobjectco.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+  <mediaobjectco>
+    <imageobjectco>
+      <areaspec>
+        <area id="a1" units="calspair" coords="50,50,50,50"/>
+        <areaset id="s1" coords="">
+          <area id="a2" units="calspair" coords="25,25,25,25"/>
+          <area id="a3" units="calspair" coords="75,75,75,75"/>
+        </areaset>
+      </areaspec>
+      <imageobject>
+        <imagedata
+          fileref="graphics/duck.png"
+          contentwidth="400px"
+          contentdepth="400px"
+          srccredit="O'Reilly &amp; Associates/Dover Archives"/>
+      </imageobject>
+    </imageobjectco>
+    <textobject><phrase>alt text</phrase></textobject>
+  </mediaobjectco>
+
+</article>
diff --git a/test/testdocs/mediaobjectco.002.xml b/test/testdocs/mediaobjectco.002.xml
new file mode 100644
index 0000000..bb1905d
--- /dev/null
+++ b/test/testdocs/mediaobjectco.002.xml
@@ -0,0 +1,212 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: mediaobjectco.002</title>
+<releaseinfo role="CVS"
+             >$Id: mediaobjectco.002.xml 5308 2005-10-17 14:46:44Z xmldoc $</releaseinfo>
+<corpauthor>DocBook Project Development Team</corpauthor>
+</articleinfo>
+
+<para>Invalid calspair coordinates format.</para>
+
+  <mediaobjectco>
+    <imageobjectco>
+      <areaspec>
+        <area id="a1" units="calspair" coords="50,50,50,50"/>
+        <areaset id="s1" coords="">
+          <area id="a2" units="calspair" coords="25000,25 25,15000"/>
+          <area id="a3" units="calspair" coords="XX,75 75,YY"/>
+        </areaset>
+      </areaspec>
+      <imageobject>
+        <imagedata
+          fileref="graphics/duck.png"
+          contentwidth="400px"
+          contentdepth="400px"
+          srccredit="O'Reilly &amp; Associates/Dover Archives"/>
+      </imageobject>
+    </imageobjectco>
+    <textobject><phrase>alt text</phrase></textobject>
+  </mediaobjectco>
+
+<para>Valid mediaobjectco. It checks that the coordinates of the markups are
+correct, and that the <sgmltag>calloutlist</sgmltag> is correct too.</para>
+
+<mediaobjectco>
+  <imageobjectco>
+    <areaspec>
+      <area id="va1" units="calspair" coords="0,0 0,0"/>
+      <area id="va2" units="calspair" coords="5000,0 5000,0"/>
+      <area id="va3" units="calspair" coords="10000,0 10000,0"/>
+      <area id="va4" units="calspair" coords="10000,5000 10000,5000"/>
+      <area id="va5" units="calspair" coords="10000,10000 10000,10000"/>
+      <area id="va6" units="calspair" coords="5000,10000 5000,10000"/>
+      <area id="va7" units="calspair" coords="0,10000 0,10000"/>
+      <area id="va8" units="calspair" coords="0,5000 0,5000"/>
+      <area id="va9" units="calspair" coords="3333,1666 3333,1666" linkends="co-va9"/>
+      <area id="va10" units="calspair" coords="6666,1666 6666,1666" linkends="co-va10"/>
+    </areaspec>
+    <imageobject>
+      <imagedata
+        fileref="graphics/duck.png"
+        contentwidth="400px"
+        contentdepth="400px"
+        srccredit="O'Reilly &amp; Associates/Dover Archives"/>
+    </imageobject>
+    <calloutlist>
+    <callout arearefs="va1">
+    <para>Coordinates are (0,0)</para>
+    </callout>
+    <callout arearefs="va2">
+    <para>Coordinates are (50%,0)</para>
+    </callout>
+    <callout arearefs="va3">
+    <para>Coordinates are (100%,0)</para>
+    </callout>
+    <callout arearefs="va4">
+    <para>Coordinates are (100%,50%)</para>
+    </callout>
+    <callout arearefs="va5">
+    <para>Coordinates are (100%,100%)</para>
+    </callout>
+    <callout arearefs="va6">
+    <para>Coordinates are (50%,100%)</para>
+    </callout>
+    <callout arearefs="va7">
+    <para>Coordinates are (0,100%)</para>
+    </callout>
+    <callout arearefs="va8">
+    <para>Coordinates are (0,50%)</para>
+    </callout>
+    <callout arearefs="va9" id="co-va9">
+    <para>Coordinates are (1/3,1/6)</para>
+    </callout>
+    <callout arearefs="va10" id="co-va10">
+    <para>Coordinates are (2/3,1/6)</para>
+    </callout>
+    </calloutlist>
+    </imageobjectco>
+    <textobject><phrase>alt text</phrase></textobject>
+  </mediaobjectco>
+
+<para>Valid mediaobjectco. It checks that the coordinates follow the actual
+image sizes.</para>
+
+<mediaobjectco>
+  <imageobjectco>
+    <areaspec>
+      <area id="vb1" units="calspair" coords="0,0 0,0"/>
+      <area id="vb2" units="calspair" coords="5000,0 5000,0"/>
+      <area id="vb3" units="calspair" coords="10000,0 10000,0"/>
+      <area id="vb4" units="calspair" coords="10000,5000 10000,5000"/>
+      <area id="vb5" units="calspair" coords="10000,10000 10000,10000"/>
+      <area id="vb6" units="calspair" coords="5000,10000 5000,10000"/>
+      <area id="vb7" units="calspair" coords="0,10000 0,10000"/>
+      <area id="vb8" units="calspair" coords="0,5000 0,5000"/>
+      <area id="vb9" units="calspair" coords="3333,1666 3333,1666" linkends="co-vb9"/>
+      <area id="vb10" units="calspair" coords="6666,1666 6666,1666" linkends="co-vb10"/>
+    </areaspec>
+    <imageobject>
+      <imagedata
+        fileref="graphics/duck.png"
+        contentwidth="300px"
+        contentdepth="400px"
+        srccredit="O'Reilly &amp; Associates/Dover Archives"/>
+    </imageobject>
+    <calloutlist>
+    <callout arearefs="vb1">
+    <para>Coordinates are (0,0)</para>
+    </callout>
+    <callout arearefs="vb2">
+    <para>Coordinates are (50%,0)</para>
+    </callout>
+    <callout arearefs="vb3">
+    <para>Coordinates are (100%,0)</para>
+    </callout>
+    <callout arearefs="vb4">
+    <para>Coordinates are (100%,50%)</para>
+    </callout>
+    <callout arearefs="vb5">
+    <para>Coordinates are (100%,100%)</para>
+    </callout>
+    <callout arearefs="vb6">
+    <para>Coordinates are (50%,100%)</para>
+    </callout>
+    <callout arearefs="vb7">
+    <para>Coordinates are (0,100%)</para>
+    </callout>
+    <callout arearefs="vb8">
+    <para>Coordinates are (0,50%)</para>
+    </callout>
+    <callout arearefs="vb9" id="co-vb9">
+    <para>Coordinates are (1/3,1/6)</para>
+    </callout>
+    <callout arearefs="vb10" id="co-vb10">
+    <para>Coordinates are (2/3,1/6)</para>
+    </callout>
+    </calloutlist>
+  </imageobjectco>
+  <textobject><phrase>alt text</phrase></textobject>
+</mediaobjectco>
+
+<mediaobjectco>
+  <imageobjectco>
+    <areaspec>
+      <area id="vc1" units="calspair" coords="0,0 0,0"/>
+      <area id="vc2" units="calspair" coords="5000,0 5000,0"/>
+      <area id="vc3" units="calspair" coords="10000,0 10000,0"/>
+      <area id="vc4" units="calspair" coords="10000,5000 10000,5000"/>
+      <area id="vc5" units="calspair" coords="10000,10000 10000,10000"/>
+      <area id="vc6" units="calspair" coords="5000,10000 5000,10000"/>
+      <area id="vc7" units="calspair" coords="0,10000 0,10000"/>
+      <area id="vc8" units="calspair" coords="0,5000 0,5000"/>
+      <area id="vc9" units="calspair" coords="3333,1666 3333,1666" linkends="co-vc9"/>
+      <area id="vc10" units="calspair" coords="6666,1666 6666,1666" linkends="co-vc10"/>
+    </areaspec>
+    <imageobject>
+      <imagedata
+        fileref="graphics/duck.png"
+        contentwidth="300px"
+        contentdepth="200px"
+        srccredit="O'Reilly &amp; Associates/Dover Archives"/>
+    </imageobject>
+    <calloutlist>
+    <callout arearefs="vc1">
+    <para>Coordinates are (0,0)</para>
+    </callout>
+    <callout arearefs="vc2">
+    <para>Coordinates are (50%,0)</para>
+    </callout>
+    <callout arearefs="vc3">
+    <para>Coordinates are (100%,0)</para>
+    </callout>
+    <callout arearefs="vc4">
+    <para>Coordinates are (100%,50%)</para>
+    </callout>
+    <callout arearefs="vc5">
+    <para>Coordinates are (100%,100%)</para>
+    </callout>
+    <callout arearefs="vc6">
+    <para>Coordinates are (50%,100%)</para>
+    </callout>
+    <callout arearefs="vc7">
+    <para>Coordinates are (0,100%)</para>
+    </callout>
+    <callout arearefs="vc8">
+    <para>Coordinates are (0,50%)</para>
+    </callout>
+    <callout arearefs="vc9" id="co-vc9">
+    <para>Coordinates are (1/3,1/6)</para>
+    </callout>
+    <callout arearefs="vc10" id="co-vc10">
+    <para>Coordinates are (2/3,1/6)</para>
+    </callout>
+    </calloutlist>
+  </imageobjectco>
+  <textobject><phrase>alt text</phrase></textobject>
+</mediaobjectco>
+
+
+</article>
diff --git a/test/testdocs/methodsynopsis.001.xml b/test/testdocs/methodsynopsis.001.xml
index 0700938..2e8ee28 100644
--- a/test/testdocs/methodsynopsis.001.xml
+++ b/test/testdocs/methodsynopsis.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article id="article">
 <articleinfo>
 <title>Unit Test: methodsynopsis.001.xml</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: methodsynopsis.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/note.001.xml b/test/testdocs/note.001.xml
index fa8a477..5ee6e79 100644
--- a/test/testdocs/note.001.xml
+++ b/test/testdocs/note.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: note.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: note.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/olink.001.xml b/test/testdocs/olink.001.xml
index 9c21c3d..c0f258e 100644
--- a/test/testdocs/olink.001.xml
+++ b/test/testdocs/olink.001.xml
@@ -1,12 +1,12 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"; [
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"; [
 <!ENTITY olink.001.xml SYSTEM "olink.001.xml" NDATA SGML>
 ]>
 <article>
 <articleinfo>
 <title>Unit Test: olink.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: olink.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/orderedlist.001.xml b/test/testdocs/orderedlist.001.xml
index e1bf0bf..8a52b37 100644
--- a/test/testdocs/orderedlist.001.xml
+++ b/test/testdocs/orderedlist.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: orderedlist.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: orderedlist.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/orderedlist.002.xml b/test/testdocs/orderedlist.002.xml
index 454255d..2242bd5 100644
--- a/test/testdocs/orderedlist.002.xml
+++ b/test/testdocs/orderedlist.002.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: orderedlist.002</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: orderedlist.002.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/orderedlist.003.xml b/test/testdocs/orderedlist.003.xml
new file mode 100644
index 0000000..360312d
--- /dev/null
+++ b/test/testdocs/orderedlist.003.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: orderedlist.003</title>
+<releaseinfo role="CVS">$Id: orderedlist.003.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>Test list continuation. And cross-references;
+item â??2â??: <xref linkend="i2"/> and item â??4â??: <xref linkend="i4"/>.</para>
+
+<orderedlist spacing="compact">
+<listitem><simpara>First item</simpara></listitem>
+<listitem id="i2"><simpara>Second item</simpara></listitem>
+<listitem><simpara>Third item</simpara></listitem>
+</orderedlist>
+
+<para>And then a break occurs...a break in my sanity, apparently,
+because changing the numeration style across a â??continuesâ?? break seems
+really stupid. But this a unit test, after all. Stupid is
+allowed.</para>
+
+<orderedlist spacing="compact" continuation="continues" numeration="upperalpha">
+<listitem id="i4"><simpara>Fourth item</simpara></listitem>
+<listitem><simpara>Fifth item</simpara></listitem>
+<listitem><simpara>Sixth item</simpara></listitem>
+</orderedlist>
+
+</article>
diff --git a/test/testdocs/part.001.xml b/test/testdocs/part.001.xml
new file mode 100644
index 0000000..ab1aedf
--- /dev/null
+++ b/test/testdocs/part.001.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE part PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<part>
+  <partinfo>
+    <releaseinfo role="CVS">$Id: part.001.xml 8020 2008-05-30 16:28:36Z abdelazer $</releaseinfo>
+  </partinfo>
+  <title>Unit Test: part.001</title>
+  <chapter>
+    <title>Chapter</title>
+    <para>Some test data
+    <indexterm>
+      <primary>First Part</primary>
+    </indexterm></para>
+    <para>Referencing <firstterm>gloss-1</firstterm>.</para>
+    <sect1>
+      <title>A sect1 in a chapter</title>
+      <para>With a little text.</para>
+    </sect1>
+  </chapter>
+
+  <glossary role="auto">
+    <remark>make sure <glossterm>gloss-2</glossterm> is referenced</remark>
+    <glossdiv>
+      <title>foo</title>
+      <glossentry><glossterm>irrelevant</glossterm>
+      <glossdef><para/></glossdef>
+      </glossentry>
+    </glossdiv>
+  </glossary>
+
+  <bibliography>
+    <bibliographyinfo>
+      <author><firstname>Norman</firstname><surname>Walsh</surname>
+      <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+      </author>
+    </bibliographyinfo>
+
+    <bibliodiv>
+      <title>Entries using biblioentry</title>
+
+      <biblioentry>
+	<abbrev>AhoSethiUllman96</abbrev>
+	<authorgroup>
+	  <author><firstname>Alfred V.</firstname><surname>Aho</surname></author>  
+	  <author><firstname>Ravi</firstname><surname>Sethi</surname></author>
+	  <author><firstname>Jeffrey D.</firstname><surname>Ullman</surname></author>
+	</authorgroup>
+	<title>Compilers, Principles, Techniques, and Tools</title>    
+	<publisher>
+	  <publishername>Addison-Wesley Publishing Company</publishername>
+	</publisher>
+	<copyright><year>1996</year>
+	<holder>Bell Telephone Laboratories, Inc.</holder></copyright>
+	<isbn>0-201-10088-6</isbn>    
+	<editor><firstname>James T.</firstname><surname>DeWolf</surname></editor>
+      </biblioentry>
+
+    </bibliodiv>
+  </bibliography>
+  <index/>
+</part>
diff --git a/test/testdocs/personname.001.xml b/test/testdocs/personname.001.xml
new file mode 100644
index 0000000..1fb905f
--- /dev/null
+++ b/test/testdocs/personname.001.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: personname.001</title>
+<releaseinfo role="CVS">$Id: personname.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Adam</firstname><surname>Di Carlo</surname>
+        <affiliation><address><email>adam onshored com</email></address></affiliation>
+</author>
+</articleinfo>
+
+  <para>My name is <personname><firstname>Adam</firstname
+><othername>P.</othername><surname>Di Carlo</surname
+></personname>.  Please don't squish my name all together.</para>
+</article>
diff --git a/test/testdocs/procedure.001.xml b/test/testdocs/procedure.001.xml
index c7d3bfc..b0b705f 100644
--- a/test/testdocs/procedure.001.xml
+++ b/test/testdocs/procedure.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: procedure.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: procedure.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/procedure.002.xml b/test/testdocs/procedure.002.xml
index 21be40f..d451e41 100644
--- a/test/testdocs/procedure.002.xml
+++ b/test/testdocs/procedure.002.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: procedure.002</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: procedure.002.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
@@ -22,19 +22,19 @@
 <step><title>Setup</title>
 <para>Select SETUP.</para>
 <substeps>
-<step><para>Should be an &ldquo;a&rdquo;</para>
+<step><para>Should be an â??aâ??</para>
 </step>
-<step><para>Should be a &ldquo;b&rdquo;</para>
+<step><para>Should be a â??bâ??</para>
 </step>
-<step><para>Should be a &ldquo;c&rdquo;</para>
+<step><para>Should be a â??câ??</para>
 </step>
-<step><para>Should be a &ldquo;d&rdquo;</para>
+<step><para>Should be a â??dâ??</para>
 </step>
-<step><para>should be an &ldquo;e&rdquo;</para>
+<step><para>should be an â??eâ??</para>
 <substeps>
-<step><para>should be an &ldquo;i&rdquo;</para>
+<step><para>should be an â??iâ??</para>
 </step>
-<step><para>should be an &ldquo;ii&rdquo;</para>
+<step><para>should be an â??iiâ??</para>
 </step>
 </substeps>
 </step>
diff --git a/test/testdocs/procedure.003.xml b/test/testdocs/procedure.003.xml
index 0760f8d..19673f2 100644
--- a/test/testdocs/procedure.003.xml
+++ b/test/testdocs/procedure.003.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: procedure.003</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: procedure.003.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/productionset.001.xml b/test/testdocs/productionset.001.xml
index 6c8d43a..6b3c992 100644
--- a/test/testdocs/productionset.001.xml
+++ b/test/testdocs/productionset.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook EBNF Module V1.0//EN"
-                  "http://www.oasis-open.org/docbook/xml/ebnf/1.0/dbebnf.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: productionset.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: productionset.001.xml 4105 2004-12-15 23:00:31Z xmldoc $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/productionset.002.xml b/test/testdocs/productionset.002.xml
index 65e393c..4e2bb66 100644
--- a/test/testdocs/productionset.002.xml
+++ b/test/testdocs/productionset.002.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook EBNF Module V1.0//EN"
-                  "http://www.oasis-open.org/docbook/xml/ebnf/1.0/dbebnf.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: productionset.002</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: productionset.002.xml 4105 2004-12-15 23:00:31Z xmldoc $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/productionset.003.xml b/test/testdocs/productionset.003.xml
index eeaddc3..da3d76d 100644
--- a/test/testdocs/productionset.003.xml
+++ b/test/testdocs/productionset.003.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook EBNF Module V1.0//EN"
-                  "http://www.oasis-open.org/docbook/xml/ebnf/1.0/dbebnf.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: productionset.003</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: productionset.003.xml 4105 2004-12-15 23:00:31Z xmldoc $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/productionset.004.xml b/test/testdocs/productionset.004.xml
index 2702a3d..a58bf2e 100644
--- a/test/testdocs/productionset.004.xml
+++ b/test/testdocs/productionset.004.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook EBNF Module V1.0//EN"
-                  "http://www.oasis-open.org/docbook/xml/ebnf/1.0/dbebnf.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: productionset.004</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: productionset.004.xml 4105 2004-12-15 23:00:31Z xmldoc $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/productionset.005.xml b/test/testdocs/productionset.005.xml
index 56a5339..2a49930 100644
--- a/test/testdocs/productionset.005.xml
+++ b/test/testdocs/productionset.005.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook EBNF Module V1.0//EN"
-                      "http://www.oasis-open.org/docbook/xml/ebnf/1.0/dbebnf.dtd";>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <book>
 <bookinfo>
 <title>Unit Test: productionset.005</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: productionset.005.xml 4105 2004-12-15 23:00:31Z xmldoc $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/productionset.006.xml b/test/testdocs/productionset.006.xml
new file mode 100644
index 0000000..647a199
--- /dev/null
+++ b/test/testdocs/productionset.006.xml
@@ -0,0 +1,809 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: productionset.006</title>
+<releaseinfo role="CVS">$Id: productionset.006.xml 4105 2004-12-15 23:00:31Z xmldoc $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<productionset><title>Python Grammar<footnote>
+<para>Derived pseudo-mechanically from
+<ulink url="http://www.python.org/doc/current/ref/grammar.txt"/>.</para>
+</footnote></title>
+
+<production id="identifier">
+<lhs>identifier</lhs>
+<rhs>(<nonterminal def="#letter">letter</nonterminal>|"_") (<nonterminal def="#letter">letter</nonterminal>|<nonterminal def="#digit">digit</nonterminal>| "_")*</rhs>
+</production>
+
+<production id="letter">
+<lhs>letter</lhs>
+<rhs><nonterminal def="#lowercase">lowercase</nonterminal> <sbr/>| <nonterminal def="#uppercase">uppercase</nonterminal>
+</rhs>
+</production>
+
+<production id="lowercase">
+<lhs>lowercase</lhs>
+<rhs>"a"..."z"
+</rhs>
+</production>
+
+<production id="uppercase">
+<lhs>uppercase</lhs>
+<rhs>"A"..."Z"
+</rhs>
+</production>
+
+<production id="digit">
+<lhs>digit</lhs>
+<rhs>"0"..."9"
+</rhs>
+</production>
+
+<production id="stringliteral">
+<lhs>stringliteral</lhs>
+<rhs>[<nonterminal def="#stringprefix">stringprefix</nonterminal>](<nonterminal def="#shortstring">shortstring</nonterminal> | <nonterminal def="#longstring">longstring</nonterminal>)
+</rhs>
+</production>
+
+<production id="stringprefix">
+<lhs>stringprefix</lhs>
+<rhs>"r" | "u" | "ur" | "R" | "U" | "UR" | "Ur" | "uR"
+</rhs>
+</production>
+
+<production id="shortstring">
+<lhs>shortstring</lhs>
+<rhs>"'" <nonterminal def="#shortstringitem">shortstringitem</nonterminal>* "'" <sbr/>| '"' <nonterminal def="#shortstringitem">shortstringitem</nonterminal>* '"'
+</rhs>
+</production>
+
+<production id="longstring">
+<lhs>longstring</lhs>
+<rhs>"'''" <nonterminal def="#longstringitem">longstringitem</nonterminal>* "'''" <sbr/>| '"""' <nonterminal def="#longstringitem">longstringitem</nonterminal>* '"""'
+</rhs>
+</production>
+
+<production id="shortstringitem">
+<lhs>shortstringitem</lhs>
+<rhs><nonterminal def="#shortstringchar">shortstringchar</nonterminal> <sbr/>| <nonterminal def="#escapeseq">escapeseq</nonterminal>
+</rhs>
+</production>
+
+<production id="longstringitem">
+<lhs>longstringitem</lhs>
+<rhs><nonterminal def="#longstringchar">longstringchar</nonterminal> <sbr/>| <nonterminal def="#escapeseq">escapeseq</nonterminal>
+</rhs>
+</production>
+
+<production id="shortstringchar">
+<lhs>shortstringchar</lhs>
+<rhs>any ASCII character except "\" or newline or the quote
+</rhs>
+</production>
+
+<production id="longstringchar">
+<lhs>longstringchar</lhs>
+<rhs>any ASCII character except "\"
+</rhs>
+</production>
+
+<production id="escapeseq">
+<lhs>escapeseq</lhs>
+<rhs>"\" any ASCII character
+</rhs>
+</production>
+
+<production id="longinteger">
+<lhs>longinteger</lhs>
+<rhs><nonterminal def="#integer">integer</nonterminal> ("l" | "L")
+</rhs>
+</production>
+
+<production id="integer">
+<lhs>integer</lhs>
+<rhs><nonterminal def="#decimalinteger">decimalinteger</nonterminal> <sbr/>| <nonterminal def="#octinteger">octinteger</nonterminal> <sbr/>| <nonterminal def="#hexinteger">hexinteger</nonterminal>
+</rhs>
+</production>
+
+<production id="decimalinteger">
+<lhs>decimalinteger</lhs>
+<rhs><nonterminal def="#nonzerodigit">nonzerodigit</nonterminal> <nonterminal def="#digit">digit</nonterminal>* | "0"
+</rhs>
+</production>
+
+<production id="octinteger">
+<lhs>octinteger</lhs>
+<rhs>"0" <nonterminal def="#octdigit">octdigit</nonterminal>+
+</rhs>
+</production>
+
+<production id="hexinteger">
+<lhs>hexinteger</lhs>
+<rhs>"0" ("x" | "X") <nonterminal def="#hexdigit">hexdigit</nonterminal>+
+</rhs>
+</production>
+
+<production id="nonzerodigit">
+<lhs>nonzerodigit</lhs>
+<rhs>"1"..."9"
+</rhs>
+</production>
+
+<production id="octdigit">
+<lhs>octdigit</lhs>
+<rhs>"0"..."7"
+</rhs>
+</production>
+
+<production id="hexdigit">
+<lhs>hexdigit</lhs>
+<rhs><nonterminal def="#digit">digit</nonterminal> <sbr/>| "a"..."f" <sbr/>| "A"..."F"
+</rhs>
+</production>
+
+<production id="floatnumber">
+<lhs>floatnumber</lhs>
+<rhs><nonterminal def="#pointfloat">pointfloat</nonterminal> <sbr/>| <nonterminal def="#exponentfloat">exponentfloat</nonterminal>
+</rhs>
+</production>
+
+<production id="pointfloat">
+<lhs>pointfloat</lhs>
+<rhs>[<nonterminal def="#intpart">intpart</nonterminal>] <nonterminal def="#fraction">fraction</nonterminal> <sbr/>| <nonterminal def="#intpart">intpart</nonterminal> "."
+</rhs>
+</production>
+
+<production id="exponentfloat">
+<lhs>exponentfloat</lhs>
+<rhs>(<nonterminal def="#intpart">intpart</nonterminal> | <nonterminal def="#pointfloat">pointfloat</nonterminal>) <nonterminal def="#exponent">exponent</nonterminal>
+</rhs>
+</production>
+
+
+<production id="intpart">
+<lhs>intpart</lhs>
+<rhs><nonterminal def="#digit">digit</nonterminal>+
+</rhs>
+</production>
+
+<production id="fraction">
+<lhs>fraction</lhs>
+<rhs>"." <nonterminal def="#digit">digit</nonterminal>+
+</rhs>
+</production>
+
+<production id="exponent">
+<lhs>exponent</lhs>
+<rhs>("e" | "E") ["+" | "-"] <nonterminal def="#digit">digit</nonterminal>+
+</rhs>
+</production>
+
+<production id="imagnumber">
+<lhs>imagnumber</lhs>
+<rhs>(<nonterminal def="#floatnumber">floatnumber</nonterminal> <sbr/>| <nonterminal def="#intpart">intpart</nonterminal>) ("j" | "J")
+</rhs>
+</production>
+
+<production id="atom">
+<lhs>atom</lhs>
+<rhs><nonterminal def="#identifier">identifier</nonterminal> <sbr/>| <nonterminal def="#literal">literal</nonterminal> <sbr/>| <nonterminal def="#enclosure">enclosure</nonterminal>
+</rhs>
+</production>
+
+<production id="enclosure">
+<lhs>enclosure</lhs>
+<rhs><nonterminal def="#parenth_form">parenth_form</nonterminal> <sbr/>| <nonterminal def="#list_display">list_display</nonterminal> <sbr/>| <nonterminal def="#dict_display">dict_display</nonterminal> <sbr/>| <nonterminal def="#string_conversion">string_conversion</nonterminal>
+</rhs>
+</production>
+
+
+<production id="literal">
+<lhs>literal</lhs>
+<rhs><nonterminal def="#stringliteral">stringliteral</nonterminal> <sbr/>| <nonterminal def="#integer">integer</nonterminal> <sbr/>| <nonterminal def="#longinteger">longinteger</nonterminal> <sbr/>| <nonterminal def="#floatnumber">floatnumber</nonterminal> <sbr/>| <nonterminal def="#imagnumber">imagnumber</nonterminal>
+</rhs>
+</production>
+
+
+<production id="parenth_form">
+<lhs>parenth_form</lhs>
+<rhs>"(" [<nonterminal def="#expression_list">expression_list</nonterminal>] ")"
+</rhs>
+</production>
+
+<production id="list_display">
+<lhs>list_display</lhs>
+<rhs>"[" [<nonterminal def="#listmaker">listmaker</nonterminal>] "]"
+</rhs>
+</production>
+
+<production id="listmaker">
+<lhs>listmaker</lhs>
+<rhs><nonterminal def="#expression">expression</nonterminal> ( <nonterminal def="#list_for">list_for</nonterminal> | ( "," <nonterminal def="#expression">expression</nonterminal>)* [","] )
+</rhs>
+</production>
+
+
+<production id="list_iter">
+<lhs>list_iter</lhs>
+<rhs><nonterminal def="#list_for">list_for</nonterminal> <sbr/>| <nonterminal def="#list_if">list_if</nonterminal>
+</rhs>
+</production>
+
+<production id="list_for">
+<lhs>list_for</lhs>
+<rhs>"for" <nonterminal def="#expression_list">expression_list</nonterminal> "in" testlist [<nonterminal def="#list_iter">list_iter</nonterminal>]
+</rhs>
+</production>
+
+
+<production id="list_if">
+<lhs>list_if</lhs>
+<rhs>"if" test [<nonterminal def="#list_iter">list_iter</nonterminal>]
+</rhs>
+</production>
+
+<production id="dict_display">
+<lhs>dict_display</lhs>
+<rhs>"\{" [<nonterminal def="#key_datum_list">key_datum_list</nonterminal>] "\}"
+</rhs>
+</production>
+
+<production id="key_datum_list">
+<lhs>key_datum_list</lhs>
+<rhs><nonterminal def="#key_datum">key_datum</nonterminal> ("," <nonterminal def="#key_datum">key_datum</nonterminal>)* [","]
+</rhs>
+</production>
+
+<production id="key_datum">
+<lhs>key_datum</lhs>
+<rhs><nonterminal def="#expression">expression</nonterminal> ":" <nonterminal def="#expression">expression</nonterminal>
+</rhs>
+</production>
+
+<production id="string_conversion">
+<lhs>string_conversion</lhs>
+<rhs>"`" <nonterminal def="#expression_list">expression_list</nonterminal> "`"
+</rhs>
+</production>
+
+<production id="primary">
+<lhs>primary</lhs>
+<rhs><nonterminal def="#atom">atom</nonterminal> <sbr/>| <nonterminal def="#attributeref">attributeref</nonterminal> <sbr/>| <nonterminal def="#subscription">subscription</nonterminal> <sbr/>| <nonterminal def="#slicing">slicing</nonterminal> <sbr/>| <nonterminal def="#call">call</nonterminal>
+</rhs>
+</production>
+
+
+<production id="attributeref">
+<lhs>attributeref</lhs>
+<rhs><nonterminal def="#primary">primary</nonterminal> "." <nonterminal def="#identifier">identifier</nonterminal>
+</rhs>
+</production>
+
+<production id="subscription">
+<lhs>subscription</lhs>
+<rhs><nonterminal def="#primary">primary</nonterminal> "[" <nonterminal def="#expression_list">expression_list</nonterminal> "]"
+</rhs>
+</production>
+
+<production id="slicing">
+<lhs>slicing</lhs>
+<rhs><nonterminal def="#simple_slicing">simple_slicing</nonterminal> <sbr/>| <nonterminal def="#extended_slicing">extended_slicing</nonterminal>
+</rhs>
+</production>
+
+<production id="simple_slicing">
+<lhs>simple_slicing</lhs>
+<rhs><nonterminal def="#primary">primary</nonterminal> "[" <nonterminal def="#short_slice">short_slice</nonterminal> "]"
+</rhs>
+</production>
+
+<production id="extended_slicing">
+<lhs>extended_slicing</lhs>
+<rhs><nonterminal def="#primary">primary</nonterminal> "[" <nonterminal def="#slice_list">slice_list</nonterminal> "]"
+</rhs>
+</production>
+
+<production id="slice_list">
+<lhs>slice_list</lhs>
+<rhs><nonterminal def="#slice_item">slice_item</nonterminal> ("," <nonterminal def="#slice_item">slice_item</nonterminal>)* [","]
+</rhs>
+</production>
+
+<production id="slice_item">
+<lhs>slice_item</lhs>
+<rhs><nonterminal def="#expression">expression</nonterminal> <sbr/>| <nonterminal def="#proper_slice">proper_slice</nonterminal> <sbr/>| <nonterminal def="#ellipsis">ellipsis</nonterminal>
+</rhs>
+</production>
+
+<production id="proper_slice">
+<lhs>proper_slice</lhs>
+<rhs><nonterminal def="#short_slice">short_slice</nonterminal> <sbr/>| <nonterminal def="#long_slice">long_slice</nonterminal>
+</rhs>
+</production>
+
+<production id="short_slice">
+<lhs>short_slice</lhs>
+<rhs>[<nonterminal def="#lower_bound">lower_bound</nonterminal>] ":" [<nonterminal def="#upper_bound">upper_bound</nonterminal>]
+</rhs>
+</production>
+
+<production id="long_slice">
+<lhs>long_slice</lhs>
+<rhs><nonterminal def="#short_slice">short_slice</nonterminal> ":" [<nonterminal def="#stride">stride</nonterminal>]
+</rhs>
+</production>
+
+<production id="lower_bound">
+<lhs>lower_bound</lhs>
+<rhs><nonterminal def="#expression">expression</nonterminal>
+</rhs>
+</production>
+
+<production id="upper_bound">
+<lhs>upper_bound</lhs>
+<rhs><nonterminal def="#expression">expression</nonterminal>
+</rhs>
+</production>
+
+<production id="stride">
+<lhs>stride</lhs>
+<rhs><nonterminal def="#expression">expression</nonterminal>
+</rhs>
+</production>
+
+<production id="ellipsis">
+<lhs>ellipsis</lhs>
+<rhs>"..."
+</rhs>
+</production>
+
+<production id="call">
+<lhs>call</lhs>
+<rhs><nonterminal def="#primary">primary</nonterminal> "(" [<nonterminal def="#argument_list">argument_list</nonterminal> [","]] ")"
+</rhs>
+</production>
+
+<production id="argument_list">
+<lhs>argument_list</lhs>
+<rhs><nonterminal def="#positional_arguments">positional_arguments</nonterminal> ["," <nonterminal def="#keyword_arguments">keyword_arguments</nonterminal>
+                   ["," "*" <nonterminal def="#expression">expression</nonterminal> ["," "**" <nonterminal def="#expression">expression</nonterminal>]]]
+                <sbr/>| <nonterminal def="#keyword_arguments">keyword_arguments</nonterminal> ["," "*" <nonterminal def="#expression">expression</nonterminal>
+                                             ["," "**" <nonterminal def="#expression">expression</nonterminal>]]
+                <sbr/>| "*" <nonterminal def="#expression">expression</nonterminal> ["," "**" <nonterminal def="#expression">expression</nonterminal>]
+                <sbr/>| "**" <nonterminal def="#expression">expression</nonterminal></rhs>
+</production>
+
+<production id="positional_arguments">
+<lhs>positional_arguments</lhs>
+<rhs><nonterminal def="#expression">expression</nonterminal> ("," <nonterminal def="#expression">expression</nonterminal>)*
+</rhs>
+</production>
+
+<production id="keyword_arguments">
+<lhs>keyword_arguments</lhs>
+<rhs><nonterminal def="#keyword_item">keyword_item</nonterminal> ("," <nonterminal def="#keyword_item">keyword_item</nonterminal>)*
+</rhs>
+</production>
+
+<production id="keyword_item">
+<lhs>keyword_item</lhs>
+<rhs><nonterminal def="#identifier">identifier</nonterminal> "=" <nonterminal def="#expression">expression</nonterminal>
+</rhs>
+</production>
+
+<production id="power">
+<lhs>power</lhs>
+<rhs><nonterminal def="#primary">primary</nonterminal> ["**" <nonterminal def="#u_expr">u_expr</nonterminal>]
+</rhs>
+</production>
+
+<production id="u_expr">
+<lhs>u_expr</lhs>
+<rhs><nonterminal def="#power">power</nonterminal> <sbr/>| "-" <nonterminal def="#u_expr">u_expr</nonterminal> <sbr/>| "+" <nonterminal def="#u_expr">u_expr</nonterminal> <sbr/>| "\~" <nonterminal def="#u_expr">u_expr</nonterminal>
+</rhs>
+</production>
+
+
+<production id="m_expr">
+<lhs>m_expr</lhs>
+<rhs><nonterminal def="#u_expr">u_expr</nonterminal> <sbr/>| <nonterminal def="#m_expr">m_expr</nonterminal> "*" <nonterminal def="#u_expr">u_expr</nonterminal> <sbr/>| <nonterminal def="#m_expr">m_expr</nonterminal> "/" <nonterminal def="#u_expr">u_expr</nonterminal> <sbr/>| <nonterminal def="#m_expr">m_expr</nonterminal> "\%" <nonterminal def="#u_expr">u_expr</nonterminal>
+</rhs>
+</production>
+
+
+
+<production id="a_expr">
+<lhs>a_expr</lhs>
+<rhs><nonterminal def="#m_expr">m_expr</nonterminal> <sbr/>| aexpr "+" <nonterminal def="#m_expr">m_expr</nonterminal> aexpr "-" <nonterminal def="#m_expr">m_expr</nonterminal>
+</rhs>
+</production>
+
+
+<production id="shift_expr">
+<lhs>shift_expr</lhs>
+<rhs><nonterminal def="#a_expr">a_expr</nonterminal> <sbr/>| <nonterminal def="#shift_expr">shift_expr</nonterminal> ( "&lt;&lt;" | "&gt;&gt;" ) <nonterminal def="#a_expr">a_expr</nonterminal>
+</rhs>
+</production>
+
+
+<production id="and_expr">
+<lhs>and_expr</lhs>
+<rhs><nonterminal def="#shift_expr">shift_expr</nonterminal> <sbr/>| <nonterminal def="#and_expr">and_expr</nonterminal> "&amp;" <nonterminal def="#shift_expr">shift_expr</nonterminal>
+</rhs>
+</production>
+
+<production id="xor_expr">
+<lhs>xor_expr</lhs>
+<rhs><nonterminal def="#and_expr">and_expr</nonterminal> <sbr/>| <nonterminal def="#xor_expr">xor_expr</nonterminal> "^" <nonterminal def="#and_expr">and_expr</nonterminal>
+</rhs>
+</production>
+
+<production id="or_expr">
+<lhs>or_expr</lhs>
+<rhs><nonterminal def="#xor_expr">xor_expr</nonterminal> <sbr/>| <nonterminal def="#or_expr">or_expr</nonterminal> "|" <nonterminal def="#xor_expr">xor_expr</nonterminal>
+</rhs>
+</production>
+
+<production id="comparison">
+<lhs>comparison</lhs>
+<rhs><nonterminal def="#or_expr">or_expr</nonterminal> ( <nonterminal def="#comp_operator">comp_operator</nonterminal> <nonterminal def="#or_expr">or_expr</nonterminal> )*
+</rhs>
+</production>
+
+<production id="comp_operator">
+<lhs>comp_operator</lhs>
+<rhs>"&lt;" <sbr/>| "&gt;" <sbr/>| "==" <sbr/>| "&gt;=" <sbr/>| "&lt;=" <sbr/>| "&lt;&gt;" <sbr/>| "!=" <sbr/>| "is" ["not"] <sbr/>| ["not"] "in"
+</rhs>
+</production>
+
+
+<production id="expression">
+<lhs>expression</lhs>
+<rhs><nonterminal def="#or_test">or_test</nonterminal> <sbr/>| <nonterminal def="#lambda_form">lambda_form</nonterminal>
+</rhs>
+</production>
+
+<production id="or_test">
+<lhs>or_test</lhs>
+<rhs><nonterminal def="#and_test">and_test</nonterminal> <sbr/>| <nonterminal def="#or_test">or_test</nonterminal> "or" <nonterminal def="#and_test">and_test</nonterminal>
+</rhs>
+</production>
+
+<production id="and_test">
+<lhs>and_test</lhs>
+<rhs><nonterminal def="#not_test">not_test</nonterminal> <sbr/>| <nonterminal def="#and_test">and_test</nonterminal> "and" <nonterminal def="#not_test">not_test</nonterminal>
+</rhs>
+</production>
+
+<production id="not_test">
+<lhs>not_test</lhs>
+<rhs><nonterminal def="#comparison">comparison</nonterminal> <sbr/>| "not" <nonterminal def="#not_test">not_test</nonterminal>
+</rhs>
+</production>
+
+<production id="lambda_form">
+<lhs>lambda_form</lhs>
+<rhs>"lambda" [<nonterminal def="#parameter_list">parameter_list</nonterminal>]: <nonterminal def="#expression">expression</nonterminal>
+</rhs>
+</production>
+
+<production id="expression_list">
+<lhs>expression_list</lhs>
+<rhs><nonterminal def="#expression">expression</nonterminal> ( "," <nonterminal def="#expression">expression</nonterminal> )* [","]
+</rhs>
+</production>
+
+<production id="simple_stmt">
+<lhs>simple_stmt</lhs>
+<rhs><nonterminal def="#expression_stmt">expression_stmt</nonterminal>
+<sbr/>| <nonterminal def="#assert_stmt">assert_stmt</nonterminal>
+<sbr/>| <nonterminal def="#assignment_stmt">assignment_stmt</nonterminal>
+<sbr/>| <nonterminal def="#augmented_assignment_stmt">augmented_assignment_stmt</nonterminal>
+<sbr/>| <nonterminal def="#pass_stmt">pass_stmt</nonterminal>
+<sbr/>| <nonterminal def="#del_stmt">del_stmt</nonterminal>
+<sbr/>| <nonterminal def="#print_stmt">print_stmt</nonterminal>
+<sbr/>| <nonterminal def="#return_stmt">return_stmt</nonterminal>
+<sbr/>| <nonterminal def="#yield_stmt">yield_stmt</nonterminal>
+<sbr/>| <nonterminal def="#raise_stmt">raise_stmt</nonterminal>
+<sbr/>| <nonterminal def="#break_stmt">break_stmt</nonterminal>
+<sbr/>| <nonterminal def="#continue_stmt">continue_stmt</nonterminal>
+<sbr/>| <nonterminal def="#import_stmt">import_stmt</nonterminal>
+<sbr/>| <nonterminal def="#global_stmt">global_stmt</nonterminal>
+<sbr/>| <nonterminal def="#exec_stmt">exec_stmt</nonterminal>
+</rhs>
+</production>
+
+<production id="expression_stmt">
+<lhs>expression_stmt</lhs>
+<rhs><nonterminal def="#expression_list">expression_list</nonterminal>
+</rhs>
+</production>
+
+<production id="assert_stmt">
+<lhs>assert_stmt</lhs>
+<rhs>"assert" <nonterminal def="#expression">expression</nonterminal> ["," <nonterminal def="#expression">expression</nonterminal>]
+</rhs>
+</production>
+
+<production id="assignment_stmt">
+<lhs>assignment_stmt</lhs>
+<rhs>(<nonterminal def="#target_list">target_list</nonterminal> "=")+ <nonterminal def="#expression_list">expression_list</nonterminal>
+</rhs>
+</production>
+
+<production id="target_list">
+<lhs>target_list</lhs>
+<rhs><nonterminal def="#target">target</nonterminal> ("," <nonterminal def="#target">target</nonterminal>)* [","]
+</rhs>
+</production>
+
+<production id="target">
+<lhs>target</lhs>
+<rhs><nonterminal def="#identifier">identifier</nonterminal>
+<sbr/>| "(" <nonterminal def="#target_list">target_list</nonterminal> ")"
+<sbr/>| "[" <nonterminal def="#target_list">target_list</nonterminal> "]"
+<sbr/>| <nonterminal def="#attributeref">attributeref</nonterminal>
+<sbr/>| <nonterminal def="#subscription">subscription</nonterminal>
+<sbr/>| <nonterminal def="#slicing">slicing</nonterminal>
+</rhs>
+</production>
+
+<production id="augmented_assignment_stmt">
+<lhs>augmented_assignment_stmt</lhs>
+<rhs><nonterminal def="#target">target</nonterminal> <nonterminal def="#augop">augop</nonterminal> <nonterminal def="#expression_list">expression_list</nonterminal>
+</rhs>
+</production>
+
+<production id="augop">
+<lhs>augop</lhs>
+<rhs>"+=" <sbr/>| "-=" <sbr/>| "*=" <sbr/>| "/=" <sbr/>| "\%=" <sbr/>| "**=" <sbr/>| "&gt;&gt;=" <sbr/>| "&lt;&lt;=" <sbr/>| "\&amp;=" <sbr/>| "\textasciicircum=" <sbr/>| "|="
+</rhs>
+</production>
+
+
+<production id="pass_stmt">
+<lhs>pass_stmt</lhs>
+<rhs>"pass"
+</rhs>
+</production>
+
+<production id="del_stmt">
+<lhs>del_stmt</lhs>
+<rhs>"del" <nonterminal def="#target_list">target_list</nonterminal>
+</rhs>
+</production>
+
+<production id="print_stmt">
+<lhs>print_stmt</lhs>
+<rhs>"print" ( \optionalexpression ("," <nonterminal def="#expression">expression</nonterminal>)* \optional","
+                | "&gt;\code&gt;" <nonterminal def="#expression">expression</nonterminal>
+                  \optional("," <nonterminal def="#expression">expression</nonterminal>)+ \optional"," )
+</rhs>
+</production>
+
+<production id="return_stmt">
+<lhs>return_stmt</lhs>
+<rhs>"return" [<nonterminal def="#expression_list">expression_list</nonterminal>]
+</rhs>
+</production>
+
+<production id="yield_stmt">
+<lhs>yield_stmt</lhs>
+<rhs>"yield" <nonterminal def="#expression_list">expression_list</nonterminal>
+</rhs>
+</production>
+
+<production id="raise_stmt">
+<lhs>raise_stmt</lhs>
+<rhs>"raise" [<nonterminal def="#expression">expression</nonterminal> ["," <nonterminal def="#expression">expression</nonterminal> ["," <nonterminal def="#expression">expression</nonterminal>]]]
+</rhs>
+</production>
+
+
+<production id="break_stmt">
+<lhs>break_stmt</lhs>
+<rhs>"break"
+</rhs>
+</production>
+
+<production id="continue_stmt">
+<lhs>continue_stmt</lhs>
+<rhs>"continue"
+</rhs>
+</production>
+
+<production id="import_stmt">
+<lhs>import_stmt</lhs>
+<rhs>"import" <nonterminal def="#module">module</nonterminal> ["as" name]
+( "," <nonterminal def="#module">module</nonterminal> ["as" name] )*
+<sbr/>| "from" <nonterminal def="#module">module</nonterminal> "import" <nonterminal def="#identifier">identifier</nonterminal>
+    ["as" name]
+  ( "," <nonterminal def="#identifier">identifier</nonterminal> ["as" name] )*
+<sbr/>| "from" <nonterminal def="#module">module</nonterminal> "import" "*"
+</rhs>
+</production>
+
+<production id="module">
+<lhs>module</lhs>
+<rhs>(<nonterminal def="#identifier">identifier</nonterminal> ".")* <nonterminal def="#identifier">identifier</nonterminal>
+</rhs>
+</production>
+
+<production id="global_stmt">
+<lhs>global_stmt</lhs>
+<rhs>"global" <nonterminal def="#identifier">identifier</nonterminal> ("," <nonterminal def="#identifier">identifier</nonterminal>)*
+</rhs>
+</production>
+
+<production id="exec_stmt">
+<lhs>exec_stmt</lhs>
+<rhs>"exec" <nonterminal def="#expression">expression</nonterminal> ["in" <nonterminal def="#expression">expression</nonterminal> ["," <nonterminal def="#expression">expression</nonterminal>]]
+</rhs>
+</production>
+
+
+<production id="compound_stmt">
+<lhs>compound_stmt</lhs>
+<rhs><nonterminal def="#if_stmt">if_stmt</nonterminal>
+<sbr/>| <nonterminal def="#while_stmt">while_stmt</nonterminal>
+<sbr/>| <nonterminal def="#for_stmt">for_stmt</nonterminal>
+<sbr/>| <nonterminal def="#try_stmt">try_stmt</nonterminal>
+<sbr/>| <nonterminal def="#funcdef">funcdef</nonterminal>
+<sbr/>| <nonterminal def="#classdef">classdef</nonterminal>
+</rhs>
+</production>
+
+
+<production id="suite">
+<lhs>suite</lhs>
+<rhs><nonterminal def="#stmt_list">stmt_list</nonterminal> NEWLINE <sbr/>| NEWLINE INDENT <nonterminal def="#statement">statement</nonterminal>+ DEDENT
+</rhs>
+</production>
+
+
+<production id="statement">
+<lhs>statement</lhs>
+<rhs><nonterminal def="#stmt_list">stmt_list</nonterminal> NEWLINE <sbr/>| <nonterminal def="#compound_stmt">compound_stmt</nonterminal>
+</rhs>
+</production>
+
+<production id="stmt_list">
+<lhs>stmt_list</lhs>
+<rhs><nonterminal def="#simple_stmt">simple_stmt</nonterminal> (";" <nonterminal def="#simple_stmt">simple_stmt</nonterminal>)* [";"]
+</rhs>
+</production>
+
+<production id="if_stmt">
+<lhs>if_stmt</lhs>
+<rhs>"if" <nonterminal def="#expression">expression</nonterminal> ":" <nonterminal def="#suite">suite</nonterminal>
+( "elif" <nonterminal def="#expression">expression</nonterminal> ":" <nonterminal def="#suite">suite</nonterminal> )*
+["else" ":" <nonterminal def="#suite">suite</nonterminal>]
+</rhs>
+</production>
+
+<production id="while_stmt">
+<lhs>while_stmt</lhs>
+<rhs>"while" <nonterminal def="#expression">expression</nonterminal> ":" <nonterminal def="#suite">suite</nonterminal> ["else" ":" <nonterminal def="#suite">suite</nonterminal>]
+</rhs>
+</production>
+
+
+<production id="for_stmt">
+<lhs>for_stmt</lhs>
+<rhs>"for" <nonterminal def="#target_list">target_list</nonterminal> "in" <nonterminal def="#expression_list">expression_list</nonterminal> ":" <nonterminal def="#suite">suite</nonterminal> ["else" ":" <nonterminal def="#suite">suite</nonterminal>]
+</rhs>
+</production>
+
+
+
+<production id="try_stmt">
+<lhs>try_stmt</lhs>
+<rhs><nonterminal def="#try_exc_stmt">try_exc_stmt</nonterminal> <sbr/>| <nonterminal def="#try_fin_stmt">try_fin_stmt</nonterminal>
+</rhs>
+</production>
+
+<production id="try_exc_stmt">
+<lhs>try_exc_stmt</lhs>
+<rhs>"try" ":" <nonterminal def="#suite">suite</nonterminal>
+                ("except" [<nonterminal def="#expression">expression</nonterminal>
+                             ["," <nonterminal def="#target">target</nonterminal>]] ":" <nonterminal def="#suite">suite</nonterminal>)+
+                ["else" ":" <nonterminal def="#suite">suite</nonterminal>]
+</rhs>
+</production>
+
+<production id="try_fin_stmt">
+<lhs>try_fin_stmt</lhs>
+<rhs>"try" ":" <nonterminal def="#suite">suite</nonterminal> "finally" ":" <nonterminal def="#suite">suite</nonterminal>
+</rhs>
+</production>
+
+<production id="funcdef">
+<lhs>funcdef</lhs>
+<rhs>"def" <nonterminal def="#funcname">funcname</nonterminal> "(" [<nonterminal def="#parameter_list">parameter_list</nonterminal>] ")" ":" <nonterminal def="#suite">suite</nonterminal>
+</rhs>
+</production>
+
+<production id="parameter_list">
+<lhs>parameter_list</lhs>
+<rhs>(<nonterminal def="#defparameter">defparameter</nonterminal> ",")*
+("*" <nonterminal def="#identifier">identifier</nonterminal> [, "**" <nonterminal def="#identifier">identifier</nonterminal>]
+<sbr/>| "**" <nonterminal def="#identifier">identifier</nonterminal>
+  <sbr/>| <nonterminal def="#defparameter">defparameter</nonterminal> [","])
+</rhs>
+</production>
+
+<production id="defparameter">
+<lhs>defparameter</lhs>
+<rhs><nonterminal def="#parameter">parameter</nonterminal> ["=" <nonterminal def="#expression">expression</nonterminal>]
+</rhs>
+</production>
+
+<production id="sublist">
+<lhs>sublist</lhs>
+<rhs><nonterminal def="#parameter">parameter</nonterminal> ("," <nonterminal def="#parameter">parameter</nonterminal>)* [","]
+</rhs>
+</production>
+
+<production id="parameter">
+<lhs>parameter</lhs>
+<rhs><nonterminal def="#identifier">identifier</nonterminal> | "(" <nonterminal def="#sublist">sublist</nonterminal> ")"
+</rhs>
+</production>
+
+<production id="funcname">
+<lhs>funcname</lhs>
+<rhs><nonterminal def="#identifier">identifier</nonterminal>
+</rhs>
+</production>
+
+<production id="classdef">
+<lhs>classdef</lhs>
+<rhs>"class" <nonterminal def="#classname">classname</nonterminal> [<nonterminal def="#inheritance">inheritance</nonterminal>] ":" <nonterminal def="#suite">suite</nonterminal>
+</rhs>
+</production>
+
+
+<production id="inheritance">
+<lhs>inheritance</lhs>
+<rhs>"(" [<nonterminal def="#expression_list">expression_list</nonterminal>] ")"
+</rhs>
+</production>
+
+<production id="classname">
+<lhs>classname</lhs>
+<rhs><nonterminal def="#identifier">identifier</nonterminal>
+</rhs>
+</production>
+
+<production id="file_input">
+<lhs>file_input</lhs>
+<rhs>(NEWLINE | <nonterminal def="#statement">statement</nonterminal>)*
+</rhs>
+</production>
+
+<production id="interactive_input">
+<lhs>interactive_input</lhs>
+<rhs>[<nonterminal def="#stmt_list">stmt_list</nonterminal>] NEWLINE | <nonterminal def="#compound_stmt">compound_stmt</nonterminal> NEWLINE
+</rhs>
+</production>
+
+<production id="eval_input">
+<lhs>eval_input</lhs>
+<rhs><nonterminal def="#expression_list">expression_list</nonterminal> NEWLINE*
+</rhs>
+</production>
+
+<production id="input_input">
+<lhs>input_input</lhs>
+<rhs><nonterminal def="#expression_list">expression_list</nonterminal> NEWLINE
+</rhs>
+</production>
+
+</productionset>
+
+</article>
diff --git a/test/testdocs/profile.001.xml b/test/testdocs/profile.001.xml
new file mode 100644
index 0000000..72c246f
--- /dev/null
+++ b/test/testdocs/profile.001.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: profile.001</title>
+<releaseinfo role="CVS">$Id: profile.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>John</firstname><surname>Himpel</surname>
+        <affiliation><address><email>jwhimpel users sourceforge net</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>Profile and linkends attribute.</para>
+
+<screen>
+xxxxxxx <co id="id-co" linkends="co"/>
+</screen>
+
+<calloutlist>
+<callout arearefs="id-co" id="co">
+<para>xxxx</para>
+</callout>
+</calloutlist>
+</article>
diff --git a/test/testdocs/programlisting.001.xml b/test/testdocs/programlisting.001.xml
index 1886ac3..7858dfa 100644
--- a/test/testdocs/programlisting.001.xml
+++ b/test/testdocs/programlisting.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: programlisting.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: programlisting.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
@@ -14,6 +14,8 @@
   Only a test.
 Had this been a real emegency,
   We would have fled in terror
-And you would not have been informed.</programlisting>
+And you would not have been informed.
+
+Foo &lt;Bar&gt;</programlisting>
 
 </article>
diff --git a/test/testdocs/programlisting.002.xml b/test/testdocs/programlisting.002.xml
index 1c7f4bb..ca8d755 100644
--- a/test/testdocs/programlisting.002.xml
+++ b/test/testdocs/programlisting.002.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: programlisting.002</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: programlisting.002.xml 5600 2006-03-03 08:43:12Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
@@ -12,7 +12,7 @@
 
 <programlisting><inlinemediaobject>
 <imageobject>
-<imagedata format="linespecific" fileref="tests/programlisting.002.xml"/>
+<imagedata format="linespecific" fileref="programlisting.002.xml"/>
 </imageobject>
 </inlinemediaobject></programlisting>
 
diff --git a/test/testdocs/programlisting.003.xml b/test/testdocs/programlisting.003.xml
index 39cdf22..c24aa50 100644
--- a/test/testdocs/programlisting.003.xml
+++ b/test/testdocs/programlisting.003.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: programlisting.003</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: programlisting.003.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/programlisting.004.xml b/test/testdocs/programlisting.004.xml
new file mode 100644
index 0000000..3aa454c
--- /dev/null
+++ b/test/testdocs/programlisting.004.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article id="programlisting.004">
+  <articleinfo>
+    <title>Unit Test: programlisting.004</title>
+    <author>
+      <firstname>Stéphane</firstname><surname>Bortzmeyer</surname>
+    </author>
+  </articleinfo>
+
+  <section>
+    <title>The only one</title>
+
+    <para>Testing footnote within programlisting.
+      Please try with footnotes as end notes, and footnotes at bottom
+      of page (<parameter>bop-footnotes</parameter> in DSSSL).</para>
+
+    <programlisting>
+      hostname RTA
+      router ospf
+          ospf router-id 192.134.7.241	<footnote><para>It is not
+necessary to set the router ID.</para>
+	</footnote>
+          network 192.134.7.0/24 area 0
+</programlisting>
+  </section>
+</article>
diff --git a/test/testdocs/programlisting.005.xml b/test/testdocs/programlisting.005.xml
new file mode 100644
index 0000000..9723f93
--- /dev/null
+++ b/test/testdocs/programlisting.005.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+  <articleinfo>
+    <title>Unit Test: programlisting.005</title>
+    <subtitle>A programlisting within a table</subtitle>
+    <releaseinfo role="CVS">$Id: programlisting.005.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+    <author><firstname>Michael</firstname><surname>Smith</surname>
+    <affiliation><address><email>smith sideshowbarker net</email></address></affiliation>
+    </author>
+  </articleinfo>
+  <!-- test case from Sam Steingold -->
+  <table>
+    <title>Lisp function</title>
+    <tgroup cols="1">
+      <tbody>
+	<row>
+	  <entry><programlisting language="lisp">(defun cycle-length (n &amp; (len 1) (top 0))
+  (cond ((= n 1) (values len top))
+        ((evenp n) (cycle-length (ash n -1) (1+ len) (max top n)))
+        (t (let ((next (1+ (* 3 n))))
+             (cycle-length next (1+ len) (max top next))))))</programlisting>
+	  </entry>
+	</row>
+      </tbody>
+    </tgroup>
+  </table>
+</article>
diff --git a/test/testdocs/programlisting.006.xml b/test/testdocs/programlisting.006.xml
new file mode 100644
index 0000000..00c5f44
--- /dev/null
+++ b/test/testdocs/programlisting.006.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: programlisting.006</title>
+<releaseinfo role="CVS">$Id: programlisting.006.xml 5367 2005-10-27 03:07:42Z xmldoc $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>This test checks that an external file referenced by
+<sgmltag>inlinegraphic</sgmltag> is correctly handled.</para>
+
+<programlisting><inlinegraphic format="linespecific" fileref="programlisting.006.xml"/></programlisting>
+
+</article>
diff --git a/test/testdocs/programlistingco.001.xml b/test/testdocs/programlistingco.001.xml
index 10735c7..9f336d6 100644
--- a/test/testdocs/programlistingco.001.xml
+++ b/test/testdocs/programlistingco.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: programlistingco.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: programlistingco.001.xml 5258 2005-10-12 14:35:03Z xmldoc $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
@@ -13,12 +13,12 @@
 <programlistingco>
 <areaspec>
 <area coords="1" id="prologue"/>
-<area coords="4" id="skipeof"/>
+<area coords="4" id="skipeof" linkends="skipeof-desc"/>
 <areaset coords="" id="xreq">
 <area coords="9" id="require1"/>
 <area coords="10" id="require2"/>
 </areaset>
-<area coords="11 12" id="use"/>
+<area coords="11 50" id="use"/>
 <area coords="27" id="funccall"/>
 </areaspec>
 <programlisting>@rem = '--*-Perl-*--
@@ -56,11 +56,13 @@ exit;</programlisting>
 <callout arearefs="prologue">
 <para>The prologue handles embedding a Perl script in a DOS batch file.</para>
 </callout>
-<callout arearefs="skipeof">
-<para>The <literal>goto</literal> statement, interpreted by the DOS batch
-file interpreter, skips over the body of the Perl script.</para>
+<callout arearefs="skipeof" id="skipeof-desc">
+<para>The <literal>goto</literal> statement, interpreted by the DOS
+batch file interpreter, skips over the body of the Perl script. (Note
+that this callout has an â??idâ?? attribute that is referenced by a
+â??linkendsâ?? attribute on the callout bug for line 4 above.)</para>
 </callout>
-<callout arearefs="require1">
+<callout arearefs="require1 require2">
 <para>The <literal>require</literal> statement sources in external program
 fragments.</para>
 </callout>
diff --git a/test/testdocs/programlistingco.002.xml b/test/testdocs/programlistingco.002.xml
index 972aa32..b1fea89 100644
--- a/test/testdocs/programlistingco.002.xml
+++ b/test/testdocs/programlistingco.002.xml
@@ -1,34 +1,137 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";  [
+<!ENTITY codesample SYSTEM './codesample.txt' NDATA linespecific>
+]>
+
 <article>
-<articleinfo>
-<title>Unit Test: programlistingco.002</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
-<author><firstname>Norman</firstname><surname>Walsh</surname>
-        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
-</author>
-</articleinfo>
-
-<programlistingco>
-<areaspec>
-<area coords="1" id="prologue2"/>
-<area coords="4" id="skipeof2"/>
-<areaset coords="" id="xreq2">
-<area coords="9" id="require12"/>
-<area coords="10" id="require22"/>
-</areaset>
-<area coords="11 12" id="use2"/>
-<area coords="27" id="funccall2"/>
-</areaspec>
-<programlisting linenumbering="numbered"
-><?dbhtml linenumbering.everyNth="2" linenumbering.separator=" >"
-?><?dbfo linenumbering.everyNth="2" linenumbering.separator=" >"
-?><inlinemediaobject>
-<imageobject>
-<imagedata format="linespecific" fileref="sample.txt"/>
-</imageobject>
-</inlinemediaobject></programlisting>
-</programlistingco>
+  <articleinfo>
+    <title>Unit Test: programlistingco.002</title>
+    <subtitle>Tests for inserting external text files, with callouts</subtitle>
+    <releaseinfo role="CVS">$Id: programlistingco.002.xml 5366 2005-10-27 02:46:53Z xmldoc $</releaseinfo>
+    <corpauthor>DocBook Project Development Team</corpauthor>
+  </articleinfo>
+
+  <section>
+    <title>imagedata/@fileref + numbering + sep.</title>
+    <programlistingco>
+      <areaspec>
+        <area coords="1" id="prologue1"/>
+        <area coords="4" id="skipeof1"/>
+        <areaset coords="" id="xreq1">
+          <area coords="9" id="require11"/>
+          <area coords="10" id="require1"/>
+        </areaset>
+        <area coords="11 12" id="use1"/>
+        <area coords="27" id="funccall1"/>
+      </areaspec>
+      <programlisting linenumbering="numbered"
+                      ><?dbhtml linenumbering.everyNth="2" linenumbering.separator=" >"
+                      ?><?dbfo linenumbering.everyNth="2" linenumbering.separator=" >"
+                      ?><inlinemediaobject>
+      <imageobject>
+        <imagedata format="linespecific" fileref="codesample.txt"/>
+      </imageobject>
+      </inlinemediaobject></programlisting>
+    </programlistingco>
+  </section>
+
+  <section>
+    <title>inlinegraphic/@fileref + numbering</title>
+    <programlistingco>
+      <areaspec>
+        <area coords="1" id="prologue2"/>
+        <area coords="4" id="skipeof2"/>
+        <areaset coords="" id="xreq2">
+          <area coords="9" id="require12"/>
+          <area coords="10" id="require22"/>
+        </areaset>
+        <area coords="11 12" id="use2"/>
+        <area coords="27" id="funccall2"/>
+      </areaspec>
+      <programlisting linenumbering="numbered"
+                      ><inlinegraphic
+                      format="linespecific"
+                      fileref="codesample.txt"/></programlisting>
+    </programlistingco>
+  </section>
+
+  <section>
+    <title>textdata/@fileref w/o numbering or sep</title>
+    <programlistingco>
+      <areaspec>
+        <area coords="1" id="prologue3"/>
+        <area coords="4" id="skipeof3"/>
+        <areaset coords="" id="xreq3">
+          <area coords="9" id="require13"/>
+          <area coords="10" id="require3"/>
+        </areaset>
+        <area coords="11 12" id="use3"/>
+        <area coords="27" id="funccall3"/>
+      </areaspec>
+      <programlisting><textobject><textdata
+                      format="linespecific"
+                      fileref="codesample.txt"/></textobject></programlisting>
+    </programlistingco>
+  </section>
+
+  <section>
+    <title>textdata/@entityref</title>
+    <programlistingco>
+      <areaspec>
+        <area coords="1" id="prologue4"/>
+        <area coords="4" id="skipeof4"/>
+        <areaset coords="" id="xreq4">
+          <area coords="9" id="require14"/>
+          <area coords="10" id="require4"/>
+        </areaset>
+        <area coords="11 12" id="use4"/>
+        <area coords="27" id="funccall4"/>
+      </areaspec>
+      <programlisting><textobject><textdata
+                      format="linespecific"
+                      entityref="codesample"/></textobject></programlisting>
+    </programlistingco>
+  </section>
+
+  <section>
+    <title>imagedata/@fileref, absolute path</title>
+    <para>The listing is an external file with an absolute path.</para>
+
+    <programlistingco>
+    <areaspec>
+      <area coords="1" id="a1"/>
+      <area coords="4" id="a2"/>
+      <area coords="5 50" id="a3"/>
+    </areaspec>
+    <programlisting linenumbering="numbered"
+      ><?dbhtml linenumbering.everyNth="2" linenumbering.separator=" >"
+      ?><?dbfo linenumbering.everyNth="2" linenumbering.separator=" >"
+      ?><inlinemediaobject>
+      <imageobject>
+      <imagedata format="linespecific" fileref="/etc/hosts"/>
+      </imageobject>
+      </inlinemediaobject></programlisting>
+    </programlistingco>
+
+    <para>The listing is an external file with an absolute path using the URI scheme
+    "file".</para>
+
+    <programlistingco>
+    <areaspec>
+      <area coords="1" id="b1"/>
+      <area coords="4" id="b2"/>
+      <area coords="5 50" id="b3"/>
+    </areaspec>
+    <programlisting linenumbering="numbered"
+      ><?dbhtml linenumbering.everyNth="2" linenumbering.separator=" >"
+      ?><?dbfo linenumbering.everyNth="2" linenumbering.separator=" >"
+      ?><inlinemediaobject>
+      <imageobject>
+      <imagedata format="linespecific" fileref="file:/etc/hosts"/>
+      </imageobject>
+      </inlinemediaobject></programlisting>
+    </programlistingco>
+  </section>
 
 </article>
diff --git a/test/testdocs/protocol.001.xml b/test/testdocs/protocol.001.xml
new file mode 100644
index 0000000..94159be
--- /dev/null
+++ b/test/testdocs/protocol.001.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article id="ws">
+<articleinfo>
+<title>Unit Test: protocol.001.xml</title>
+<releaseinfo role="CVS">
+$Id: protocol.001.xml 4056 2004-11-23 13:28:50Z nwalsh $
+</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>This is a test of the <sgmltag class="attvalue">protocol</sgmltag>
+value of the <sgmltag class="attribute">class</sgmltag> attribute on
+<sgmltag>systemitem</sgmltag>: <systemitem class="protocol">http</systemitem>.
+</para>
+
+</article>
diff --git a/test/testdocs/pubsnumber.xml b/test/testdocs/pubsnumber.xml
new file mode 100644
index 0000000..9e0809f
--- /dev/null
+++ b/test/testdocs/pubsnumber.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article id="article">
+<articleinfo>
+<title>Unit Test: pubsnumber.001.xml</title>
+<releaseinfo role="CVS">$Id: pubsnumber.xml 5600 2006-03-03 08:43:12Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+<affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+<pubsnumber>12345</pubsnumber>
+</articleinfo>
+
+<para>This is an article test. It has a <sgmltag>pubsnumber</sgmltag>.</para>
+
+</article>
diff --git a/test/testdocs/qandaset.001.xml b/test/testdocs/qandaset.001.xml
index c217a25..88e717e 100644
--- a/test/testdocs/qandaset.001.xml
+++ b/test/testdocs/qandaset.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: qandaset.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: qandaset.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/qandaset.002.xml b/test/testdocs/qandaset.002.xml
index 8fea46f..7ddd611 100644
--- a/test/testdocs/qandaset.002.xml
+++ b/test/testdocs/qandaset.002.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: qandaset.002</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: qandaset.002.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/qandaset.003.xml b/test/testdocs/qandaset.003.xml
index 30a628d..ec2ba0e 100644
--- a/test/testdocs/qandaset.003.xml
+++ b/test/testdocs/qandaset.003.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: qandaset.003</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: qandaset.003.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/qandaset.004.xml b/test/testdocs/qandaset.004.xml
new file mode 100644
index 0000000..c3a9622
--- /dev/null
+++ b/test/testdocs/qandaset.004.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: qandaset.004</title>
+<releaseinfo role="CVS">$Id: qandaset.004.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Stephane</firstname><surname>Bortzmeyer</surname>
+</author>
+</articleinfo>
+
+<qandaset>
+<title>Exercices</title>
+<qandadiv>
+<title>First test</title>
+<qandaentry>
+<question>
+<para>Do something.</para>
+</question>
+<answer><para>It is possible<footnote><para>May be.</para>
+</footnote>to solve the problem?</para>
+</answer>
+</qandaentry>
+</qandadiv>
+</qandaset>
+
+</article>
diff --git a/test/testdocs/qandaset.005.xml b/test/testdocs/qandaset.005.xml
new file mode 100644
index 0000000..ebc1df9
--- /dev/null
+++ b/test/testdocs/qandaset.005.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+  <articleinfo>
+    <title>Unit Test: qandaset.005</title>
+    <subtitle>Autolabeling test </subtitle>
+    <releaseinfo role="CVS">$Id: qandaset.005.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+    <author><firstname>Harald</firstname><surname>J&#246;rg</surname>
+    <affiliation><address><email>smith sideshowbarker net</email></address></affiliation>
+    </author>
+  </articleinfo>
+
+  <section label="foo">
+    <title>A section labelled 'foo'</title>
+    <para>Without a surrounding section, I seem to be unable to get a
+    qandaset processed. Let's ignore that for the moment.
+    </para>
+    <qandaset defaultlabel="number">
+      <qandadiv>
+        <title>Qandadiv One</title>
+        <qandaentry id="q1">
+          <question>
+            <para>Why is this question foo.foo.1.1?</para>
+          </question>
+          <answer>
+            <para>Probably a bug in common/labels.xsl.</para>
+          </answer>
+        </qandaentry>
+      </qandadiv>
+    </qandaset>
+  </section>
+</article>
diff --git a/test/testdocs/refentry.001.xml b/test/testdocs/refentry.001.xml
index 050068b..e4bd1cf 100644
--- a/test/testdocs/refentry.001.xml
+++ b/test/testdocs/refentry.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: refentry.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: refentry.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/refentry.002.xml b/test/testdocs/refentry.002.xml
index b7360d4..7c65de9 100644
--- a/test/testdocs/refentry.002.xml
+++ b/test/testdocs/refentry.002.xml
@@ -1,13 +1,29 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: refentry.002</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
-<author><firstname>Norman</firstname><surname>Walsh</surname>
-        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+<releaseinfo role="CVS">$Id: refentry.002.xml 5801 2006-04-07 07:11:47Z xmldoc $</releaseinfo>
+<author>
+  <firstname>Norman</firstname>
+  <surname>Walsh</surname>
+  <affiliation>
+    <address><email>ndw nwalsh com</email></address>
+  </affiliation>
 </author>
+<editor>
+  <firstname>Michael (tm)</firstname>
+  <surname>Smith</surname>
+  <affiliation>
+    <orgname>The DocBook Project</orgname>
+  </affiliation>
+</editor>
+<othercredit>
+  <firstname>Michael (tm)</firstname>
+  <surname>Smith</surname>
+  <personblurb><para>Did other stuff.</para></personblurb>
+</othercredit>
 </articleinfo>
 
 <refentry id="lessminimal">
@@ -20,10 +36,59 @@
 <refpurpose>Another test of a minimal RefEntry</refpurpose>
 </refnamediv>
 
-<refsect1>
+<refsection>
 <title>Description</title>
 <para>This is a minimal RefEntry.</para>
-</refsect1>
+
+<refsection>
+<title>Subsection</title>
+<para>This is a minimal RefEntry.</para>
+
+<refsection>
+<title>Sub-subsection</title>
+<para>This is a minimal RefEntry.</para>
+
+<refsection>
+  <title>Refsect4-level subsection</title>
+  <para>Check the indenting.</para>
+  <refsection>
+    <title>Refsect5-level subsection</title>
+    <para>Check the indenting.</para>
+  </refsection>
+</refsection>
+
+</refsection>
+</refsection>
+</refsection>
+
+<refsection>
+<title>More Description</title>
+<para>This is a not-so minimal RefEntry.</para>
+<formalpara>
+  <title>Ladjwqopnsfil</title>
+  <para>This is a formalpara. That is, a paragraph with a title. One
+  way to generate output for it is to take the title, â??Ladjwqopnsfilâ??,
+  and use it as a â??run inâ?? heading that is rendered inline at the
+  start of the paragraph, followed by a period (or some other
+  punctuation mark).</para>
+</formalpara>
+</refsection>
+
+<refsection>
+<title>Even More Description</title>
+<para>The following two words, â??fooâ?? and â??barâ??, are both empasized,
+separately, with a space between them: <emphasis>foo</emphasis>
+<emphasis>bar</emphasis>. Here is the same pair of words in bold, with
+a space
+
+
+
+
+
+
+ between them: <emphasis role="strong">foo</emphasis> <emphasis role="strong">bar</emphasis></para>
+</refsection>
+
 </refentry>
 
 </article>
diff --git a/test/testdocs/refentry.003.xml b/test/testdocs/refentry.003.xml
index d318e94..49db0e6 100644
--- a/test/testdocs/refentry.003.xml
+++ b/test/testdocs/refentry.003.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: refentry.003</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: refentry.003.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/refentry.004.xml b/test/testdocs/refentry.004.xml
index d175f16..9f92dad 100644
--- a/test/testdocs/refentry.004.xml
+++ b/test/testdocs/refentry.004.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: refentry.004</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: refentry.004.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/refentry.005.xml b/test/testdocs/refentry.005.xml
new file mode 100644
index 0000000..3e83079
--- /dev/null
+++ b/test/testdocs/refentry.005.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<refentry id="lessminimal">
+<refentryinfo>
+<title>Unit Test: refentry.005</title>
+<releaseinfo role="CVS">$Id: refentry.005.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</refentryinfo>
+
+<refmeta>
+<refentrytitle>Also Minimal Title</refentrytitle>
+<manvolnum>3</manvolnum>
+</refmeta>
+<refnamediv>
+<refname>Also Minimal</refname>
+<refpurpose>Another test of a minimal RefEntry</refpurpose>
+</refnamediv>
+
+<refsection>
+<title>Description</title>
+<para>This is a minimal RefEntry.</para>
+
+<refsection>
+<title>Subsection</title>
+<para>This is a minimal RefEntry.</para>
+
+<refsection>
+<title>Sub-subsection</title>
+<para>This is a minimal RefEntry.</para>
+</refsection>
+</refsection>
+</refsection>
+
+<refsection>
+<title>More Description</title>
+<para>This is a not-so minimal RefEntry.</para>
+</refsection>
+
+<refsection>
+<title>Even More Description</title>
+<para>This is an even less minimal RefEntry.</para>
+</refsection>
+
+</refentry>
diff --git a/test/testdocs/refentry.006.xml b/test/testdocs/refentry.006.xml
new file mode 100644
index 0000000..3d30abb
--- /dev/null
+++ b/test/testdocs/refentry.006.xml
@@ -0,0 +1,507 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<refentry id="lessminimal">
+<refentryinfo>
+<title>Unit Test: refentry.006</title>
+<subtitle>Refentry with some tables</subtitle>
+<releaseinfo role="CVS">$Id: refentry.006.xml 5432 2005-11-04 07:53:25Z xmldoc $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</refentryinfo>
+
+<refmeta>
+<refentrytitle>Also Minimal Title</refentrytitle>
+<manvolnum>3</manvolnum>
+</refmeta>
+<refnamediv>
+<refname>Also Minimal</refname>
+<refpurpose>Another test of a minimal RefEntry</refpurpose>
+</refnamediv>
+
+<refsect1>
+<title>Description</title>
+<para>This is a minimal RefEntry.</para>
+
+<refsect2>
+<title>Subsection</title>
+<para>This is a minimal RefEntry.</para>
+
+<refsect3>
+<title>Sub-subsection</title>
+<para>This is a minimal RefEntry.</para>
+</refsect3>
+</refsect2>
+</refsect1>
+
+<refsect1>
+<title>More Description</title>
+<para>This is a not-so minimal RefEntry.</para>
+</refsect1>
+
+<refsect1>
+<title>Even More Description</title>
+<para>This is an even less minimal RefEntry.</para>
+
+<informaltable frame="all">
+<tgroup cols="4">
+<colspec colname="b" colnum="2"/>
+<colspec colname="c" colnum="3"/>
+<colspec colname="d"/>
+<spanspec spanname="cd" namest="c" nameend="d"/>
+<tbody>
+  <row>
+    <entry>a1</entry>
+    <entry morerows="1" namest="b" nameend="c">b1-c2</entry>
+    <entry>d1</entry>
+  </row>
+  <row>
+    <entry morerows="2">a2-a4</entry>
+    <!-- b2, c2 spans from above -->
+    <entry>d2</entry>
+  </row>
+  <row>
+    <!-- a3 spans from above -->
+    <entry>b3</entry>
+    <entry>c3</entry>
+    <entry>d3</entry>
+  </row>
+  <row>
+    <!-- a4 spans from above -->
+    <entry>b4</entry>
+    <entry spanname="cd">c4-d4</entry>
+  </row>
+  <row>
+    <entry>a5</entry>
+    <entry>b5</entry>
+    <!-- c4 is missing -->
+    <entry colname="d">d5</entry>
+  </row>
+</tbody>
+</tgroup>
+</informaltable>
+
+<informaltable pgwide='0' frame='all'>
+  <tgroup cols='3' align='center' colsep='1' rowsep='1'>
+    <colspec colname='c1'/>
+    <colspec colname='c2'/>
+    <colspec colname='c3'/>
+    <tbody>
+      <row>
+        <entry align='left'>Shift-Control</entry>
+        <entry align='left'>Prior</entry>
+        <entry align='left'>Prev Screen</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Control</entry>
+        <entry align='left'>Next</entry>
+        <entry align='left'>Next Screen</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Control</entry>
+        <entry align='left'>Left</entry>
+        <entry align='left'>Prev Desktop</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Alt</entry>
+        <entry align='left'>Left</entry>
+        <entry align='left'>Prev Desktop Drag Focused Window</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Control</entry>
+        <entry align='left'>Right</entry>
+        <entry align='left'>Next Desktop</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Alt</entry>
+        <entry align='left'>Right</entry>
+        <entry align='left'>Next Desktop Drag Focused Window</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Control</entry>
+        <entry align='left'>F1-F12</entry>
+        <entry align='left'>Jump to desktop 1-12</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Control</entry>
+        <entry align='left'>BackSpace</entry>
+        <entry align='left'>Toggle Subdesktop</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Control</entry>
+        <entry align='left'>Up</entry>
+        <entry align='left'>Prev Window</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Control</entry>
+        <entry align='left'>Down</entry>
+        <entry align='left'>Next Window</entry>
+      </row>
+      <row>
+        <entry align='left'>Control-Alt</entry>
+        <entry align='left'>z</entry>
+        <entry align='left'>Hide Window</entry>
+      </row>
+      <row>
+        <entry align='left'>Control-Alt</entry>
+        <entry align='left'>x</entry>
+        <entry align='left'>Unhide last hidden window</entry>
+      </row>
+      <row>
+        <entry align='left'>Control-Alt</entry>
+        <entry align='left'>w</entry>
+        <entry align='left'>Close Window</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Alt</entry>
+        <entry align='left'>space</entry>
+        <entry align='left'>Move window to other subdesktop</entry>
+      </row>
+    </tbody>
+  </tgroup>
+</informaltable>
+
+<informaltable pgwide='0' frame='all'>
+  <tgroup cols='3' align='center' colsep='1' rowsep='1'>
+    <colspec colname='c1'/>
+    <colspec colname='c2'/>
+    <colspec colname='c3'/>
+    <tbody>
+      <row>
+        <entry align='left'>Shift-Control</entry>
+        <entry align='left'>space</entry>
+        <entry align='left'>Select Zoom</entry>
+      </row>
+      <row>
+        <entry align='left'>Control-Alt</entry>
+        <entry align='left'>space</entry>
+        <entry align='left'>Put/restore aside window</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Control</entry>
+        <entry align='left'>0</entry>
+        <entry align='left'>Put aside all other windows</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Control</entry>
+        <entry align='left'>KP_Home</entry>
+        <entry align='left'>Move window to top left</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Control</entry>
+        <entry align='left'>KP_Up</entry>
+        <entry align='left'>Move window to top center</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Control</entry>
+        <entry align='left'>KP_Prior</entry>
+        <entry align='left'>Move window to top right</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Control</entry>
+        <entry align='left'>KP_Left</entry>
+        <entry align='left'>Move window to left center</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Control</entry>
+        <entry align='left'>KP_Begin</entry>
+        <entry align='left'>Center window</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Control</entry>
+        <entry align='left'>KP_Right</entry>
+        <entry align='left'>Move window to right center</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Control</entry>
+        <entry align='left'>KP_End</entry>
+        <entry align='left'>Move window to bottom left</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Control</entry>
+        <entry align='left'>KP_Down</entry>
+        <entry align='left'>Move window to bottom center</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Control</entry>
+        <entry align='left'>KP_Next</entry>
+        <entry align='left'>Move window to bottom right</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Alt</entry>
+        <entry align='left'>KP_Up</entry>
+        <entry align='left'>Move window up</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Alt</entry>
+        <entry align='left'>KP_Down</entry>
+        <entry align='left'>Move window down</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Alt</entry>
+        <entry align='left'>KP_Left</entry>
+        <entry align='left'>Move window left</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Alt</entry>
+        <entry align='left'>KP_Right</entry>
+        <entry align='left'>Move window right</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Control-Alt</entry>
+        <entry align='left'>KP_Up</entry>
+        <entry align='left'>Grow window vertically</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Control-Alt</entry>
+        <entry align='left'>KP_Down</entry>
+        <entry align='left'>Shrink window vertically</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Control-Alt</entry>
+        <entry align='left'>KP_Left</entry>
+        <entry align='left'>Shrink window horizontally</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Control-Alt</entry>
+        <entry align='left'>KP_Right</entry>
+        <entry align='left'>Grow window horizontally</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Control-Alt</entry>
+        <entry align='left'>KP_Home</entry>
+        <entry align='left'>Grow window both ways</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Control-Alt</entry>
+        <entry align='left'>KP_End</entry>
+        <entry align='left'>Shrink window both ways</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Alt</entry>
+        <entry align='left'>KP_Insert</entry>
+        <entry align='left'>Toggle move/resize increment</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Alt</entry>
+        <entry align='left'>KP_Home</entry>
+        <entry align='left'>Maximize window vertically</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Alt</entry>
+        <entry align='left'>KP_End</entry>
+        <entry align='left'>Maximize window horizontally</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Alt</entry>
+        <entry align='left'>KP_Begin</entry>
+        <entry align='left'>Maximize window</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Control-Alt</entry>
+        <entry align='left'>KP_Begin</entry>
+        <entry align='left'>Full screen</entry>
+      </row>
+    </tbody>
+  </tgroup>
+</informaltable>
+
+<informaltable pgwide='0' frame='all'>
+  <tgroup cols='3' align='center' colsep='1' rowsep='1'>
+    <colspec colname='c1'/>
+    <colspec colname='c2'/>
+    <colspec colname='c3'/>
+    <tbody>
+      <row>
+        <entry align='left'>Shift-Control-Alt</entry>
+        <entry align='left'>KP_Up</entry>
+        <entry align='left'>Maximize left track</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Control-Alt</entry>
+        <entry align='left'>KP_Down</entry>
+        <entry align='left'>Restore left track</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Control-Alt</entry>
+        <entry align='left'>KP_Left</entry>
+        <entry align='left'>Shrink left track</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Control-Alt</entry>
+        <entry align='left'>KP_Right</entry>
+        <entry align='left'>Grow left track</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Alt</entry>
+        <entry align='left'>KP_Begin</entry>
+        <entry align='left'>Move window to/from left track</entry>
+      </row>
+      <row>
+        <entry align='left'>Control-Alt</entry>
+        <entry align='left'>space</entry>
+        <entry align='left'>Restore aside window</entry>
+      </row>
+    </tbody>
+  </tgroup>
+</informaltable>
+
+<informaltable pgwide='0' frame='all'>
+  <tgroup cols='4' align='center' colsep='1' rowsep='1'>
+    <colspec colname='c1'/>
+    <colspec colname='c2'/>
+    <colspec colname='c3'/>
+    <colspec colname='c4'/>
+    <thead>
+      <row>
+        <entry align='center'>Modifier</entry>
+        <entry align='center'>Button1</entry>
+        <entry align='center'>Button2</entry>
+        <entry align='center'>Button3</entry>
+      </row>
+    </thead>
+    <tbody>
+      <row>
+        <entry align='left'>None</entry>
+        <entry align='left'>Prev Desktop</entry>
+        <entry align='left'>Subdesktop</entry>
+        <entry align='left'>Next Desktop</entry>
+      </row>
+      <row>
+        <entry align='left'>Control</entry>
+        <entry align='left'>Prev Menu</entry>
+        <entry align='left'>Select Menu</entry>
+        <entry align='left'>Next Menu</entry>
+      </row>
+      <row>
+        <entry align='left'>Alt</entry>
+        <entry align='left'>Prev Hidden</entry>
+        <entry align='left'>Hide/Unhide</entry>
+        <entry align='left'>Next Hidden</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Control</entry>
+        <entry align='left'>Shrink</entry>
+        <entry align='left'>Select Zoom</entry>
+        <entry align='left'>Grow</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Alt</entry>
+        <entry align='left'>Move Window</entry>
+        <entry align='left'></entry>
+        <entry align='left'></entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Control-Alt</entry>
+        <entry align='left'>Resize Window</entry>
+        <entry align='left'>Lower Window</entry>
+        <entry align='left'>Maximize Window</entry>
+      </row>
+      <row>
+        <entry align='left'>Control-Alt</entry>
+        <entry align='left'>Restore Aside</entry>
+        <entry align='left'>Put/Restore Aside</entry>
+        <entry align='left'>Put Aside</entry>
+      </row>
+    </tbody>
+  </tgroup>
+</informaltable>
+
+<informaltable pgwide='0' frame='all'>
+  <tgroup cols='3' align='center' colsep='1' rowsep='1'>
+    <colspec colname='c1'/>
+    <colspec colname='c2'/>
+    <colspec colname='c3'/>
+    <thead>
+      <row>
+        <entry align='center'>Modifier</entry>
+        <entry align='center'>Roll Up</entry>
+        <entry align='center'>Roll Down</entry>
+      </row>
+    </thead>
+    <tbody>
+      <row>
+        <entry align='left'>None</entry>
+        <entry align='left'>Prev Desktop</entry>
+        <entry align='left'>Next Desktop</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift</entry>
+        <entry align='left'>Prev Window</entry>
+        <entry align='left'>Next Window</entry>
+      </row>
+      <row>
+        <entry align='left'>Control</entry>
+        <entry align='left'>Prev Menu</entry>
+        <entry align='left'>Next Menu</entry>
+      </row>
+      <row>
+        <entry align='left'>Alt</entry>
+        <entry align='left'>Prev Hidden</entry>
+        <entry align='left'>Next Hidden</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Control</entry>
+        <entry align='left'>Shrink</entry>
+        <entry align='left'>Grow</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Alt</entry>
+        <entry align='left'>Move Up</entry>
+        <entry align='left'>Move Down</entry>
+      </row>
+      <row>
+        <entry align='left'>Shift-Control-Alt</entry>
+        <entry align='left'>Move Left</entry>
+        <entry align='left'>Move Right</entry>
+      </row>
+      <row>
+        <entry align='left'>Control-Alt</entry>
+        <entry align='left'>Restore Aside</entry>
+        <entry align='left'>Put Aside</entry>
+      </row>
+    </tbody>
+  </tgroup>
+</informaltable>
+
+<informaltable pgwide='0' frame='all'>
+  <tgroup cols='2' align='center' colsep='1' rowsep='1'>
+    <colspec colname='c1'/>
+    <colspec colname='c2'/>
+    <thead>
+      <row>
+        <entry align='center'>Format</entry>
+        <entry align='center'>Affected desktops/screens</entry>
+      </row>
+    </thead>
+    <tbody>
+      <row>
+        <entry align='left'>larswm.S.D.resource</entry>
+        <entry align='left'>Only desktop D on screen S</entry>
+      </row>
+      <row>
+        <entry align='left'>larswm.S.?.resource</entry>
+        <entry align='left'>All desktops on screen S</entry>
+      </row>
+      <row>
+        <entry align='left'>larswm.?.D.resource</entry>
+        <entry align='left'>Only desktop D on all screens.</entry>
+      </row>
+      <row>
+        <entry align='left'>larswm.?.?.resource</entry>
+        <entry align='left'>All desktops on all screens.</entry>
+      </row>
+      <row>
+        <entry align='left'>larswm*resource</entry>
+        <entry align='left'>All desktops on all screens.</entry>
+      </row>
+    </tbody>
+  </tgroup>
+</informaltable>
+
+
+
+</refsect1>
+
+</refentry>
diff --git a/test/testdocs/refentry.007.xml b/test/testdocs/refentry.007.xml
new file mode 100644
index 0000000..57f5440
--- /dev/null
+++ b/test/testdocs/refentry.007.xml
@@ -0,0 +1,340 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<book>
+<bookinfo>
+<title>Unit Test: refentry.007</title>
+<releaseinfo role="CVS">$Id: refentry.007.xml 7465 2007-09-27 14:00:45Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</bookinfo>
+<reference>
+<title>Reference</title>
+<refentry>
+  <refentryinfo>
+    <authorgroup>
+      <author>
+        <firstname>Norman</firstname><surname>Walsh</surname>
+        <email>ndw nwalsh com</email>
+        <personblurb>
+          <para>Wrote the original version of this document.</para>
+        </personblurb>
+      </author>
+      <editor>
+        <contrib>Added a bunch of test cases.</contrib>
+        <firstname>Michael(tm)</firstname><surname>Smith</surname>
+        <email>smith sideshowbarker net</email>
+      </editor>
+    </authorgroup>
+    <copyright>
+      <year>2003</year>
+      <holder>Norman Walsh</holder>
+    </copyright>
+    <copyright>
+      <year>2006</year>
+      <holder>Michael(tm) Smith</holder>
+    </copyright>
+    <legalnotice>
+      <para>This file is a product of the DocBook Project.</para>
+    </legalnotice>
+    <legalnotice>
+      <para>Share and share alike.</para>
+    </legalnotice>
+  </refentryinfo>
+<refnamediv>
+<refname>FirstName</refname>
+<refname>SecondName</refname>
+<refpurpose>Purpose for FirstName</refpurpose>
+</refnamediv>
+
+<refnamediv>
+<refname>ThirdName</refname>
+<refpurpose>Purpose for ThirdName</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+  <?dbfunclist ?>
+  <funcsynopsis>
+    <!-- * Yes, friend, Funcsynopsis is a verbatim -->
+    <funcsynopsisinfo
+>#include &lt;varargs.h&gt;
+#include &lt;mouteyh.h&gt;
+#include &lt;qlmppzj.h&gt;</funcsynopsisinfo>
+    <funcprototype>
+      <funcdef><type>float</type> <function>rand</function></funcdef>
+      <void/>
+    </funcprototype>
+
+    <funcprototype>
+      <funcdef>int <function>max</function></funcdef>
+      <varargs/>
+    </funcprototype>
+
+    <funcprototype>
+      <funcdef>int <function>idiv</function></funcdef>
+      <paramdef><type>int</type> <parameter>n</parameter></paramdef>
+      <paramdef><type>int</type> <parameter>m</parameter></paramdef>
+    </funcprototype>
+  </funcsynopsis>
+
+  <para>Another.</para>
+
+  <funcsynopsis>
+    <funcprototype>
+      <funcdef>void <function>qsort</function></funcdef>
+      <paramdef>void *<parameter>dataptr</parameter>[]</paramdef>
+      <paramdef>int <parameter>left</parameter></paramdef>
+      <paramdef>int <parameter>right</parameter></paramdef>
+      <paramdef>int (*<parameter>comp</parameter>)
+      <funcparams>void *, void *</funcparams></paramdef>
+    </funcprototype>
+  </funcsynopsis>
+
+  <funcsynopsis>
+    <funcprototype>
+      <funcdef>int <function>foo_frob_something</function></funcdef>
+      <paramdef>foo_sometype1 <parameter>foo_frob_parm1</parameter></paramdef>
+      <paramdef>foo_sometype1 <parameter>foo_frob_parm2</parameter></paramdef>
+      <paramdef>foo_sometype1 <parameter>foo_frob_parm3</parameter></paramdef>
+      <paramdef><type>int</type> (* <parameter>parm4</parameter> )
+      <funcparams>int a, int b, int c</funcparams>
+      </paramdef>
+      <paramdef>foo_sometype1 <parameter>foo_frob_parm5</parameter></paramdef>
+    </funcprototype>
+
+    <funcprototype>
+      <funcdef>int <function>foo_frob_something</function></funcdef>
+      <paramdef>foo_sometype1 <parameter>foo_frob_parm1</parameter></paramdef>
+      <paramdef>foo_sometype1 <parameter>foo_frob_parm2</parameter></paramdef>
+      <paramdef>foo_sometype1 <parameter>foo_frob_parm3</parameter></paramdef>
+      <paramdef><type>int</type> (* <parameter>parm4</parameter> )
+      <funcparams>int a, int b, int c</funcparams>
+      </paramdef>
+      <paramdef>foo_sometype1 <parameter>foo_frob_parm5</parameter></paramdef>
+    </funcprototype>
+  </funcsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+<title>Description</title>
+<para>This is a minimal RefEntry.</para>
+
+<para>The following is a Variablelist with a title.
+<variablelist>
+  <title>My variablelist</title>
+  <varlistentry>
+    <term>varlistentry term 1</term>
+    <listitem><para>some listitem text</para></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>varlistentry term 2</term>
+    <listitem><para>some more listitem text</para></listitem>
+  </varlistentry>
+</variablelist>
+</para>
+<refsect2>
+<title>Subsection</title>
+<para>This is a minimal RefEntry.</para>
+
+<para>The following is a Variablelist with a title and a nested variablelist
+  <glosslist>
+    <title>My glosslist</title>
+  <glossentry>
+    <glossterm>glossentry term 1</glossterm>
+    <glossdef><para>some glossdef text</para></glossdef>
+  </glossentry>
+  <glossentry>
+    <glossterm>glossentry term 2</glossterm>
+    <glossdef>
+      <variablelist>
+        <varlistentry>
+          <term>nested variablelist term 1</term>
+          <listitem><para>some variablelist text</para></listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>nested variablelist term 2</term>
+          <listitem><para>some more variablelist text</para></listitem>
+        </varlistentry>
+      </variablelist>
+    </glossdef>
+  </glossentry>
+  </glosslist>
+</para>
+
+<refsect3>
+<title>Sub-subsection</title>
+<para>This is a minimal RefEntry.</para>
+</refsect3>
+</refsect2>
+</refsect1>
+
+<refsect1>
+<title>More Description</title>
+<para>This is a not-so minimal RefEntry.</para>
+<screen>
+This is a screen [break here]
+that starts with a line of space. [break here]
+And it ends with a line of space.
+</screen>
+
+<para>normal paragraph here</para>
+
+<screen>This is a screen [break here]
+that does not start with a line of space. [break here]
+And does not end with a line of space.</screen>
+
+<para>This is a normal paragraph that contains a screen.
+<screen>This is a screen within a normal paragraph [break here]
+that does not start with a line of space. [break here]
+And does not end with a line of space but is followed
+by a line of space.</screen>
+</para>
+
+<para>This is another  normal paragraph that contains a screen.
+<screen>This is a screen within a normal paragraph [break here]
+that does not start with a line of space. [break here]
+And does not end with a line of space and is not followed
+by a line of space.</screen></para>
+
+<para>This is another  normal paragraph that contains a screen.
+<screen>
+This is a screen within a normal paragraph [break here]
+that starts with a line of space. [break here]
+And ends with a line of space but is not followed by a line of space.
+</screen></para>
+
+<para>This is another  normal paragraph that contains a screen.
+<screen>
+This is a screen within a normal paragraph [break here]
+that starts with a line of space. [break here]
+And ends with a line of space and is followed by a line of space.
+</screen>
+</para>
+
+<para>This is another  normal paragraph that contains a screen.
+<screen>
+
+This is a screen within a normal paragraph [break here]
+that starts with a 2 lines of space. [break here]
+And ends with 3 lines of space and is followed by a line of space.
+
+
+</screen>
+</para>
+
+<para>This paragraph contains an itemizedlist with a title. The title
+is â??Mrignkwolmcngâ??.
+<orderedlist>
+  <title>Mrignkwolmcng</title>
+  <listitem>
+    <para>itemizedlist listitem 1</para>
+  </listitem>
+  <listitem>
+    <para>itemizedlist listitem 2</para>
+  </listitem>
+</orderedlist>
+
+This is some useless text that follows the â??Mrignkwolmcngâ?? orderedlist
+in the same para.</para>
+
+<para>The following is a Variablelist with a title and with a nested itemizedlist.
+<variablelist>
+  <title>My variablelist</title>
+  <varlistentry>
+    <term>varlistentry term 1</term>
+    <listitem>
+      <itemizedlist>
+        <title>nested itemizedlist</title>
+        <listitem>
+          <para>itemizedlist listitem 1</para>
+        </listitem>
+        <listitem>
+          <para>itemizedlist listitem 2</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>varlistentry term 2</term>
+    <listitem><para>some more listitem text</para></listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+<para>The following is a Variablelist with a title and with a
+nested Varlistentry that contains multiple Terms
+<variablelist>
+  <title>My nested-multi-term-per-varlistentry variablelist</title>
+  <varlistentry>
+    <term>Varlistentry term 1</term>
+    <listitem>
+      <variablelist>
+        <varlistentry>
+          <term>  varlistentry term 1.1</term>
+          <term>varlistentry term 1.2  </term>
+          <term>varlistentry         term 1.3</term>
+          <listitem><para>All 'bout terms 1.1, 1.2, and 1.3</para>
+          </listitem>
+        </varlistentry>
+      </variablelist>
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>varlistentry term 2</term>
+    <listitem><para>some more listitem text</para></listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+<refsect2>
+<title>Subsection</title>
+<para>This is a minimal RefEntry.</para>
+</refsect2>
+</refsect1>
+
+<refsect1>
+<title>Even More Description</title>
+<para>This is an even less minimal RefEntry.</para>
+
+<para>This is a paragraph. It contains the following segmentedlist,
+titled â??Gibbererishâ??, with several segtitle elements.
+<segmentedlist>
+  <title>Gibbererish</title>
+  <segtitle>Floober</segtitle>
+  <segtitle>Buugler</segtitle>
+  <segtitle>Sstangooo</segtitle>
+  <segtitle>Borobinda</segtitle>
+  <seglistitem>
+  <seg>Bamalalaboonda Bamalalaboonda Bamalalaboonda Bamalalaboonda Bamalalaboonda Bamalalaboonda</seg>
+  <seg>Mondorotoluafu</seg>
+  <seg>Ganafutralinga</seg>
+  <seg>Patagularamakundra</seg>
+  </seglistitem>
+  <seglistitem>
+  <seg>Cadraracondar</seg>
+  <seg>Hentirotomaambu</seg>
+  <seg>BdomentriolaiaBdomentriolaiaBdomentriolaia</seg>
+  <seg>Candamalaturuanio</seg>
+  </seglistitem>
+</segmentedlist>
+This is some text that follows the segementedlist within the same
+paragraph. The next part of this same paragraph is an
+<sgmltag>important</sgmltag> admonition.
+<important>
+  <para>It is very important that you read this. Thatâ??s why it stands
+  out the way that it does.</para>
+</important>
+</para>
+
+<para>This is a para with a footnote
+  <footnote
+    ><para>Stuff here <programlisting>This is a program listing
+that's two lines long.</programlisting></para></footnote>
+    and stuff after the
+footnote.</para>
+</refsect1>
+
+</refentry>
+</reference>
+</book>
diff --git a/test/testdocs/refentry.008.xml b/test/testdocs/refentry.008.xml
new file mode 100644
index 0000000..6ea1455
--- /dev/null
+++ b/test/testdocs/refentry.008.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: refentry.008</title>
+<releaseinfo role="CVS"
+>$Id: refentry.008.xml 7220 2007-08-09 09:02:56Z xmldoc $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<refentry id="minimal">
+<refnamediv>
+<refdescriptor>This is the refdescriptor</refdescriptor>
+<refname>Minimal</refname>
+<refpurpose>Test of a minimal RefEntry</refpurpose>
+</refnamediv>
+
+<refsect1>
+<title>Description</title>
+<para>This is a minimal RefEntry.</para>
+
+<literallayout><?dbhtml-include href="foo.xml"?></literallayout>
+
+<para><?dbhtml-include href="foo.xml"?></para>
+
+<para><?dbhtml-include href="bar.xml"?></para>
+
+</refsect1>
+</refentry>
+
+</article>
diff --git a/test/testdocs/refentry.009.xml b/test/testdocs/refentry.009.xml
new file mode 100644
index 0000000..7ae7e01
--- /dev/null
+++ b/test/testdocs/refentry.009.xml
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+  <articleinfo>
+    <title>Unit Test: refentry.009</title>
+    <subtitle>Refentry for a OO Class</subtitle>
+    <releaseinfo role="CVS"
+                 >$Id: refentry.009.xml 5443 2005-11-09 12:20:29Z xmldoc $</releaseinfo>
+    <corpauthor>DocBook Project Development Team</corpauthor>
+  </articleinfo>
+
+  <refentry id="Catalog_refentry">
+    <refnamediv>
+      <refname>Catalog</refname>
+      <refpurpose>do something with a catalog</refpurpose>
+    </refnamediv>
+    <refsynopsisdiv>
+      <para>@language='java'</para>
+      <classsynopsis language="java">
+        <ooclass>
+          <modifier>public</modifier>
+          <classname>Catalog</classname>
+        </ooclass>
+        <fieldsynopsis>
+          <modifier>public</modifier>
+          <modifier>static</modifier>
+          <modifier>final</modifier>
+          <type>int</type>
+          <varname>BASE</varname>
+          <initializer>CatalogEntry.addEntryType("BASE", 1)</initializer>
+        </fieldsynopsis>
+        <constructorsynopsis>
+          <modifier>public</modifier>
+          <methodname>Catalog</methodname>
+          <void/>
+        </constructorsynopsis>
+        <methodsynopsis>
+          <modifier>protected</modifier>
+          <void/>
+          <methodname>copyReaders</methodname>
+          <methodparam>
+            <type>Catalog</type>
+            <parameter>newCatalog</parameter>
+          </methodparam>
+        </methodsynopsis>
+      </classsynopsis>
+
+      <para>@language='cpp'</para>
+      <classsynopsis language="cpp">
+        <ooclass>
+          <modifier>public</modifier>
+          <classname>Catalog</classname>
+        </ooclass>
+        <fieldsynopsis>
+          <modifier>public</modifier>
+          <modifier>static</modifier>
+          <modifier>final</modifier>
+          <type>int</type>
+          <varname>BASE</varname>
+          <initializer>CatalogEntry.addEntryType("BASE", 1)</initializer>
+        </fieldsynopsis>
+        <constructorsynopsis>
+          <modifier>public</modifier>
+          <methodname>Catalog</methodname>
+          <void/>
+        </constructorsynopsis>
+        <methodsynopsis>
+          <modifier>protected</modifier>
+          <void/>
+          <methodname>copyReaders</methodname>
+          <methodparam>
+            <type>Catalog</type>
+            <parameter>newCatalog</parameter>
+          </methodparam>
+        </methodsynopsis>
+      </classsynopsis>
+
+      <para>@language='idl'</para>
+      <classsynopsis language="idl">
+        <ooclass>
+          <modifier>public</modifier>
+          <classname>Catalog</classname>
+        </ooclass>
+        <fieldsynopsis>
+          <modifier>public</modifier>
+          <modifier>static</modifier>
+          <modifier>final</modifier>
+          <type>int</type>
+          <varname>BASE</varname>
+          <initializer>CatalogEntry.addEntryType("BASE", 1)</initializer>
+        </fieldsynopsis>
+        <constructorsynopsis>
+          <modifier>public</modifier>
+          <methodname>Catalog</methodname>
+          <void/>
+        </constructorsynopsis>
+        <methodsynopsis>
+          <modifier>protected</modifier>
+          <void/>
+          <methodname>copyReaders</methodname>
+          <methodparam>
+            <type>Catalog</type>
+            <parameter>newCatalog</parameter>
+          </methodparam>
+        </methodsynopsis>
+      </classsynopsis>
+
+      <para>@language='perl'</para>
+      <classsynopsis language="perl">
+        <ooclass>
+          <modifier>public</modifier>
+          <classname>Catalog</classname>
+        </ooclass>
+        <fieldsynopsis>
+          <modifier>public</modifier>
+          <modifier>static</modifier>
+          <modifier>final</modifier>
+          <type>int</type>
+          <varname>BASE</varname>
+          <initializer>CatalogEntry.addEntryType("BASE", 1)</initializer>
+        </fieldsynopsis>
+        <constructorsynopsis>
+          <modifier>public</modifier>
+          <methodname>Catalog</methodname>
+          <void/>
+        </constructorsynopsis>
+        <methodsynopsis>
+          <modifier>protected</modifier>
+          <void/>
+          <methodname>copyReaders</methodname>
+          <methodparam>
+            <type>Catalog</type>
+            <parameter>newCatalog</parameter>
+          </methodparam>
+        </methodsynopsis>
+      </classsynopsis>
+    </refsynopsisdiv>
+
+    <refsect1>
+      <title>Dummy Refsect1</title>
+      <para>This is just a placeholder.</para>
+    </refsect1>
+
+  </refentry>
+
+</article>
diff --git a/test/testdocs/refentry.010.xml b/test/testdocs/refentry.010.xml
new file mode 100644
index 0000000..b1eea5a
--- /dev/null
+++ b/test/testdocs/refentry.010.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: refentry.009</title>
+<releaseinfo role="CVS">$Id: refentry.010.xml 5601 2006-03-03 08:52:39Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<refentry id="minimal">
+<refmeta>
+  <refentrytitle>Minimal</refentrytitle>
+  <refmiscinfo class="foo">bar</refmiscinfo>
+</refmeta>
+<refnamediv>
+<refname>Minimal</refname>
+<refpurpose>Test of a minimal RefEntry</refpurpose>
+</refnamediv>
+
+<refsect1>
+<title>Description</title>
+<para>This is a minimal RefEntry.</para>
+</refsect1>
+</refentry>
+
+</article>
diff --git a/test/testdocs/reference.001.xml b/test/testdocs/reference.001.xml
index 99f19b6..24a5a77 100644
--- a/test/testdocs/reference.001.xml
+++ b/test/testdocs/reference.001.xml
@@ -1,15 +1,17 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE reference PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                    "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE reference PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <reference>
 <referenceinfo>
 <title>Unit Test: reference.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: reference.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
 </referenceinfo>
 
+<title>Unit Test: reference.001</title>
+
 <refentry id="minimal">
 <refnamediv>
 <refname>Minimal</refname>
@@ -56,4 +58,3 @@
 </refentry>
 
 </reference>
-
diff --git a/test/testdocs/reference.002.xml b/test/testdocs/reference.002.xml
new file mode 100644
index 0000000..ba26a27
--- /dev/null
+++ b/test/testdocs/reference.002.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE reference PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<reference>
+  <referenceinfo>
+    <title>Unit Test: reference.002</title>
+    <releaseinfo role="CVS">$Id: reference.002.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+    <author><firstname>Michael</firstname><surname>Smith</surname>
+      <affiliation><address><email>smith xml-doc org</email></address></affiliation>
+    </author>
+  </referenceinfo>
+
+  <title>Unit Test: reference.002</title>
+
+  <refentry>
+    <refnamediv>
+      <refname>chown</refname>
+      <refpurpose>Change file owners and groups</refpurpose>
+    </refnamediv>
+
+    <refsect1>
+      <title>Description</title>
+      <para>[description of chown here]</para>
+    </refsect1>
+  </refentry>
+
+  <refentry>
+    <refmeta>
+      <refentrytitle>chgrp</refentrytitle>
+      <manvolnum>1</manvolnum>
+    </refmeta>
+    <refnamediv>
+      <refname>chgrp</refname>
+      <refpurpose>Change file groups</refpurpose>
+    </refnamediv>
+
+    <refsect1>
+      <title>Description</title>
+      <para>[description of chgrp here]</para>
+    </refsect1>
+  </refentry>
+
+  <refentry>
+    <refmeta>
+      <refentrytitle>chmod</refentrytitle>
+      <manvolnum>1</manvolnum>
+    </refmeta>
+    <refnamediv>
+      <refname>chmod</refname>
+      <refpurpose>Change access permissions</refpurpose>
+    </refnamediv>
+
+    <refsect1>
+      <title>Description</title>
+      <para>[description of chmod here]</para>
+    </refsect1>
+  </refentry>
+
+  <refentry>
+    <refnamediv>
+      <refname>mysql_convert_table_format</refname>
+      <refpurpose>MySQL table converter</refpurpose>
+    </refnamediv>
+
+    <refsect1>
+      <title>Description</title>
+      <para>[description of MySQL table converter here]</para>
+    </refsect1>
+  </refentry>
+
+  <refentry>
+    <refnamediv>
+      <refname>mysql_fix_privilege_tables</refname>
+      <refpurpose>Fixes MySQL privilege tables</refpurpose>
+    </refnamediv>
+
+    <refsect1>
+      <title>Description</title>
+      <para>[description of mysql_fix_privilege_tables table converter here]</para>
+    </refsect1>
+  </refentry>
+
+  <refentry>
+    <refnamediv>
+      <refname>Mail::SpamAssassin::PersistentAddrList</refname>
+      <refpurpose>persistent address list base class</refpurpose>
+    </refnamediv>
+
+    <refsect1>
+      <title>Description</title>
+      <para>[description here]</para>
+    </refsect1>
+  </refentry>
+</reference>
diff --git a/test/testdocs/remark.001.xml b/test/testdocs/remark.001.xml
new file mode 100644
index 0000000..2cd2faa
--- /dev/null
+++ b/test/testdocs/remark.001.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: remark.001</title>
+<releaseinfo role="CVS">$Id: remark.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Adam</firstname><surname>Di Carlo</surname>
+        <affiliation><address><email>adam onshored com</email></address></affiliation>
+</author>
+</articleinfo>
+  <para>
+    Para before the remark.
+  </para>
+  <remark>
+    Remark outside of a paragraph.  May require %show-comments% to be
+    turned on.
+  </remark>
+  <para>
+    Para after the remark.
+  </para>
+</article>
diff --git a/test/testdocs/remark.002.xml b/test/testdocs/remark.002.xml
new file mode 100644
index 0000000..2a51c74
--- /dev/null
+++ b/test/testdocs/remark.002.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: remark.002</title>
+<releaseinfo role="CVS">$Id: remark.002.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Adam</firstname><surname>Di Carlo</surname>
+        <affiliation><address><email>adam onshored com</email></address></affiliation>
+</author>
+</articleinfo>
+  <para>
+    Pre-remark text.
+    <remark>
+      Inline remark (inside a paragraph).  May require %show-comments% to be
+      turned on.
+    </remark>
+    Post-remark text.
+  </para>
+</article>
diff --git a/test/testdocs/revhistory.001.xml b/test/testdocs/revhistory.001.xml
index c50d72a..c86dfd1 100644
--- a/test/testdocs/revhistory.001.xml
+++ b/test/testdocs/revhistory.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article id="article">
 <articleinfo>
 <title>Unit Test: revhistory.001.xml</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: revhistory.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
@@ -17,6 +17,37 @@
 </revision>
 <revision>
 <revnumber>0.9</revnumber>
+<date>Nov 20, 1998</date>
+<authorinitials>ndw</authorinitials>
+<revremark>Some remark about the revision</revremark>
+</revision>
+<revision>
+<revnumber>0.8</revnumber>
+<date>19 November 1998</date>
+<authorinitials>ndw</authorinitials>
+<revremark>Some remark about the revision</revremark>
+</revision>
+<revision>
+<revnumber>0.7</revnumber>
+<date>November 18, 1998</date>
+<authorinitials>ndw</authorinitials>
+<revremark>Some remark about the revision</revremark>
+</revision>
+</revhistory>
+</articleinfo>
+
+<para>This article tests revhistory. It appears in the articleinfo.</para>
+
+<para>This paragraph also contains the revhistory.
+<revhistory>
+<revision>
+<revnumber>1.0</revnumber>
+<date>13 Mar 2002</date>
+<authorinitials>ndw</authorinitials>
+<revremark>Some remark.</revremark>
+</revision>
+<revision>
+<revnumber>0.9</revnumber>
 <date>20 Nov 1998</date>
 <authorinitials>ndw</authorinitials>
 <revremark>Some remark about the revision</revremark>
@@ -34,8 +65,22 @@
 <revremark>Some remark about the revision</revremark>
 </revision>
 </revhistory>
-</articleinfo>
+</para>
 
-<para>This article tests revhistory. It appears in the articleinfo.</para>
+<para>And this paragraph contains a different one:
+<revhistory>
+  <revision>
+      <revnumber>1.1.1</revnumber>
+      <date>12.6.2002</date>
+      <authorinitials>ndw</authorinitials>
+      <revdescription>
+        <itemizedlist>
+          <listitem><para>Item 1</para></listitem> 
+          <listitem><para>Item 2</para></listitem> 
+        </itemizedlist>
+      </revdescription>
+  </revision>
+</revhistory>
+</para>
 
 </article>
diff --git a/test/testdocs/screen.001.xml b/test/testdocs/screen.001.xml
index 3e81fe4..ce11ffa 100644
--- a/test/testdocs/screen.001.xml
+++ b/test/testdocs/screen.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: screen.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: screen.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/sect1.001.xml b/test/testdocs/sect1.001.xml
index 4dd328e..46c0863 100644
--- a/test/testdocs/sect1.001.xml
+++ b/test/testdocs/sect1.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: sect1.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: sect1.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/sect1.002.xml b/test/testdocs/sect1.002.xml
index bfb4ace..fa6b225 100644
--- a/test/testdocs/sect1.002.xml
+++ b/test/testdocs/sect1.002.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: sect1.002</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: sect1.002.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/section.001.xml b/test/testdocs/section.001.xml
index e4fbe83..ce64aa8 100644
--- a/test/testdocs/section.001.xml
+++ b/test/testdocs/section.001.xml
@@ -1,15 +1,17 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: section.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: section.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
 </articleinfo>
 
+<para>See <xref linkend="c2s1s1s2"/>.</para>
+
     <section id="c2s1"><title>Section 1</title>
       <para>blah.</para>
       <section id="c2s1s1"><title>Section 1.1</title>
diff --git a/test/testdocs/section.002.xml b/test/testdocs/section.002.xml
index b2eeb5a..f054777 100644
--- a/test/testdocs/section.002.xml
+++ b/test/testdocs/section.002.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: section.002</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: section.002.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/section.003.xml b/test/testdocs/section.003.xml
index 44e09cb..9910fe8 100644
--- a/test/testdocs/section.003.xml
+++ b/test/testdocs/section.003.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: section.003</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: section.003.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/section.004.xml b/test/testdocs/section.004.xml
new file mode 100644
index 0000000..552d50d
--- /dev/null
+++ b/test/testdocs/section.004.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<chapter>
+<chapterinfo>
+<title>Unit Test: section.004</title>
+<releaseinfo role="CVS">$Id: section.004.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</chapterinfo>
+<title>Unit Test: section.004</title>
+
+<para>Blah.</para>
+
+    <section id="c2s2"><title>Section 1</title>
+      <para>blah.</para>
+      <section id="c2s2s1"><title>Section 1.1</title>
+	<para>blah.</para>
+	<section id="c2s2s1s1"><title>Section 1.1.1</title>
+	  <para>blah.</para>
+	  <section id="c2s2s1s1s1"><title>Section 1.1.1.1</title>
+	    <para>blah.</para>
+	    <section id="c2s2s1s1s1s1s"><title>Section 1.1.1.1.1</title>
+	      <para>blah.</para>
+	    </section>
+	    <section id="c2s2s1s1s1s2"><title>Section 1.1.1.1.2</title>
+	      <para>blah.</para>
+	    </section>
+	    <section id="c2s2s1s1s1s3"><title>Section 1.1.1.1.3</title>
+	      <para>blah.</para>
+	    </section>
+	  </section>
+	  <section id="c2s2s1s1s2"><title>Section 1.1.1.2</title>
+	    <para>blah.</para>
+	  </section>
+	  <section id="c2s2s1s1s3"><title>Section 1.1.1.3</title>
+	    <para>blah.</para>
+	  </section>
+	</section>
+	<section id="c2s2s1s2"><title>Section 1.1.2</title>
+	  <para>blah.</para>
+	</section>
+	<section id="c2s2s1s3"><title>Section 1.1.3</title>
+	  <para>blah.</para>
+	</section>
+      </section>
+      <section id="c2s2s2"><title>Section 1.2</title>
+	<para>blah.</para>
+      </section>
+      <section id="c2s2s3"><title>Section 1.3</title>
+	<para>blah.</para>
+      </section>
+    </section>
+    <section id="c2s3"><title>Section 2</title>
+      <para>blah.</para>
+    </section>
+</chapter>
diff --git a/test/testdocs/section.005.xml b/test/testdocs/section.005.xml
new file mode 100644
index 0000000..d2333c7
--- /dev/null
+++ b/test/testdocs/section.005.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+  <articleinfo>
+    <title>Unit Test: section.005</title>
+    <subtitle>Deeply nested sections with subtitles</subtitle>
+    <releaseinfo role="CVS">$Id: section.005.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+    <author><firstname>Michael</firstname><surname>Smith</surname>
+    <affiliation><address><email>smith sideshowbarker net</email></address></affiliation>
+    </author>
+  </articleinfo>
+
+  <para>See <xref linkend="c2s1s1s2"/>.</para>
+
+  <section id="c2s1">
+    <title>Section 1</title>
+    <subtitle>Subtitle</subtitle>
+    <para>blah.</para>
+    <section id="c2s1s1">
+      <title>Section 1.1</title>
+      <subtitle>Subtitle</subtitle>
+      <para>blah.</para>
+      <section id="c2s1s1s1">
+	<title>Section 1.1.1</title>
+	<subtitle>Subtitle</subtitle>
+	<para>blah.</para>
+	<section id="c2s1s1s1s1">
+	  <title>Section 1.1.1.1</title>
+	  <subtitle>Subtitle</subtitle>
+	  <para>blah.</para>
+	  <section id="c2s1s1s1s1s1">
+	    <title>Section 1.1.1.1.1</title>
+	    <subtitle>Subtitle</subtitle>
+	    <para>blah.</para>
+	  </section>
+	  <section id="c2s1s1s1s1s2">
+	    <title>Section 1.1.1.1.2</title>
+	    <subtitle>Subtitle</subtitle>
+	    <para>blah.</para>
+	    <section id="c2s1s1s1s1s2s1">
+	      <title>Section 1.1.1.1.2.1</title>
+	      <subtitle>Subtitle</subtitle>
+	      <para>blah.</para>
+	    </section>
+	  </section>
+	  <section id="c2s1s1s1s1s3">
+	    <title>Section 1.1.1.1.3</title>
+	    <subtitle>Subtitle</subtitle>
+	    <para>blah.</para>
+	    <simplesect id="c2s1s1s1s1s3s1">
+	      <title>Section 1.1.1.1.3.1</title>
+	      <subtitle>Subtitle</subtitle>
+	      <para>blah.</para>
+	    </simplesect>
+	  </section>
+	</section>
+	<section id="c2s1s1s1s2">
+	  <title>Section 1.1.1.2</title>
+	  <subtitle>Subtitle</subtitle>
+	  <para>blah.</para>
+	</section>
+	<section id="c2s1s1s1s3">
+	  <title>Section 1.1.1.3</title>
+	  <subtitle>Subtitle</subtitle>
+	  <para>blah.</para>
+	</section>
+      </section>
+      <section id="c2s1s1s2">
+	<title>Section 1.1.2</title>
+	<subtitle>Subtitle</subtitle>
+	<para>blah.</para>
+      </section>
+      <section id="c2s1s1s3">
+	<title>Section 1.1.3</title>
+	<subtitle>Subtitle</subtitle>
+	<para>blah.</para>
+      </section>
+    </section>
+    <section id="c2s1s2">
+      <title>Section 1.2</title>
+      <subtitle>Subtitle</subtitle>
+      <para>blah.</para>
+    </section>
+    <section id="c2s1s3">
+      <title>Section 1.3</title>
+      <subtitle>Subtitle</subtitle>
+      <para>blah.</para>
+    </section>
+  </section>
+
+</article>
diff --git a/test/testdocs/segmentedlist.001.xml b/test/testdocs/segmentedlist.001.xml
index f7b4572..b864fbb 100644
--- a/test/testdocs/segmentedlist.001.xml
+++ b/test/testdocs/segmentedlist.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: segmentedlist.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: segmentedlist.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/segmentedlist.002.xml b/test/testdocs/segmentedlist.002.xml
index 1180b70..ddfd771 100644
--- a/test/testdocs/segmentedlist.002.xml
+++ b/test/testdocs/segmentedlist.002.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: segmentedlist.002</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: segmentedlist.002.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/segmentedlist.003.xml b/test/testdocs/segmentedlist.003.xml
new file mode 100644
index 0000000..b92a8e0
--- /dev/null
+++ b/test/testdocs/segmentedlist.003.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: segmentedlist.003</title>
+<releaseinfo role="CVS">$Id: segmentedlist.003.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>Segmented list with embedded PI:</para>
+
+<segmentedlist>
+<segtitle>Label 1</segtitle>
+<segtitle>Label 2</segtitle>
+<seglistitem><?Pub Dtl?><seg>Content 1</seg>
+<seg>Content 2</seg>
+</seglistitem>
+</segmentedlist>
+
+</article>
diff --git a/test/testdocs/set.001.xml b/test/testdocs/set.001.xml
index 3d17612..e085263 100644
--- a/test/testdocs/set.001.xml
+++ b/test/testdocs/set.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE set PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-              "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE set PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <set>
 <setinfo>
 <title>Unit Test: set.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: set.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/sgmltag.xml b/test/testdocs/sgmltag.xml
new file mode 100644
index 0000000..79efbd4
--- /dev/null
+++ b/test/testdocs/sgmltag.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article id="article">
+<articleinfo>
+<title>Unit Test: sgmltag.001.xml</title>
+<releaseinfo role="CVS">$Id: sgmltag.xml 5600 2006-03-03 08:43:12Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+<affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>There are several classes of â??tagâ??:</para>
+
+<itemizedlist>
+<listitem><para><sgmltag class="attribute">attribute</sgmltag></para></listitem>
+<listitem><para><sgmltag class="attvalue">attvalue</sgmltag></para></listitem>
+<listitem><para><sgmltag class="element">element</sgmltag></para></listitem>
+<listitem><para><sgmltag class="emptytag">emptytag</sgmltag></para></listitem>
+<listitem><para><sgmltag class="endtag">endtag</sgmltag></para></listitem>
+<listitem><para><sgmltag class="genentity">genentity</sgmltag></para></listitem>
+<listitem><para><sgmltag class="numcharref">numcharref</sgmltag></para></listitem>
+<listitem><para><sgmltag class="paramentity">paramentity</sgmltag></para></listitem>
+<listitem><para><sgmltag class="pi">pi</sgmltag></para></listitem>
+<listitem><para><sgmltag class="sgmlcomment">sgmlcomment</sgmltag></para></listitem>
+<listitem><para><sgmltag class="starttag">starttag</sgmltag></para></listitem>
+<listitem><para><sgmltag class="xmlpi">xmlpi</sgmltag></para></listitem>
+</itemizedlist>
+
+</article>
diff --git a/test/testdocs/sidebar.001.xml b/test/testdocs/sidebar.001.xml
new file mode 100644
index 0000000..e8f6e51
--- /dev/null
+++ b/test/testdocs/sidebar.001.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article id="article">
+<articleinfo>
+<title>Unit Test: sidebar.001.xml</title>
+<releaseinfo role="CVS">$Id: sidebar.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>This is a sidebar test.</para>
+
+<para>Here is some content. This is content. This is content. This is content.
+This is content. This is content. This is content. This is content.
+This is content. This is content. This is content. This is content.
+This is content. This is content. This is content. This is content.
+</para>
+
+<para>This is content. This is content. This is content.
+This is content. This is content. This is content. This is content.
+This is content. This is content. This is content. This is content.
+This is content. This is content. This is content. This is content.
+</para>
+
+<sidebar>
+<title>Sidebar</title>
+<para>Here is some sidebar content. This is content. This is content. This is content.
+This is content. This is content. This is content. This is content.
+This is content. This is content. This is content. This is content.
+This is content. This is content. This is content. This is content.
+</para>
+
+<para>This is content. This is content. This is content.
+This is content. This is content. This is content. This is content.
+This is content. This is content. This is content. This is content.
+This is content. This is content. This is content. This is content.
+</para>
+</sidebar>
+
+<para>Back into the main flow. This is content. This is content. This is content.
+This is content. This is content. This is content. This is content.
+This is content. This is content. This is content. This is content.
+This is content. This is content. This is content. This is content.
+</para>
+
+</article>
diff --git a/test/testdocs/simplelist.001.xml b/test/testdocs/simplelist.001.xml
new file mode 100644
index 0000000..986e7c6
--- /dev/null
+++ b/test/testdocs/simplelist.001.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: simplelist.001</title>
+<releaseinfo role="CVS">$Id: simplelist.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>An inline simple list:
+<simplelist type="inline">
+<member>eggs</member>
+<member>milk</member>
+<member>butter</member>
+</simplelist>.
+</para>
+
+<para>A horizontal simple list:</para>
+
+<simplelist type="horiz" columns="3">
+<member>A</member>
+<member>B</member>
+<member>C</member>
+<member>D</member>
+<member>E</member>
+<member>F</member>
+<member>G</member>
+<member>H</member>
+<member>I</member>
+<member>J</member>
+<member>K</member>
+</simplelist>
+
+<para>A vertical simple list:</para>
+
+<simplelist type="vert" columns="3">
+<member>A</member>
+<member>B</member>
+<member>C</member>
+<member>D</member>
+<member>E</member>
+<member>F</member>
+<member>G</member>
+<member>H</member>
+<member>I</member>
+<member>J</member>
+<member>K</member>
+</simplelist>
+
+</article>
diff --git a/test/testdocs/simplemsgentry.xml b/test/testdocs/simplemsgentry.xml
new file mode 100644
index 0000000..da1d763
--- /dev/null
+++ b/test/testdocs/simplemsgentry.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<chapter>
+<chapterinfo>
+<releaseinfo role="CVS">$Id: simplesect.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+</chapterinfo>
+<title>Unit Test: simplemsgentry</title>
+
+<msgset>
+<simplemsgentry level="user" origin="parser">
+  <msgtext>
+    <para>XML document structures must start and end within the same
+    entity.</para>
+  </msgtext>
+  <msgexplan>
+    <para>In XML, the end tag for an element must occur in the same
+entity as the start tag. You cannot include an external parsed entity
+that contains unbalanced tags, even if the result, after the content
+is included would be balanced.</para>
+  </msgexplan>
+</simplemsgentry>
+</msgset>
+
+</chapter>
diff --git a/test/testdocs/simplesect.001.xml b/test/testdocs/simplesect.001.xml
new file mode 100644
index 0000000..33b9a78
--- /dev/null
+++ b/test/testdocs/simplesect.001.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<chapter>
+<chapterinfo>
+<releaseinfo role="CVS">$Id: simplesect.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+</chapterinfo>
+<title>Unit Test: simplesect</title>
+
+<para>This test case is for simplesect.</para>
+
+<section>
+<title>A Section Title</title>
+
+<para>Some content <acronym>here</acronym>.</para>
+
+<simplesect>
+<title>First Simplesect</title>
+<para>Some content</para>
+</simplesect>
+</section>
+
+<section>
+<title>Another Section Title</title>
+
+<para>Some content</para>
+
+<section>
+<title>A Subsection Title</title>
+
+<para>Some content</para>
+
+<simplesect>
+<title>Second Simplesect</title>
+<subtitle>Subtitle</subtitle>
+<para>Some content</para>
+</simplesect>
+</section>
+</section>
+
+</chapter>
diff --git a/test/testdocs/stamp.001.xml b/test/testdocs/stamp.001.xml
index bcd4fb5..915c39a 100644
--- a/test/testdocs/stamp.001.xml
+++ b/test/testdocs/stamp.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: stamp.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: stamp.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/stamp.002.xml b/test/testdocs/stamp.002.xml
index 1f7e7e6..a0e5835 100644
--- a/test/testdocs/stamp.002.xml
+++ b/test/testdocs/stamp.002.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: stamp.002</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: stamp.002.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/stamp.003.xml b/test/testdocs/stamp.003.xml
index ce26882..c9b78f1 100644
--- a/test/testdocs/stamp.003.xml
+++ b/test/testdocs/stamp.003.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: stamp.003</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: stamp.003.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/stamp.004.xml b/test/testdocs/stamp.004.xml
index 5908d81..f9f773d 100644
--- a/test/testdocs/stamp.004.xml
+++ b/test/testdocs/stamp.004.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: stamp.004</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: stamp.004.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/stamp.005.xml b/test/testdocs/stamp.005.xml
index 39ec55a..2656c21 100644
--- a/test/testdocs/stamp.005.xml
+++ b/test/testdocs/stamp.005.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: stamp.005</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: stamp.005.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/stamp.006.xml b/test/testdocs/stamp.006.xml
index d5e20a1..cf4af39 100644
--- a/test/testdocs/stamp.006.xml
+++ b/test/testdocs/stamp.006.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: stamp.006</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: stamp.006.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/stamp.007.xml b/test/testdocs/stamp.007.xml
index 519843a..7ecb987 100644
--- a/test/testdocs/stamp.007.xml
+++ b/test/testdocs/stamp.007.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: stamp.007</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: stamp.007.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/stamp.008.xml b/test/testdocs/stamp.008.xml
index 1b3bdec..11233ee 100644
--- a/test/testdocs/stamp.008.xml
+++ b/test/testdocs/stamp.008.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: stamp.008</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: stamp.008.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/stamp.009.xml b/test/testdocs/stamp.009.xml
index 836df5b..d1bb70f 100644
--- a/test/testdocs/stamp.009.xml
+++ b/test/testdocs/stamp.009.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: stamp.009</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: stamp.009.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/stamp.010.xml b/test/testdocs/stamp.010.xml
index 470b860..0f47ba8 100644
--- a/test/testdocs/stamp.010.xml
+++ b/test/testdocs/stamp.010.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: stamp.010</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: stamp.010.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/stamp.011.xml b/test/testdocs/stamp.011.xml
index 8b19495..14a8ebc 100644
--- a/test/testdocs/stamp.011.xml
+++ b/test/testdocs/stamp.011.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: stamp.011</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: stamp.011.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/stamp.012.xml b/test/testdocs/stamp.012.xml
index 22e9c80..95c2dfe 100644
--- a/test/testdocs/stamp.012.xml
+++ b/test/testdocs/stamp.012.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: stamp.012</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: stamp.012.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/stamp.013.xml b/test/testdocs/stamp.013.xml
new file mode 100644
index 0000000..06fc713
--- /dev/null
+++ b/test/testdocs/stamp.013.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: stamp.013</title>
+<subtitle>Test having both contentwidth="x%" and contentdepth="y%"</subtitle>
+<releaseinfo role="CVS">$Id: stamp.013.xml 5433 2005-11-04 09:00:49Z xmldoc $</releaseinfo>
+<corpauthor>DocBook Project Development team</corpauthor>
+</articleinfo>
+
+<para>The stamp image has a natural size of 200x128 pixels.</para>
+
+<para>The stamp image: width=7.12cm; depth=7.12cm; scale=125; align=center</para>
+
+<mediaobject>
+  <imageobject>
+    <?dbhtml background-color="blue"?>
+    <imagedata
+      width="7.12cm"
+      depth="7.12cm"
+      scale="125"
+      align="center"
+      fileref="graphics/duck-small"/>
+  </imageobject>
+  <textobject><phrase>The DocBook Stamp</phrase></textobject>
+</mediaobject>
+
+<para>The stamp image: width=512; depth=512; contentwidth=50%; contentdepth=30%; align=center</para>
+
+<mediaobject>
+  <imageobject>
+    <?dbhtml background-color="blue"?>
+    <imagedata
+      width="512"
+      depth="512"
+      contentwidth="50%"
+      contentdepth="30%"
+      align="center"
+      fileref="graphics/duck-small"/>
+  </imageobject>
+  <textobject><phrase>The DocBook Stamp</phrase></textobject>
+</mediaobject>
+
+<mediaobject>
+  <imageobject>
+    <?dbhtml background-color="blue"?>
+    <imagedata
+      width="512"
+      depth="400"
+      contentwidth="500"
+      contentdepth="300"
+      align="left"
+      valign="top"
+      fileref="graphics/duck-small"/>
+  </imageobject>
+  <textobject><phrase>The DocBook Stamp</phrase></textobject>
+</mediaobject>
+
+<mediaobject>
+  <imageobject>
+    <?dbhtml background-color="blue"?>
+    <imagedata
+      depth="400"
+      contentwidth="500"
+      contentdepth="300"
+      align="left"
+      valign="top"
+      fileref="graphics/duck-small"/>
+  </imageobject>
+  <textobject><phrase>The DocBook Stamp</phrase></textobject>
+</mediaobject>
+
+<mediaobject>
+  <imageobject>
+    <?dbhtml background-color="blue"?>
+    <imagedata
+      contentwidth="500"
+      contentdepth="300"
+      align="left"
+      valign="top"
+      fileref="graphics/duck-small"/>
+  </imageobject>
+  <textobject><phrase>The DocBook Stamp</phrase></textobject>
+</mediaobject>
+
+
+</article>
diff --git a/test/testdocs/stepalternatives.001.xml b/test/testdocs/stepalternatives.001.xml
new file mode 100644
index 0000000..728059b
--- /dev/null
+++ b/test/testdocs/stepalternatives.001.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: procedure.003</title>
+<releaseinfo role="CVS">$Id: stepalternatives.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<procedure>
+<para>Do the following:</para>
+<step>
+  <para>Step one</para>
+  <stepalternatives>
+    <step>
+      <para>Branch 1</para>
+      <substeps>
+        <step>
+          <para>a. </para>
+        </step>
+        <step>
+          <para>b. </para>
+        </step>
+      </substeps>
+    </step>
+    <step>
+      <para>Branch 2</para>
+      <substeps>
+        <step>
+          <para>a. </para>
+        </step>
+        <step>
+          <para>b. </para>
+        </step>
+      </substeps>
+    </step>
+  </stepalternatives>
+</step>
+<step>
+  <para>Step two</para>
+</step>
+</procedure>
+</article>
diff --git a/test/testdocs/subtitle.001.xml b/test/testdocs/subtitle.001.xml
new file mode 100644
index 0000000..400c0e5
--- /dev/null
+++ b/test/testdocs/subtitle.001.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<book>
+<title>Unit Test: subtitle.001</title>
+<subtitle>Book Subtitle</subtitle>
+
+<part><title>Part Title</title><subtitle>Part Subtitle</subtitle>
+
+<chapter><title>Chapter Title</title><subtitle>Chapter Subtitle</subtitle>
+  <sect1><title>Sect1 Title</title><subtitle>Sect1 Subtitle</subtitle>
+    <sect2><title>Sect2 Title</title><subtitle>Sect2 Subtitle</subtitle>
+      <sect3><title>Sect3 Title</title><subtitle>Sect3 Subtitle</subtitle>
+        <para>Spoon!</para>
+      </sect3>
+    </sect2>
+  </sect1>
+</chapter>
+
+<chapter><title>Chapter Title</title><subtitle>Chapter Subtitle</subtitle>
+  <section><title>Section Title</title><subtitle>Section Subtitle</subtitle>
+    <section><title>Subsection Title</title><subtitle>Subsection Subtitle</subtitle>
+      <section><title>Subsubsection Title</title><subtitle>Subsubsection Subtitle</subtitle>
+        <para>Fork?</para>
+      </section>
+    </section>
+  </section>
+</chapter>
+
+</part>
+
+</book>
diff --git a/test/testdocs/superscript.001.xml b/test/testdocs/superscript.001.xml
new file mode 100644
index 0000000..c2cd8df
--- /dev/null
+++ b/test/testdocs/superscript.001.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article id="article">
+<articleinfo>
+<title>Unit Test: superscript.001.xml</title>
+<releaseinfo role="CVS">$Id: superscript.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>This article tests superscripts and subscripts, such as
+â??H<subscript>2</subscript>Oâ?? and
+â??a<superscript>2</superscript> + b<superscript>2</superscript> = c<superscript>2</superscript>â??.</para>
+
+</article>
diff --git a/test/testdocs/svg-001.xml b/test/testdocs/svg-001.xml
new file mode 100644
index 0000000..c5c8349
--- /dev/null
+++ b/test/testdocs/svg-001.xml
@@ -0,0 +1,11 @@
+<svg:svg xmlns:svg="http://www.w3.org/2000/svg";>
+  <svg:g transform="scale(0.5)">
+    <svg:polygon style="fill:red; stroke:blue; stroke-width:10"
+                 points="350, 75 379,161 469,161 397,215
+                         423,301 350,250 277,301 303,215
+                         231,161 321,161" />
+    <svg:polygon style="fill:lime; stroke:blue; stroke-width:10"
+                 points="850,75  958,137.5 958,262.5
+                         850,325 742,262.6 742,137.5"/>
+  </svg:g>
+</svg:svg>
diff --git a/test/testdocs/svg.001.xml b/test/testdocs/svg.001.xml
index 719359e..8b00c2b 100644
--- a/test/testdocs/svg.001.xml
+++ b/test/testdocs/svg.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook SVG Module V1.0beta2//EN"
-                         "http://www.oasis-open.org/docbook/xml/svg/1.0beta2/dbsvg.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: svg.001.xml</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: svg.001.xml 4105 2004-12-15 23:00:31Z xmldoc $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
@@ -14,7 +14,8 @@
 
 <mediaobject>
   <imageobject>
-    <svg:svg xmlns:svg="http://www.w3.org/2000/svg";>
+    <svg:svg xmlns:svg="http://www.w3.org/2000/svg";
+	height="4in" width="4in">
       <svg:g transform="scale(0.5)">
         <svg:polygon style="fill:red; stroke:blue; stroke-width:10"
                      points="350, 75 379,161 469,161 397,215
diff --git a/test/testdocs/svg.002.xml b/test/testdocs/svg.002.xml
index b40c475..e2e1106 100644
--- a/test/testdocs/svg.002.xml
+++ b/test/testdocs/svg.002.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook SVG Module V1.0beta2//EN"
-                         "http://www.oasis-open.org/docbook/xml/svg/1.0beta2/dbsvg.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: svg.002.xml</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: article.001.xml,v 1.2 2002/04/18 22:15:39 nwalsh Exp $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/table.001.xml b/test/testdocs/table.001.xml
index 28cbd59..b88773d 100644
--- a/test/testdocs/table.001.xml
+++ b/test/testdocs/table.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: table.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: table.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/table.002.xml b/test/testdocs/table.002.xml
index 8cc11cd..d854417 100644
--- a/test/testdocs/table.002.xml
+++ b/test/testdocs/table.002.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: table.002</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: table.002.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/table.003.xml b/test/testdocs/table.003.xml
index dbcbb66..d345b47 100644
--- a/test/testdocs/table.003.xml
+++ b/test/testdocs/table.003.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: table.003</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: table.003.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/table.004.xml b/test/testdocs/table.004.xml
index 8b6d131..07e73be 100644
--- a/test/testdocs/table.004.xml
+++ b/test/testdocs/table.004.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: table.004</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: table.004.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/table.005.xml b/test/testdocs/table.005.xml
index 1b14c32..a70ebf7 100644
--- a/test/testdocs/table.005.xml
+++ b/test/testdocs/table.005.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: table.005</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: table.005.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/table.006.xml b/test/testdocs/table.006.xml
index 764045f..f768f96 100644
--- a/test/testdocs/table.006.xml
+++ b/test/testdocs/table.006.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: table.006</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: table.006.xml 5294 2005-10-16 20:39:21Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
@@ -130,10 +130,35 @@
 </tgroup>
 </informaltable>
 
-<para>Tic Tac Toe:</para>
+
+<para>Tic Tac Toe (colsep, rowsep):</para>
 
 <informaltable frame="none">
-<tgroup cols="3" rowsep="0" colsep="0">
+<tgroup cols="3" rowsep="1" colsep="1">
+<tbody>
+<row>
+<entry>a foo</entry>
+<entry>a bar</entry>
+<entry>a baz</entry>
+</row>
+<row>
+<entry>b foo</entry>
+<entry>b bar</entry>
+<entry>b baz</entry>
+</row>
+<row>
+<entry>c foo</entry>
+<entry>c foo</entry>
+<entry>c baz</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+<para>Tic Tac Toe (the perverse way, using colsep on colspec and rowsep on rows):</para>
+
+<informaltable frame="none">
+<tgroup cols="3">
 <colspec colnum="1" colsep="1"/>
 <colspec colnum="2" colsep="1"/>
 <tbody>
@@ -156,10 +181,11 @@
 </tgroup>
 </informaltable>
 
+
 <para>Box in the middle:</para>
 
 <informaltable frame="none">
-<tgroup cols="3">
+<tgroup cols="3" rowsep="0" colsep="0">
 <tbody>
 <row>
 <entry>a foo</entry>
diff --git a/test/testdocs/table.007.xml b/test/testdocs/table.007.xml
new file mode 100644
index 0000000..37fe9ca
--- /dev/null
+++ b/test/testdocs/table.007.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: table.007</title>
+<releaseinfo role="CVS">$Id: table.007.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>Missing center cell...</para>
+
+<informaltable frame="none">
+<tgroup cols="3">
+<colspec colname="c2" colnum="2" colsep="1"/>
+<colspec colname="c3" colnum="3"/>
+<tbody>
+<row>
+<entry>a foo</entry>
+<entry>a bar</entry>
+<entry>a baz</entry>
+</row>
+<row rowsep="1">
+<entry>b foo</entry>
+<entry namest="c3">b baz</entry>
+</row>
+<row>
+<entry>c foo</entry>
+<entry>c foo</entry>
+<entry>c baz</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+</article>
diff --git a/test/testdocs/table.008.xml b/test/testdocs/table.008.xml
new file mode 100644
index 0000000..0da6c58
--- /dev/null
+++ b/test/testdocs/table.008.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: table.008</title>
+<releaseinfo role="CVS">$Id: table.008.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>Table style test.  The following tables should have column
+  separator between 2nd and 3rd columns, a row separator between the
+  2nd and 3rd rows, and an empty center cell.</para>
+
+<informaltable frame="none" tabstyle="style1">
+<tgroup cols="3">
+<colspec colname="c2" colnum="2" colsep="1"/>
+<colspec colname="c3" colnum="3"/>
+<tbody>
+<row>
+<entry>a foo</entry>
+<entry>a bar</entry>
+<entry>a baz</entry>
+</row>
+<row rowsep="1">
+<entry>b foo</entry>
+<entry namest="c3">b baz</entry>
+</row>
+<row>
+<entry>c foo</entry>
+<entry>c foo</entry>
+<entry>c baz</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+<para>...</para>
+
+<informaltable frame="none">
+<tgroup cols="3">
+<colspec colname="c2" colnum="2" colsep="1"/>
+<colspec colname="c3" colnum="3"/>
+<tbody>
+<row>
+<entry>no style</entry>
+<entry>a bar</entry>
+<entry>a baz</entry>
+</row>
+<row rowsep="1">
+<entry>b foo</entry>
+<entry namest="c3">b baz</entry>
+</row>
+<row>
+<entry>c foo</entry>
+<entry>c foo</entry>
+<entry>c baz</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+</article>
diff --git a/test/testdocs/table.009.xml b/test/testdocs/table.009.xml
new file mode 100644
index 0000000..a5cdccd
--- /dev/null
+++ b/test/testdocs/table.009.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: table.009</title>
+<releaseinfo role="CVS">$Id: table.009.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>Nested table test.</para>
+
+<informaltable frame="all">
+<tgroup cols="3">
+<tbody>
+<row>
+<entry>a foo</entry>
+<entry>a bar</entry>
+<entry>a baz</entry>
+</row>
+<row>
+<entry>b foo</entry>
+<entrytbl cols="3">
+  <colspec colwidth="200"/>
+  <tbody>
+    <row>
+      <entry>a' foo</entry>
+      <entry>a' bar</entry>
+      <entry>a' baz</entry>
+    </row>
+    <row>
+      <entry>b' foo</entry>
+      <entry>b' bar</entry>
+      <entry morerows="1">b' and c' baz</entry>
+    </row>
+    <row>
+      <entry>c' foo</entry>
+      <entry>c' bar</entry>
+    </row>
+  </tbody>
+</entrytbl>
+<entry>b baz</entry>
+</row>
+<row>
+<entry>c foo</entry>
+<entry>c bar</entry>
+<entry>c baz</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+<para>Nested table test.</para>
+
+<informaltable frame="none">
+<tgroup cols="3" colsep="1" rowsep="1">
+<tbody>
+<row>
+<entry>a foo</entry>
+<entry>a bar</entry>
+<entry>a baz</entry>
+</row>
+<row>
+<entry>b foo</entry>
+<entrytbl cols="3">
+  <colspec colwidth="200"/>
+  <tbody>
+    <row>
+      <entry>a' foo</entry>
+      <entry>a' bar</entry>
+      <entry>a' baz</entry>
+    </row>
+    <row>
+      <entry>b' foo</entry>
+      <entry>b' bar</entry>
+      <entry morerows="1">b' and c' baz</entry>
+    </row>
+    <row>
+      <entry>c' foo</entry>
+      <entry>c' bar</entry>
+    </row>
+  </tbody>
+</entrytbl>
+<entry>b baz</entry>
+</row>
+<row>
+<entry>c foo</entry>
+<entry>c bar</entry>
+<entry>c baz</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+</article>
diff --git a/test/testdocs/table.010.xml b/test/testdocs/table.010.xml
new file mode 100644
index 0000000..700c931
--- /dev/null
+++ b/test/testdocs/table.010.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article id="table.010">
+<articleinfo>
+<title>Unit Test: table.010</title>
+<releaseinfo role="CVS">$Id: table.010.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+
+<informaltable frame="all">
+<tgroup cols="2">
+<colspec colwidth="1.5in"/>
+<colspec colwidth="2.5in"/>
+<tbody>
+<row>
+<entry><emphasis
+role="bold">Address:</emphasis></entry>
+<entry><literallayout>Some literal layout
+text goes here.</literallayout>
+</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+</article>
diff --git a/test/testdocs/table.011.xml b/test/testdocs/table.011.xml
new file mode 100644
index 0000000..ffa4a0e
--- /dev/null
+++ b/test/testdocs/table.011.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article id="table.011">
+<articleinfo>
+<title>Unit Test: table.011</title>
+<releaseinfo role="CVS">$Id: table.011.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Adam</firstname> <surname>Di Carlo</surname>
+        <affiliation><address><email>adam onshored com</email></address></affiliation>
+</author>
+</articleinfo>
+
+  <para>
+Simple cell spacing test.  The following single-column table should
+show both cell contents starting at the same place.</para>
+
+  <para>Yes.</para>
+
+  <informaltable frame="all">
+    <tgroup cols="1">
+      <tbody>
+        <row>
+          <entry>First entry.</entry>
+        </row>
+        <row>
+          <entry>
+Second entry.</entry>
+        </row>
+      </tbody>
+    </tgroup>
+  </informaltable>
+</article>
diff --git a/test/testdocs/table.012.xml b/test/testdocs/table.012.xml
new file mode 100644
index 0000000..98007e5
--- /dev/null
+++ b/test/testdocs/table.012.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: table.012</title>
+<releaseinfo role="CVS">$Id: table.012.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>Table style test.</para>
+
+<informaltable frame="all">
+<tgroup cols="3">
+<colspec colname="c2" colnum="2" colsep="1"/>
+<colspec colname="c3" colnum="3"/>
+<tbody>
+<row>
+<entry>a foo</entry>
+<entry><?dbhtml bgcolor="red"?><?dbfo bgcolor="red"?>a bar</entry>
+<entry>a baz</entry>
+</row>
+<row rowsep="1">
+<entry>b foo</entry>
+<entry namest="c3">b baz</entry>
+</row>
+<row>
+<entry>c foo</entry>
+<entry>c foo</entry>
+<entry>c baz</entry>
+</row>
+</tbody>
+</tgroup>
+<tgroup cols="2">
+<tbody>
+<row>
+<entry>a bar</entry>
+<entry>a baz</entry>
+</row>
+<row>
+<entry>c foo</entry>
+<entry>c foo</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+</article>
diff --git a/test/testdocs/table.013.xml b/test/testdocs/table.013.xml
new file mode 100644
index 0000000..03a0910
--- /dev/null
+++ b/test/testdocs/table.013.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: table.013</title>
+<releaseinfo role="CVS">$Id: table.013.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>Test for entrytbl, bug #677564.</para>
+
+<informaltable frame="none">
+  <tgroup cols="3">
+    <tbody>
+      <row>
+        <entry>one</entry>
+        <entrytbl cols="1" colsep="0" rowsep="0">
+          <tbody>
+            <row>
+              <entry>Du texte dans une cellule.</entry>
+            </row>
+          </tbody>
+        </entrytbl>
+        <entry>three</entry>
+      </row>
+    </tbody>
+  </tgroup>
+</informaltable>
+
+</article>
diff --git a/test/testdocs/table.014.xml b/test/testdocs/table.014.xml
new file mode 100644
index 0000000..b9cdb2a
--- /dev/null
+++ b/test/testdocs/table.014.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: table.008</title>
+<releaseinfo role="CVS">$Id: table.014.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>Table style test.</para>
+
+<informaltable frame="all">
+<tgroup cols="3">
+<colspec colname="c2" colnum="2" colsep="1"/>
+<colspec colname="c3" colnum="3"/>
+<tbody>
+<row>
+<entry>a foo</entry>
+<entry>a bar</entry>
+<entry>a baz</entry>
+</row>
+<row rowsep="1">
+<entry>b foo</entry>
+<entry namest="c3">b baz</entry>
+</row>
+<row>
+<entry>c foo</entry>
+<entry>c foo</entry>
+<entry>c baz</entry>
+</row>
+</tbody>
+</tgroup>
+<tgroup cols="2">
+<tbody>
+<row>
+<entry>a bar</entry>
+<entry>a baz</entry>
+</row>
+<row>
+<entry>c foo</entry>
+<entry>c foo</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+</article>
diff --git a/test/testdocs/table.015.xml b/test/testdocs/table.015.xml
new file mode 100644
index 0000000..fc6deb0
--- /dev/null
+++ b/test/testdocs/table.015.xml
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: table.015</title>
+<releaseinfo role="CVS">$Id: table.015.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<table frame="all">
+<title>Multi-page Table with THead and TFoot</title>
+<tgroup cols="2">
+<thead>
+<row>
+<entry>Head Left</entry>
+<entry>Head Right</entry>
+</row>
+</thead>
+<tfoot>
+<row>
+<entry>Foot Left</entry>
+<entry>Foot Right</entry>
+</row>
+</tfoot>
+<tbody>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+<row><entry>Body Left</entry><entry>Body Right</entry></row>
+</tbody>
+</tgroup>
+</table>
+
+</article>
diff --git a/test/testdocs/table.016.xml b/test/testdocs/table.016.xml
new file mode 100644
index 0000000..36e4ece
--- /dev/null
+++ b/test/testdocs/table.016.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: table.016</title>
+<releaseinfo role="CVS">
+$Id: table.016.xml 5294 2005-10-16 20:39:21Z nwalsh $
+</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>Tables can nest in HTML.</para>
+
+<informaltable border="1">
+<tbody>
+<tr>
+  <td>One</td>
+  <td>Two</td>
+  <td>Three</td>
+  <td>Four</td>
+</tr>
+<tr>
+  <td>One</td>
+  <td colspan="2" rowspan="2">
+
+    <informaltable border="1">
+    <tbody>
+    <tr>
+      <td>One</td>
+      <td>Two</td>
+    </tr>
+    <tr>
+      <td>Three</td>
+      <td>Four</td>
+    </tr>
+    </tbody>
+    </informaltable>
+
+  </td>
+  <td>Four</td>
+</tr>
+<tr>
+  <td>One</td>
+  <td>Four</td>
+</tr>
+<tr>
+  <td>One</td>
+  <td colspan="2" rowspan="2">
+  </td>
+  <td>Four</td>
+</tr>
+<tr>
+  <td>One</td>
+  <td>Four</td>
+</tr>
+<tr>
+  <td>One</td>
+  <td>Two</td>
+  <td>Three</td>
+  <td>Four</td>
+</tr>
+</tbody>
+</informaltable>
+
+</article>
diff --git a/test/testdocs/table.017.xml b/test/testdocs/table.017.xml
new file mode 100644
index 0000000..8013206
--- /dev/null
+++ b/test/testdocs/table.017.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: table.017</title>
+<releaseinfo role="CVS">
+$Id: table.017.xml 4613 2005-04-20 11:54:35Z nwalsh $
+</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>This test attempts to demonstrate the three hard cases:
+horizontal spans, vertical spans, and missing entries.</para>
+
+<informaltable frame="all">
+<tgroup cols="4">
+<colspec colname="b" colnum="2"/>
+<colspec colname="c" colnum="3"/>
+<colspec colname="d"/>
+<spanspec spanname="cd" namest="c" nameend="d"/>
+<tbody>
+  <row>
+    <entry>a1</entry>
+    <entry morerows="1" namest="b" nameend="c">b1-c2</entry>
+    <entry>d1</entry>
+  </row>
+  <row>
+    <entry morerows="2">a2-a4</entry>
+    <!-- b2, c2 spans from above -->
+    <entry>d2</entry>
+  </row>
+  <row>
+    <!-- a3 spans from above -->
+    <entry>b3</entry>
+    <entry>c3</entry>
+    <entry>d3</entry>
+  </row>
+  <row>
+    <!-- a4 spans from above -->
+    <entry>b4</entry>
+    <entry spanname="cd">c4-d4</entry>
+  </row>
+  <row>
+    <entry>a5</entry>
+    <entry>b5</entry>
+    <!-- c4 is missing -->
+    <entry colname="d">d5</entry>
+  </row>
+</tbody>
+</tgroup>
+</informaltable>
+
+</article>
diff --git a/test/testdocs/table.018.xml b/test/testdocs/table.018.xml
new file mode 100644
index 0000000..8b2afea
--- /dev/null
+++ b/test/testdocs/table.018.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: table.018</title>
+<releaseinfo role="CVS">
+$Id: table.018.xml 4613 2005-04-20 11:54:35Z nwalsh $
+</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>This test is a table with a long description.</para>
+
+<table frame="all">
+<title>A table with a title</title>
+<textobject>
+<phrase>Some short alt text</phrase>
+</textobject>
+<textobject>
+<para>This is the long description of this table.</para>
+</textobject>
+<tgroup cols="4">
+<colspec colname="b" colnum="2"/>
+<colspec colname="c" colnum="3"/>
+<colspec colname="d"/>
+<spanspec spanname="cd" namest="c" nameend="d"/>
+<tbody>
+  <row>
+    <entry>a1</entry>
+    <entry morerows="1" namest="b" nameend="c">b1-c2</entry>
+    <entry>d1</entry>
+  </row>
+  <row>
+    <entry morerows="2">a2-a4</entry>
+    <!-- b2, c2 spans from above -->
+    <entry>d2</entry>
+  </row>
+  <row>
+    <!-- a3 spans from above -->
+    <entry>b3</entry>
+    <entry>c3</entry>
+    <entry>d3</entry>
+  </row>
+  <row>
+    <!-- a4 spans from above -->
+    <entry>b4</entry>
+    <entry spanname="cd">c4-d4</entry>
+  </row>
+  <row>
+    <entry>a5</entry>
+    <entry>b5</entry>
+    <!-- c4 is missing -->
+    <entry colname="d">d5</entry>
+  </row>
+</tbody>
+</tgroup>
+</table>
+
+</article>
diff --git a/test/testdocs/textobject.001.xml b/test/testdocs/textobject.001.xml
new file mode 100644
index 0000000..ea95d91
--- /dev/null
+++ b/test/testdocs/textobject.001.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: textobject.001</title>
+<releaseinfo role="CVS">$Id: textobject.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>The XML source for this document is:</para>
+
+<programlisting linenumbering="numbered"><textobject>
+<textdata fileref="textobject.001.xml"/>
+</textobject></programlisting>
+
+</article>
diff --git a/test/testdocs/textobject.002.xml b/test/testdocs/textobject.002.xml
new file mode 100644
index 0000000..73d9695
--- /dev/null
+++ b/test/testdocs/textobject.002.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: textobject.001</title>
+<releaseinfo role="CVS">$Id: textobject.002.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>The XML source for this document is:</para>
+
+<programlisting linenumbering="numbered"><textobject>
+<textdata fileref="http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"/>
+</textobject></programlisting>
+
+</article>
diff --git a/test/testdocs/title.001.xml b/test/testdocs/title.001.xml
new file mode 100644
index 0000000..843f142
--- /dev/null
+++ b/test/testdocs/title.001.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article id="article">
+<articleinfo>
+<title>Unit Test: title.001.xml</title>
+<releaseinfo role="CVS">$Id: title.001.xml 4109 2004-12-16 16:17:53Z nwalsh $</releaseinfo>
+<authorgroup>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+<author><firstname>Jane</firstname><surname>Doe</surname></author>
+</authorgroup>
+<abstract>
+<para>This is the abstract.</para>
+<para>It has several paras.</para>
+<para>It has several paras.</para>
+</abstract>
+</articleinfo>
+
+<para>This is a title test.</para>
+
+<section>
+<title>Test inlinemediaobject: <inlinemediaobject>
+<imageobject>
+<imagedata fileref="graphics/U1230.gif"/>
+</imageobject>
+</inlinemediaobject></title>
+
+<para>Does that duck show up in the ToC title?</para>
+</section>
+</article>
diff --git a/test/testdocs/toc.001.xml b/test/testdocs/toc.001.xml
index 66c4963..927ef49 100644
--- a/test/testdocs/toc.001.xml
+++ b/test/testdocs/toc.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-               "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <book>
 <bookinfo>
 <title>Unit Test: toc.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: toc.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
@@ -60,4 +60,3 @@
 </preface>
 
 </book>
-
diff --git a/test/testdocs/ulink.001.xml b/test/testdocs/ulink.001.xml
index 246ddf1..24a0bfa 100644
--- a/test/testdocs/ulink.001.xml
+++ b/test/testdocs/ulink.001.xml
@@ -1,12 +1,12 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"; [
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"; [
 <!ENTITY dh "&#xAD;">
 ]>
 <article>
 <articleinfo>
 <title>Unit Test: ulink.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: ulink.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/ulink.002.xml b/test/testdocs/ulink.002.xml
new file mode 100644
index 0000000..d0d3388
--- /dev/null
+++ b/test/testdocs/ulink.002.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<book>
+<bookinfo>
+<title>Unit Test: ulink.002</title>
+<releaseinfo role="CVS">$Id: ulink.002.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</bookinfo>
+
+<chapter>
+<title>Foo <ulink url="http://example.com/";>URL</ulink></title>
+
+<para>This chapter tests a <sgmltag>ulink</sgmltag> in a
+<sgmltag>title</sgmltag>.
+</para>
+
+</chapter>
+</book>
diff --git a/test/testdocs/variablelist.001.xml b/test/testdocs/variablelist.001.xml
index 20b3783..22248bf 100644
--- a/test/testdocs/variablelist.001.xml
+++ b/test/testdocs/variablelist.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: variablelist.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: variablelist.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
@@ -61,4 +61,23 @@
 </varlistentry>
 </variablelist>
 
+<variablelist>
+<varlistentry>
+<term>errnum :</term>
+<listitem>
+<para>the system error number. See the standard C errno documentation.
+</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term>Returns :</term>
+<listitem>
+<para>a string describing the error code. If the error code is
+unknown, it returns "unknown error (<code>&lt;code&gt;</code>)".
+The string can only be used until the next call to g_strerror().
+</para>
+</listitem>
+</varlistentry>
+</variablelist>
+
 </article>
diff --git a/test/testdocs/variablelist.002.xml b/test/testdocs/variablelist.002.xml
index e8b04b4..a2204c9 100644
--- a/test/testdocs/variablelist.002.xml
+++ b/test/testdocs/variablelist.002.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: variablelist.002</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: variablelist.002.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/variablelist.003.xml b/test/testdocs/variablelist.003.xml
index d4b2fc0..c833e98 100644
--- a/test/testdocs/variablelist.003.xml
+++ b/test/testdocs/variablelist.003.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: variablelist.003</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: variablelist.003.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/variablelist.004.xml b/test/testdocs/variablelist.004.xml
index 89b6b83..655ed7d 100644
--- a/test/testdocs/variablelist.004.xml
+++ b/test/testdocs/variablelist.004.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <article>
 <articleinfo>
 <title>Unit Test: variablelist.004</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: variablelist.004.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
diff --git a/test/testdocs/wordsize.001.xml b/test/testdocs/wordsize.001.xml
new file mode 100644
index 0000000..a2fc64a
--- /dev/null
+++ b/test/testdocs/wordsize.001.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article id="ws">
+<articleinfo>
+<title>Unit Test: wordsize.001.xml</title>
+<releaseinfo role="CVS">
+$Id: wordsize.001.xml 4056 2004-11-23 13:28:50Z nwalsh $
+</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>This is a test of the <sgmltag class='attribute'>wordsize</sgmltag>
+effectivity attribute.
+Here's a 64 bit symbol: <symbol wordsize="64">width_8</symbol>.
+Here's a 32 bit symbol: <symbol wordsize="32">width_4</symbol>.</para>
+
+</article>
diff --git a/test/testdocs/xmlspace.001.xml b/test/testdocs/xmlspace.001.xml
new file mode 100644
index 0000000..38e6dcc
--- /dev/null
+++ b/test/testdocs/xmlspace.001.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article>
+<articleinfo>
+<title>Unit Test: xmlspace.001</title>
+<releaseinfo role="CVS">
+$Id: xmlspace.001.xml 4056 2004-11-23 13:28:50Z nwalsh $
+</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<programlisting linenumbering="numbered" xml:space="preserve">ProgramListing: This is a test
+  Only a test.
+Had this been a real emegency,
+  We would have fled in terror
+And you would not have been informed.
+
+Foo &lt;Bar&gt;</programlisting>
+
+</article>
diff --git a/test/testdocs/xref.001.xml b/test/testdocs/xref.001.xml
index 1cf07c4..ffa0838 100644
--- a/test/testdocs/xref.001.xml
+++ b/test/testdocs/xref.001.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-               "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"; [
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"; [
 <!ENTITY blah "<para>Blah blah blah blah. Blah blah blah blah. Blah blah blah blah.
 Blah blah blah blah blah blah blah blah. Blah blah blah blah.
 Blah. Blah blah blah blah. Blah blah. Blah blah blah blah.
@@ -23,7 +23,7 @@ Blah. Blah blah blah blah. Blah blah. Blah blah blah blah.
 <book>
 <bookinfo>
 <title>Unit Test: xref.001</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: xref.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>
@@ -48,6 +48,10 @@ Blah. Blah blah blah blah. Blah blah. Blah blah blah blah.
 </listitem>
 <listitem><para>para: <xref linkend="para"/>.</para>
 </listitem>
+<listitem><para>varlistentry: <xref linkend="varlistentry"/>.</para>
+</listitem>
+<listitem><para>orderedlistitem: <xref linkend="orderedlistitem"/>.</para>
+</listitem>
 </itemizedlist>
 
 </dedication>
@@ -83,6 +87,24 @@ Blah. Blah blah blah blah. Blah blah. Blah blah blah blah.
 &blah;
 <para id="para">This paragraph has an ID.</para>
 
+
+<variablelist>
+<varlistentry id="varlistentry">
+<term>VarList Term</term>
+<listitem>
+<para>Test cross-ref to varlistentries, should use term text.</para>
+</listitem>
+</varlistentry>
+</variablelist>
+
+      <orderedlist>
+        <listitem>
+          <para>first item</para>
+        </listitem>
+        <listitem id="orderedlistitem" xreflabel="ol1">
+          <para>second item, xref as "ol1".</para>
+        </listitem>
+      </orderedlist>
 </chapter>
 
 </part>
diff --git a/test/testdocs/xref.002.xml b/test/testdocs/xref.002.xml
new file mode 100644
index 0000000..bcb795f
--- /dev/null
+++ b/test/testdocs/xref.002.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article id="article">
+<articleinfo>
+<title>Unit Test: xref.002.xml</title>
+<releaseinfo role="CVS">$Id: xref.002.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+        <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
+</author>
+<modespec id="xreftext">Xref Endterm</modespec>
+</articleinfo>
+
+<para>This is an xref test.</para>
+
+<para>Cross reference to section one: <xref linkend="s1"/>.</para>
+
+<para>Cross reference to section two: <xref linkend="s2"/>.</para>
+
+<para>Cross reference to section one with endterm:
+<xref linkend="s1" endterm="xreftext"/>.</para>
+
+<para>Cross reference to section two with endterm:
+<xref linkend="s2" endterm="xreftext"/>.</para>
+
+<section id="s1">
+<title>Section One Title</title>
+
+<para>This text is irrelevant.</para>
+
+</section>
+
+<section id="s2" xreflabel="Section Two XRefLabel">
+<title>Section Two Title</title>
+
+<para>This text is irrelevant.</para>
+
+</section>
+
+</article>
diff --git a/test/testdocs/xref.003.xml b/test/testdocs/xref.003.xml
new file mode 100644
index 0000000..952c56f
--- /dev/null
+++ b/test/testdocs/xref.003.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article id="article">
+<articleinfo>
+<title>Unit Test: xref.003.xml</title>
+<releaseinfo role="CVS">$Id: xref.003.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
+<author><firstname>Adam</firstname><surname>Di Carlo</surname>
+        <affiliation><address><email>adam onshored com</email></address></affiliation>
+</author>
+    <titleabbrev>Unit 03</titleabbrev>
+</articleinfo>
+
+  <section>
+    <title>Xref test: titleabbrev</title>
+    <para>
+      We're testing that xref uses the <sgmltag>titleabbrev</sgmltag>
+      element where appropriate.
+    </para>
+    <para>
+      Article: <xref linkend="article"/>.
+    </para>
+    <para>
+      Section: <xref linkend="section"/>.
+    </para>
+    <para>
+      Figure: <xref linkend="figure"/>.
+    </para>
+    <para>
+      Example: <xref linkend="example"/>.
+    </para>
+    <para>
+      Table: <xref linkend="table"/>.
+    </para>
+    <!-- what about:
+    procedure, qandadiv, glossary, index, variablelist, etc. 
+    -->
+  </section>
+
+  <section id="section">
+    <title>Cross-reference targets</title>
+    <titleabbrev>Cross-ref targets</titleabbrev>
+
+    <para>
+      Targets for cross-reference tests.
+    </para>
+
+    <figure id="figure">
+      <title>Long Title for Figure</title>
+      <titleabbrev>Short Fig Title</titleabbrev>
+      <mediaobject>
+        <textobject>
+          <para>Bit of text</para>
+        </textobject>
+      </mediaobject>
+    </figure>
+
+    <example id="example">
+      <title>Long Title for Example</title>
+      <titleabbrev>Short Examp Title</titleabbrev>
+      <para>Substance of example</para>
+    </example>
+
+    <table id="table">
+      <title>Long Title for Table</title>
+      <titleabbrev>Short Table Title</titleabbrev>
+      <tgroup cols="1">
+        <tbody>
+          <row>
+            <entry>table cell</entry>
+          </row>
+        </tbody>
+      </tgroup>
+    </table>
+
+  </section>
+</article>
diff --git a/test/testdocs/xref.004.xml b/test/testdocs/xref.004.xml
new file mode 100644
index 0000000..5534061
--- /dev/null
+++ b/test/testdocs/xref.004.xml
@@ -0,0 +1,330 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+<article id="C.FMU20030102A" lang="fr">
+  <title>Test Article</title>
+  <!-- sections -->
+  <section>
+    <title>Some definitions</title>
+    <para><variablelist>
+	<varlistentry>
+	  <term id="def-1">The first word defined</term>
+	  <listitem>
+	      <para>The associate definition</para>
+	  </listitem>
+	</varlistentry>
+	<varlistentry>
+	  <term id="def-2">The second word defined</term>
+	  <listitem>
+	    <para>The associate definition</para>
+	  </listitem>
+	</varlistentry>
+      </variablelist></para>
+
+      <para>Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.</para>
+
+      <para>Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.</para>
+
+      <para>Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.</para>
+
+      <para>Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.</para>
+
+      <para>Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.</para>
+
+      <para>Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.</para>
+
+      <para>Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.</para>
+
+      <para>Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.</para>
+
+      <para>Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.</para>
+
+      <para>Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.</para>
+
+      <para>Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.</para>
+
+      <para>Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.</para>
+
+      <para>Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.</para>
+
+      <para>Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.</para>
+
+      <para>Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.</para>
+
+      <para>Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.</para>
+
+      <para>Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.</para>
+
+      <para>Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.</para>
+
+  </section>
+  <!-- sections -->
+  <section>
+    <title>Some analysis using previous defined word</title>
+    <section>
+      <title><xref linkend="def-1" endterm="def-1" /></title>
+      <para>Few about first defined word aspect of the problem.</para>
+    </section>
+    <section>
+      <title><xref linkend="def-2" endterm="def-2" /></title>
+      <para>Something about 2nd aspect.</para>
+    </section>
+    <section>
+      <title>A boring title</title>
+      <para>Something boring.</para>
+
+      <para>Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.</para>
+
+      <para>Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.</para>
+
+      <para>Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.</para>
+
+      <para>Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.</para>
+
+      <para>Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.</para>
+
+      <para>Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.</para>
+
+      <para>Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.</para>
+
+      <para>Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.</para>
+
+      <para>Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.</para>
+
+      <para>Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.</para>
+
+      <para>Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.</para>
+
+      <para>Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.</para>
+
+      <para>Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.</para>
+
+      <para>Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.</para>
+
+      <para>Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.</para>
+
+      <para>Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.</para>
+
+      <para>Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.</para>
+
+      <para>Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.
+Some text to make it go on for a few pages.</para>
+
+    </section>
+  </section>
+</article>
diff --git a/test/testdocs/xrefstyle.001.xml b/test/testdocs/xrefstyle.001.xml
index 32bc6c7..ea58717 100644
--- a/test/testdocs/xrefstyle.001.xml
+++ b/test/testdocs/xrefstyle.001.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
 <chapter id="chapter">
 <chapterinfo>
 <title>Unit Test: xrefstyle.001.xml</title>
-<releaseinfo role="CVS">$Id$</releaseinfo>
+<releaseinfo role="CVS">$Id: xrefstyle.001.xml 4056 2004-11-23 13:28:50Z nwalsh $</releaseinfo>
 <author><firstname>Norman</firstname><surname>Walsh</surname>
         <affiliation><address><email>ndw nwalsh com</email></address></affiliation>
 </author>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]