summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsmerten <smerten@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>2010-11-01 12:18:09 +0000
committersmerten <smerten@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>2010-11-01 12:18:09 +0000
commit3fec6bb014603c9111138abcdf7ddef9f21e120a (patch)
treefdc12e660155d7133dd209ca8dbd29b5f6328a2a
parent7fff15d41fa012970d06bed19c0774c55b5c57ba (diff)
downloaddocutils-3fec6bb014603c9111138abcdf7ddef9f21e120a.tar.gz
Added tests.
git-svn-id: http://svn.code.sf.net/p/docutils/code/trunk@6466 929543f6-e4f2-0310-98a6-ba3bd3dd1d04
-rw-r--r--sandbox/xml2rst/tests.xalan/common.cfg5
-rw-r--r--sandbox/xml2rst/tests.xalan/real/filterunit.cfg3
-rw-r--r--sandbox/xml2rst/tests.xalan/simple/filterunit.cfg3
-rw-r--r--sandbox/xml2rst/tests.xalan/synthetic/filterunit.cfg3
-rw-r--r--sandbox/xml2rst/tests.xsltproc/common.cfg5
-rw-r--r--sandbox/xml2rst/tests.xsltproc/options/filterunit.cfg7
-rw-r--r--sandbox/xml2rst/tests.xsltproc/real/filterunit.cfg3
-rw-r--r--sandbox/xml2rst/tests.xsltproc/simple/filterunit.cfg3
-rw-r--r--sandbox/xml2rst/tests.xsltproc/synthetic/filterunit.cfg3
-rw-r--r--sandbox/xml2rst/tests/options/expected/adornmentDefault.rst46
-rw-r--r--sandbox/xml2rst/tests/options/expected/adornmentEmacs.rst46
-rw-r--r--sandbox/xml2rst/tests/options/expected/adornmentReverse.rst46
-rw-r--r--sandbox/xml2rst/tests/options/expected/fold20.rst13
-rw-r--r--sandbox/xml2rst/tests/options/expected/fold70.rst4
-rw-r--r--sandbox/xml2rst/tests/options/filterunit.cfg5
-rw-r--r--sandbox/xml2rst/tests/options/input/adornmentDefault.opt1
-rw-r--r--sandbox/xml2rst/tests/options/input/adornmentDefault.xml3
-rw-r--r--sandbox/xml2rst/tests/options/input/adornmentDefault.xsltproc1
-rw-r--r--sandbox/xml2rst/tests/options/input/adornmentEmacs.opt1
-rw-r--r--sandbox/xml2rst/tests/options/input/adornmentEmacs.xml3
-rw-r--r--sandbox/xml2rst/tests/options/input/adornmentEmacs.xsltproc1
-rw-r--r--sandbox/xml2rst/tests/options/input/adornmentReverse.opt1
-rw-r--r--sandbox/xml2rst/tests/options/input/adornmentReverse.xml3
-rw-r--r--sandbox/xml2rst/tests/options/input/adornmentReverse.xsltproc1
-rw-r--r--sandbox/xml2rst/tests/options/input/fold20.opt1
-rw-r--r--sandbox/xml2rst/tests/options/input/fold20.xml6
-rw-r--r--sandbox/xml2rst/tests/options/input/fold20.xsltproc1
-rw-r--r--sandbox/xml2rst/tests/options/input/fold70.opt1
-rw-r--r--sandbox/xml2rst/tests/options/input/fold70.xml6
-rw-r--r--sandbox/xml2rst/tests/options/input/fold70.xsltproc1
-rw-r--r--sandbox/xml2rst/tests/options/original/adornmentX.rst46
-rw-r--r--sandbox/xml2rst/tests/options/original/foldX.rst4
-rw-r--r--sandbox/xml2rst/tests/options/readable/adornmentX.xml71
-rw-r--r--sandbox/xml2rst/tests/options/readable/foldX.xml10
-rw-r--r--sandbox/xml2rst/tests/real/expected/Machinery.rst484
-rw-r--r--sandbox/xml2rst/tests/real/expected/MediaWikiFAQ.rst222
-rw-r--r--sandbox/xml2rst/tests/real/expected/Technik.rst543
-rw-r--r--sandbox/xml2rst/tests/real/expected/WikiRequirements.rst324
-rw-r--r--sandbox/xml2rst/tests/real/filterunit.cfg5
-rw-r--r--sandbox/xml2rst/tests/real/input/Machinery.xml95
-rw-r--r--sandbox/xml2rst/tests/real/input/MediaWikiFAQ.xml74
-rw-r--r--sandbox/xml2rst/tests/real/input/Technik.xml133
-rw-r--r--sandbox/xml2rst/tests/real/input/WikiRequirements.xml67
-rw-r--r--sandbox/xml2rst/tests/real/original/Machinery.rst476
-rw-r--r--sandbox/xml2rst/tests/real/original/MediaWikiFAQ.rst211
-rw-r--r--sandbox/xml2rst/tests/real/original/Technik.rst539
-rw-r--r--sandbox/xml2rst/tests/real/original/WikiRequirements.rst314
-rw-r--r--sandbox/xml2rst/tests/real/readable/Machinery.xml1410
-rw-r--r--sandbox/xml2rst/tests/real/readable/MediaWikiFAQ.xml834
-rw-r--r--sandbox/xml2rst/tests/real/readable/Technik.xml1214
-rw-r--r--sandbox/xml2rst/tests/real/readable/WikiRequirements.xml1170
-rw-r--r--sandbox/xml2rst/tests/simple/expected/header.rst6
-rw-r--r--sandbox/xml2rst/tests/simple/expected/manyLines.rst4
-rw-r--r--sandbox/xml2rst/tests/simple/expected/oneLine.rst1
-rw-r--r--sandbox/xml2rst/tests/simple/expected/targets.rst23
-rw-r--r--sandbox/xml2rst/tests/simple/expected/titles.rst17
-rw-r--r--sandbox/xml2rst/tests/simple/filterunit.cfg5
-rw-r--r--sandbox/xml2rst/tests/simple/input/header.xml3
-rw-r--r--sandbox/xml2rst/tests/simple/input/manyLines.xml6
-rw-r--r--sandbox/xml2rst/tests/simple/input/oneLine.xml3
-rw-r--r--sandbox/xml2rst/tests/simple/input/targets.xml4
-rw-r--r--sandbox/xml2rst/tests/simple/input/titles.xml3
-rw-r--r--sandbox/xml2rst/tests/simple/original/header.rst6
-rw-r--r--sandbox/xml2rst/tests/simple/original/manyLines.rst4
-rw-r--r--sandbox/xml2rst/tests/simple/original/oneLine.rst1
-rw-r--r--sandbox/xml2rst/tests/simple/original/targets.rst20
-rw-r--r--sandbox/xml2rst/tests/simple/original/titles.rst17
-rw-r--r--sandbox/xml2rst/tests/simple/readable/header.xml15
-rw-r--r--sandbox/xml2rst/tests/simple/readable/manyLines.xml10
-rw-r--r--sandbox/xml2rst/tests/simple/readable/oneLine.xml7
-rw-r--r--sandbox/xml2rst/tests/simple/readable/targets.xml49
-rw-r--r--sandbox/xml2rst/tests/simple/readable/titles.xml26
-rw-r--r--sandbox/xml2rst/tests/synthetic/expected/class.rst399
-rw-r--r--sandbox/xml2rst/tests/synthetic/expected/standard_0_3_7.rst659
-rw-r--r--sandbox/xml2rst/tests/synthetic/expected/standard_r6008.rst807
-rw-r--r--sandbox/xml2rst/tests/synthetic/filterunit.cfg5
-rw-r--r--sandbox/xml2rst/tests/synthetic/input/class.xml33
-rw-r--r--sandbox/xml2rst/tests/synthetic/input/standard_0_3_7.xml100
-rw-r--r--sandbox/xml2rst/tests/synthetic/input/standard_r6008.xml115
-rw-r--r--sandbox/xml2rst/tests/synthetic/original/class.rst407
-rw-r--r--sandbox/xml2rst/tests/synthetic/original/standard_0_3_7.rst636
-rw-r--r--sandbox/xml2rst/tests/synthetic/original/standard_r6008.rst774
-rw-r--r--sandbox/xml2rst/tests/synthetic/readable/class.xml1000
-rw-r--r--sandbox/xml2rst/tests/synthetic/readable/standard_0_3_7.xml2165
-rw-r--r--sandbox/xml2rst/tests/synthetic/readable/standard_r6008.xml2403
85 files changed, 18205 insertions, 0 deletions
diff --git a/sandbox/xml2rst/tests.xalan/common.cfg b/sandbox/xml2rst/tests.xalan/common.cfg
new file mode 100644
index 000000000..69273e62d
--- /dev/null
+++ b/sandbox/xml2rst/tests.xalan/common.cfg
@@ -0,0 +1,5 @@
+inputExtension = .xml
+expectedExtension = .rst
+
+command = xalan
+options = -qc -xsl ../../rst/xml2rst-noexslt.xsl
diff --git a/sandbox/xml2rst/tests.xalan/real/filterunit.cfg b/sandbox/xml2rst/tests.xalan/real/filterunit.cfg
new file mode 100644
index 000000000..473233209
--- /dev/null
+++ b/sandbox/xml2rst/tests.xalan/real/filterunit.cfg
@@ -0,0 +1,3 @@
+include ../common.cfg
+
+suiteDirectory = ../../tests/real
diff --git a/sandbox/xml2rst/tests.xalan/simple/filterunit.cfg b/sandbox/xml2rst/tests.xalan/simple/filterunit.cfg
new file mode 100644
index 000000000..96a9c42ee
--- /dev/null
+++ b/sandbox/xml2rst/tests.xalan/simple/filterunit.cfg
@@ -0,0 +1,3 @@
+include ../common.cfg
+
+suiteDirectory = ../../tests/simple
diff --git a/sandbox/xml2rst/tests.xalan/synthetic/filterunit.cfg b/sandbox/xml2rst/tests.xalan/synthetic/filterunit.cfg
new file mode 100644
index 000000000..93b49a55f
--- /dev/null
+++ b/sandbox/xml2rst/tests.xalan/synthetic/filterunit.cfg
@@ -0,0 +1,3 @@
+include ../common.cfg
+
+suiteDirectory = ../../tests/synthetic
diff --git a/sandbox/xml2rst/tests.xsltproc/common.cfg b/sandbox/xml2rst/tests.xsltproc/common.cfg
new file mode 100644
index 000000000..ea64f21ab
--- /dev/null
+++ b/sandbox/xml2rst/tests.xsltproc/common.cfg
@@ -0,0 +1,5 @@
+inputExtension = .xml
+expectedExtension = .rst
+
+command = xsltproc
+options = ../../rst/xml2rst.xsl -
diff --git a/sandbox/xml2rst/tests.xsltproc/options/filterunit.cfg b/sandbox/xml2rst/tests.xsltproc/options/filterunit.cfg
new file mode 100644
index 000000000..f5d3f0f3c
--- /dev/null
+++ b/sandbox/xml2rst/tests.xsltproc/options/filterunit.cfg
@@ -0,0 +1,7 @@
+suiteDirectory = ../../tests/options
+
+inputExtension = .xml
+optionExtension = .xsltproc
+expectedExtension = .rst
+
+command = xsltproc
diff --git a/sandbox/xml2rst/tests.xsltproc/real/filterunit.cfg b/sandbox/xml2rst/tests.xsltproc/real/filterunit.cfg
new file mode 100644
index 000000000..473233209
--- /dev/null
+++ b/sandbox/xml2rst/tests.xsltproc/real/filterunit.cfg
@@ -0,0 +1,3 @@
+include ../common.cfg
+
+suiteDirectory = ../../tests/real
diff --git a/sandbox/xml2rst/tests.xsltproc/simple/filterunit.cfg b/sandbox/xml2rst/tests.xsltproc/simple/filterunit.cfg
new file mode 100644
index 000000000..96a9c42ee
--- /dev/null
+++ b/sandbox/xml2rst/tests.xsltproc/simple/filterunit.cfg
@@ -0,0 +1,3 @@
+include ../common.cfg
+
+suiteDirectory = ../../tests/simple
diff --git a/sandbox/xml2rst/tests.xsltproc/synthetic/filterunit.cfg b/sandbox/xml2rst/tests.xsltproc/synthetic/filterunit.cfg
new file mode 100644
index 000000000..93b49a55f
--- /dev/null
+++ b/sandbox/xml2rst/tests.xsltproc/synthetic/filterunit.cfg
@@ -0,0 +1,3 @@
+include ../common.cfg
+
+suiteDirectory = ../../tests/synthetic
diff --git a/sandbox/xml2rst/tests/options/expected/adornmentDefault.rst b/sandbox/xml2rst/tests/options/expected/adornmentDefault.rst
new file mode 100644
index 000000000..d6510c913
--- /dev/null
+++ b/sandbox/xml2rst/tests/options/expected/adornmentDefault.rst
@@ -0,0 +1,46 @@
+=====
+Title
+=====
+
+--------
+Subtitle
+--------
+
+Section 1
+=========
+
+First text.
+
+Second section
+==============
+
+Subsection
+----------
+
+Before a transition.
+
+-----
+
+After a transition.
+
+Another subsection
+------------------
+
+SubSub
+~~~~~~
+
+Level 4
+```````
+
+Level 5
+,,,,,,,
+
+Level 6
+.......
+
+Text on deepest level.
+
+Top section
+===========
+
+Final words.
diff --git a/sandbox/xml2rst/tests/options/expected/adornmentEmacs.rst b/sandbox/xml2rst/tests/options/expected/adornmentEmacs.rst
new file mode 100644
index 000000000..f90de2dcb
--- /dev/null
+++ b/sandbox/xml2rst/tests/options/expected/adornmentEmacs.rst
@@ -0,0 +1,46 @@
+=====
+Title
+=====
+
+--------
+Subtitle
+--------
+
+Section 1
+=========
+
+First text.
+
+Second section
+==============
+
+Subsection
+----------
+
+Before a transition.
+
+-----
+
+After a transition.
+
+Another subsection
+------------------
+
+SubSub
+~~~~~~
+
+Level 4
+.......
+
+Level 5
+,,,,,,,
+
+Level 6
+```````
+
+Text on deepest level.
+
+Top section
+===========
+
+Final words.
diff --git a/sandbox/xml2rst/tests/options/expected/adornmentReverse.rst b/sandbox/xml2rst/tests/options/expected/adornmentReverse.rst
new file mode 100644
index 000000000..893df0478
--- /dev/null
+++ b/sandbox/xml2rst/tests/options/expected/adornmentReverse.rst
@@ -0,0 +1,46 @@
+Title
+`````
+
+Subtitle
+,,,,,,,,
+
+Section 1
+.........
+
+First text.
+
+Second section
+..............
+
+Subsection
+~~~~~~~~~~
+
+Before a transition.
+
+-----
+
+After a transition.
+
+Another subsection
+~~~~~~~~~~~~~~~~~~
+
+SubSub
+------
+
+Level 4
+=======
+
+-------
+Level 5
+-------
+
+=======
+Level 6
+=======
+
+Text on deepest level.
+
+Top section
+...........
+
+Final words.
diff --git a/sandbox/xml2rst/tests/options/expected/fold20.rst b/sandbox/xml2rst/tests/options/expected/fold20.rst
new file mode 100644
index 000000000..e034b8768
--- /dev/null
+++ b/sandbox/xml2rst/tests/options/expected/fold20.rst
@@ -0,0 +1,13 @@
+This is a text
+consisting of many
+lines. The lines are
+broken according to
+the "natural"
+folding of Emacs.
+This folding sets in
+at the fill-column
+which happens to be
+[^HV fill-column] 70
+in this case. Could
+be any other value
+though.
diff --git a/sandbox/xml2rst/tests/options/expected/fold70.rst b/sandbox/xml2rst/tests/options/expected/fold70.rst
new file mode 100644
index 000000000..9e21cb0ed
--- /dev/null
+++ b/sandbox/xml2rst/tests/options/expected/fold70.rst
@@ -0,0 +1,4 @@
+This is a text consisting of many lines. The lines are broken
+according to the "natural" folding of Emacs. This folding sets in at
+the fill-column which happens to be [^HV fill-column] 70 in this case.
+Could be any other value though.
diff --git a/sandbox/xml2rst/tests/options/filterunit.cfg b/sandbox/xml2rst/tests/options/filterunit.cfg
new file mode 100644
index 000000000..8983786e3
--- /dev/null
+++ b/sandbox/xml2rst/tests/options/filterunit.cfg
@@ -0,0 +1,5 @@
+inputExtension = .xml
+optionExtension = .opt
+expectedExtension = .rst
+
+command = ../../xml2rst.py
diff --git a/sandbox/xml2rst/tests/options/input/adornmentDefault.opt b/sandbox/xml2rst/tests/options/input/adornmentDefault.opt
new file mode 100644
index 000000000..2337820a9
--- /dev/null
+++ b/sandbox/xml2rst/tests/options/input/adornmentDefault.opt
@@ -0,0 +1 @@
+$<
diff --git a/sandbox/xml2rst/tests/options/input/adornmentDefault.xml b/sandbox/xml2rst/tests/options/input/adornmentDefault.xml
new file mode 100644
index 000000000..07ff518ed
--- /dev/null
+++ b/sandbox/xml2rst/tests/options/input/adornmentDefault.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by Docutils 0.6 -->
+<document ids="title" names="title" source="original/adornmentX.rst" title="Title"><title>Title</title><subtitle ids="subtitle" names="subtitle">Subtitle</subtitle><section ids="section-1" names="section\ 1"><title>Section 1</title><paragraph>First text.</paragraph></section><section ids="second-section" names="second\ section"><title>Second section</title><section ids="subsection" names="subsection"><title>Subsection</title><paragraph>Before a transition.</paragraph><transition/><paragraph>After a transition.</paragraph></section><section ids="another-subsection" names="another\ subsection"><title>Another subsection</title><section ids="subsub" names="subsub"><title>SubSub</title><section ids="level-4" names="level\ 4"><title>Level 4</title><section ids="level-5" names="level\ 5"><title>Level 5</title><section ids="level-6" names="level\ 6"><title>Level 6</title><paragraph>Text on deepest level.</paragraph></section></section></section></section></section></section><section ids="top-section" names="top\ section"><title>Top section</title><paragraph>Final words.</paragraph></section></document> \ No newline at end of file
diff --git a/sandbox/xml2rst/tests/options/input/adornmentDefault.xsltproc b/sandbox/xml2rst/tests/options/input/adornmentDefault.xsltproc
new file mode 100644
index 000000000..ee94a3d55
--- /dev/null
+++ b/sandbox/xml2rst/tests/options/input/adornmentDefault.xsltproc
@@ -0,0 +1 @@
+../../rst/xml2rst.xsl -
diff --git a/sandbox/xml2rst/tests/options/input/adornmentEmacs.opt b/sandbox/xml2rst/tests/options/input/adornmentEmacs.opt
new file mode 100644
index 000000000..3e079459b
--- /dev/null
+++ b/sandbox/xml2rst/tests/options/input/adornmentEmacs.opt
@@ -0,0 +1 @@
+'--adornment=o=o-u=u-u~u.u,u`' $<
diff --git a/sandbox/xml2rst/tests/options/input/adornmentEmacs.xml b/sandbox/xml2rst/tests/options/input/adornmentEmacs.xml
new file mode 100644
index 000000000..07ff518ed
--- /dev/null
+++ b/sandbox/xml2rst/tests/options/input/adornmentEmacs.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by Docutils 0.6 -->
+<document ids="title" names="title" source="original/adornmentX.rst" title="Title"><title>Title</title><subtitle ids="subtitle" names="subtitle">Subtitle</subtitle><section ids="section-1" names="section\ 1"><title>Section 1</title><paragraph>First text.</paragraph></section><section ids="second-section" names="second\ section"><title>Second section</title><section ids="subsection" names="subsection"><title>Subsection</title><paragraph>Before a transition.</paragraph><transition/><paragraph>After a transition.</paragraph></section><section ids="another-subsection" names="another\ subsection"><title>Another subsection</title><section ids="subsub" names="subsub"><title>SubSub</title><section ids="level-4" names="level\ 4"><title>Level 4</title><section ids="level-5" names="level\ 5"><title>Level 5</title><section ids="level-6" names="level\ 6"><title>Level 6</title><paragraph>Text on deepest level.</paragraph></section></section></section></section></section></section><section ids="top-section" names="top\ section"><title>Top section</title><paragraph>Final words.</paragraph></section></document> \ No newline at end of file
diff --git a/sandbox/xml2rst/tests/options/input/adornmentEmacs.xsltproc b/sandbox/xml2rst/tests/options/input/adornmentEmacs.xsltproc
new file mode 100644
index 000000000..ae9419fc0
--- /dev/null
+++ b/sandbox/xml2rst/tests/options/input/adornmentEmacs.xsltproc
@@ -0,0 +1 @@
+--stringparam adornment 'o=o-u=u-u~u.u,u`' ../../rst/xml2rst.xsl -
diff --git a/sandbox/xml2rst/tests/options/input/adornmentReverse.opt b/sandbox/xml2rst/tests/options/input/adornmentReverse.opt
new file mode 100644
index 000000000..f226af9c2
--- /dev/null
+++ b/sandbox/xml2rst/tests/options/input/adornmentReverse.opt
@@ -0,0 +1 @@
+'--adornment=u`u,u.u~u-u=o-o=' $<
diff --git a/sandbox/xml2rst/tests/options/input/adornmentReverse.xml b/sandbox/xml2rst/tests/options/input/adornmentReverse.xml
new file mode 100644
index 000000000..07ff518ed
--- /dev/null
+++ b/sandbox/xml2rst/tests/options/input/adornmentReverse.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by Docutils 0.6 -->
+<document ids="title" names="title" source="original/adornmentX.rst" title="Title"><title>Title</title><subtitle ids="subtitle" names="subtitle">Subtitle</subtitle><section ids="section-1" names="section\ 1"><title>Section 1</title><paragraph>First text.</paragraph></section><section ids="second-section" names="second\ section"><title>Second section</title><section ids="subsection" names="subsection"><title>Subsection</title><paragraph>Before a transition.</paragraph><transition/><paragraph>After a transition.</paragraph></section><section ids="another-subsection" names="another\ subsection"><title>Another subsection</title><section ids="subsub" names="subsub"><title>SubSub</title><section ids="level-4" names="level\ 4"><title>Level 4</title><section ids="level-5" names="level\ 5"><title>Level 5</title><section ids="level-6" names="level\ 6"><title>Level 6</title><paragraph>Text on deepest level.</paragraph></section></section></section></section></section></section><section ids="top-section" names="top\ section"><title>Top section</title><paragraph>Final words.</paragraph></section></document> \ No newline at end of file
diff --git a/sandbox/xml2rst/tests/options/input/adornmentReverse.xsltproc b/sandbox/xml2rst/tests/options/input/adornmentReverse.xsltproc
new file mode 100644
index 000000000..6b0115fc3
--- /dev/null
+++ b/sandbox/xml2rst/tests/options/input/adornmentReverse.xsltproc
@@ -0,0 +1 @@
+--stringparam adornment 'u`u,u.u~u-u=o-o=' ../../rst/xml2rst.xsl -
diff --git a/sandbox/xml2rst/tests/options/input/fold20.opt b/sandbox/xml2rst/tests/options/input/fold20.opt
new file mode 100644
index 000000000..5dce727d2
--- /dev/null
+++ b/sandbox/xml2rst/tests/options/input/fold20.opt
@@ -0,0 +1 @@
+--fold 20 $<
diff --git a/sandbox/xml2rst/tests/options/input/fold20.xml b/sandbox/xml2rst/tests/options/input/fold20.xml
new file mode 100644
index 000000000..ac003b6b9
--- /dev/null
+++ b/sandbox/xml2rst/tests/options/input/fold20.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by Docutils 0.6 -->
+<document source="original/manyLines.rst"><paragraph>This is a text consisting of many lines. The lines are broken
+according to the &quot;natural&quot; folding of Emacs. This folding sets in at
+the fill-column which happens to be [^HV fill-column] 70 in this case.
+Could be any other value though.</paragraph></document> \ No newline at end of file
diff --git a/sandbox/xml2rst/tests/options/input/fold20.xsltproc b/sandbox/xml2rst/tests/options/input/fold20.xsltproc
new file mode 100644
index 000000000..af66193df
--- /dev/null
+++ b/sandbox/xml2rst/tests/options/input/fold20.xsltproc
@@ -0,0 +1 @@
+--param fold 20 ../../rst/xml2rst.xsl -
diff --git a/sandbox/xml2rst/tests/options/input/fold70.opt b/sandbox/xml2rst/tests/options/input/fold70.opt
new file mode 100644
index 000000000..ba3fa2152
--- /dev/null
+++ b/sandbox/xml2rst/tests/options/input/fold70.opt
@@ -0,0 +1 @@
+--fold 70 $<
diff --git a/sandbox/xml2rst/tests/options/input/fold70.xml b/sandbox/xml2rst/tests/options/input/fold70.xml
new file mode 100644
index 000000000..ac003b6b9
--- /dev/null
+++ b/sandbox/xml2rst/tests/options/input/fold70.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by Docutils 0.6 -->
+<document source="original/manyLines.rst"><paragraph>This is a text consisting of many lines. The lines are broken
+according to the &quot;natural&quot; folding of Emacs. This folding sets in at
+the fill-column which happens to be [^HV fill-column] 70 in this case.
+Could be any other value though.</paragraph></document> \ No newline at end of file
diff --git a/sandbox/xml2rst/tests/options/input/fold70.xsltproc b/sandbox/xml2rst/tests/options/input/fold70.xsltproc
new file mode 100644
index 000000000..947576d32
--- /dev/null
+++ b/sandbox/xml2rst/tests/options/input/fold70.xsltproc
@@ -0,0 +1 @@
+--param fold 70 ../../rst/xml2rst.xsl -
diff --git a/sandbox/xml2rst/tests/options/original/adornmentX.rst b/sandbox/xml2rst/tests/options/original/adornmentX.rst
new file mode 100644
index 000000000..f65bd463d
--- /dev/null
+++ b/sandbox/xml2rst/tests/options/original/adornmentX.rst
@@ -0,0 +1,46 @@
+=====
+Title
+=====
+
+--------
+Subtitle
+--------
+
+Section 1
+=========
+
+First text.
+
+Second section
+==============
+
+Subsection
+----------
+
+Before a transition.
+
+============================
+
+After a transition.
+
+Another subsection
+------------------
+
+SubSub
+~~~~~~
+
+Level 4
+.......
+
+Level 5
+,,,,,,,
+
+Level 6
+```````
+
+Text on deepest level.
+
+Top section
+===========
+
+Final words.
diff --git a/sandbox/xml2rst/tests/options/original/foldX.rst b/sandbox/xml2rst/tests/options/original/foldX.rst
new file mode 100644
index 000000000..9e21cb0ed
--- /dev/null
+++ b/sandbox/xml2rst/tests/options/original/foldX.rst
@@ -0,0 +1,4 @@
+This is a text consisting of many lines. The lines are broken
+according to the "natural" folding of Emacs. This folding sets in at
+the fill-column which happens to be [^HV fill-column] 70 in this case.
+Could be any other value though.
diff --git a/sandbox/xml2rst/tests/options/readable/adornmentX.xml b/sandbox/xml2rst/tests/options/readable/adornmentX.xml
new file mode 100644
index 000000000..58a745ef9
--- /dev/null
+++ b/sandbox/xml2rst/tests/options/readable/adornmentX.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by Docutils 0.8 -->
+<document ids="title" names="title" source="original/adornmentX.rst" title="Title">
+ <title>
+ Title
+ </title>
+ <subtitle ids="subtitle" names="subtitle">
+ Subtitle
+ </subtitle>
+ <section ids="section-1" names="section\ 1">
+ <title>
+ Section 1
+ </title>
+ <paragraph>
+ First text.
+ </paragraph>
+ </section>
+ <section ids="second-section" names="second\ section">
+ <title>
+ Second section
+ </title>
+ <section ids="subsection" names="subsection">
+ <title>
+ Subsection
+ </title>
+ <paragraph>
+ Before a transition.
+ </paragraph>
+ <transition/>
+ <paragraph>
+ After a transition.
+ </paragraph>
+ </section>
+ <section ids="another-subsection" names="another\ subsection">
+ <title>
+ Another subsection
+ </title>
+ <section ids="subsub" names="subsub">
+ <title>
+ SubSub
+ </title>
+ <section ids="level-4" names="level\ 4">
+ <title>
+ Level 4
+ </title>
+ <section ids="level-5" names="level\ 5">
+ <title>
+ Level 5
+ </title>
+ <section ids="level-6" names="level\ 6">
+ <title>
+ Level 6
+ </title>
+ <paragraph>
+ Text on deepest level.
+ </paragraph>
+ </section>
+ </section>
+ </section>
+ </section>
+ </section>
+ </section>
+ <section ids="top-section" names="top\ section">
+ <title>
+ Top section
+ </title>
+ <paragraph>
+ Final words.
+ </paragraph>
+ </section>
+</document>
diff --git a/sandbox/xml2rst/tests/options/readable/foldX.xml b/sandbox/xml2rst/tests/options/readable/foldX.xml
new file mode 100644
index 000000000..238ef014e
--- /dev/null
+++ b/sandbox/xml2rst/tests/options/readable/foldX.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by Docutils 0.8 -->
+<document source="original/foldX.rst">
+ <paragraph>
+ This is a text consisting of many lines. The lines are broken
+according to the &quot;natural&quot; folding of Emacs. This folding sets in at
+the fill-column which happens to be [^HV fill-column] 70 in this case.
+Could be any other value though.
+ </paragraph>
+</document>
diff --git a/sandbox/xml2rst/tests/real/expected/Machinery.rst b/sandbox/xml2rst/tests/real/expected/Machinery.rst
new file mode 100644
index 000000000..d9067db5d
--- /dev/null
+++ b/sandbox/xml2rst/tests/real/expected/Machinery.rst
@@ -0,0 +1,484 @@
+#format rst
+#language en
+
+Discussion__
+
+__ /Talk
+
+.. contents:: Contents
+
+This page describes the machinery used by the `Oekonux community`_.
+This page is motivated by a `thread about this topic <http://www.oekonux.de/projekt/liste/archive/msg03333.html>`_ on the
+`project list`_, which cares about the organization of the project.
+
+The intention of this page is to reflect the current state of the
+machinery. It is originally written in German which is available as
+the first version of this page.
+
+Overview
+========
+
+The `Oekonux community`_ currently uses the following technical
+facilities:
+
+* `mailing lists`_
+
+* `web sites`_
+
+* OpenTheory_
+
+* `news groups`_
+
+* Wiki_
+
+As far as I know other facilities such as IRC are currently not used.
+
+.. _oekonux server:
+
+Dedicated Oekonux server
+========================
+
+There is a dedicated server for the Oekonux project. Currently this is
+a virtual server based on Debian and hosted by `VD server`_. This
+dedicated server is paid by the `Projekt Oekonux e.V.`_, a registered
+association in Germany.
+
+Today the server runs most of the technical infrastructure of the
+project. It has a fixed IP address and the DNS entries for the domains
+point to this server. The generic address of the server is
+``server.oekonux.de``.
+
+The general maintainer of this server is HolgerWeiss_, certain
+facilities are maintained mainly by StefanMerten_.
+
+In case it is necessary because the project needs more computing
+resources a real server could be hosted by `Individual Network
+Berlin`_.
+
+Mailing lists
+=============
+
+Existing lists
+--------------
+
+The following lists exist:
+
+* ``liste AT oekonux DOT de``
+
+* ``list-en AT oekonux DOT org``
+
+* ``projekt AT oekonux DOT de``
+
+* ``chat AT oekonux DOT de``
+
+* ``mitglieder AT oekonux DOT de``
+
+* ``helfer AT oekonux-konferenz DOT de``
+
+* ``referenten AT oekonux-konferenz DOT de``
+
+For all mailing lists there are archives_, which are on the web sites
+of the domain they belong to.
+
+Hosting
+-------
+
+All mailing lists are hosted on the `Oekonux server`_. The mailing
+lists are all served by a Majordomo_.
+
+Features
+--------
+
+Spam protection
+~~~~~~~~~~~~~~~
+
+Mail to all mailing lists is routed over a SpamAssassin_. This is
+indispensable because the addresses of the mailing lists have a wide
+distribution.
+
+The SpamAssassin installation needs some maintenance once in a while
+to be ready for the latest ideas of spammers. This maintenance is done
+by StefanMerten_.
+
+Unfortunately the spam filtering does not catch all spam :-( .
+Therefore the mailing lists have been closed so only subscribers can
+post to the list unmoderated. The bounces of spam and legitimate mail
+from non-subscribers are handled by StefanMerten_. All other tasks
+necessary for keeping the mailing lists running are also handled by
+StefanMerten_.
+
+Web sites
+=========
+
+Hosting
+-------
+
+Provider
+~~~~~~~~
+
+There is no special provider for the web sites. All web sites are
+hosted on the `Oekonux server`_.
+
+Because of their size the audio files which mainly have been recorded
+during the conferences are kept on web space donated by various
+people.
+
+Before conferences resources of the `OpenTheory project`_ are used
+for online creation and presentation of the program of the conference.
+
+Domains
+~~~~~~~
+
+There are four domains for which the `e.V.`_ is the owner:
+
+* ``oekonux.de``
+
+ Under ``www`` the German main page of the project can be found.
+
+* ``oekonux.org``
+
+ Under ``www`` the international main page of the project can be
+ found.
+
+ Also the Wikis are all hosted here:
+
+ * ``en.wiki``
+
+ The English language Wiki.
+
+ * ``de.wiki``
+
+ The German language Wiki.
+
+* ``oekonux-konferenz.de``
+
+ The German domain for everything around the Oekonux conferences.
+
+ - ``www``
+
+ Entry point for the most recent conference.
+
+ - ``erste``, ``zweite``, ``dritte``
+
+ Entry points for the respective conference.
+
+* ``oekonux-conference.org``
+
+ The international domains for everything around the Oekonux
+ conferences.
+
+ - ``www``
+
+ Entry point for the most recent conference.
+
+ - ``second``, ``third``
+
+ Entry points for the respective conference.
+
+More domains were present before the `e.V.`_ took them over but they
+have been abandoned.
+
+Features
+--------
+
+Web space
+~~~~~~~~~
+
+The audio files hosted externally sum up to about 4GB.
+
+Traffic
+~~~~~~~
+
+
+.. $$$
+
+There are statistics about the `network traffic <http://traffic.oekonux.de/>`_ and the `page hits
+http://www.oekonux.de/projekt/statistik/website/`_.
+
+Mail addresses
+~~~~~~~~~~~~~~
+
+All domains support a couple of mail addresses. They are mainly used
+for the `mailing lists`_.
+
+Besides the functional mail addresses there is only one private mail
+address. Generally it is possible to create more private mail
+addresses. Such private mail address must contain the family name of
+the person.
+
+Generation and Upload
+~~~~~~~~~~~~~~~~~~~~~
+
+At the moment all content of the web sites is generated by
+StefanMerten_ on his private computer and uploaded onto the server.
+Among other facilities the SDF format is used and the whole thing is
+embedded in a ``make`` based automation.
+
+.. important:: The sources for the static pages have been brought to a
+ CVS repository eons ago. However, this has not been used.
+
+ In general it would be good if a new solution for the web sites
+ would be available by CVS. With this many people could work on the
+ site.
+
+ StefanMerten_ would appreciate that the sources of the web pages
+ are created in a format close to ASCII - at best reStructuredText_.
+ He is ready to provide a converter from the current format.
+
+Static pages
+~~~~~~~~~~~~
+
+Apart from the Wiki pages nearly all pages in the Oekonux domains are
+static HTML pages without any JavaScript or other active elements. By
+this they are
+
+* usable by *all* browsers
+
+* readable for all times
+
+* no security risk for the server
+
+* stable URLs without variable parts
+
+ Many search engines ignore links containing a ``?``.
+
+* need no maintenance
+
+* friendly to external search engines
+
+ Though navigation is done by frames there is always a ``<noframes>``
+ section which contains the links.
+
+* can be downloaded with tools like ``wget`` completely and without
+ problems
+
+* works with every web hosting offer
+
+Navigation
+~~~~~~~~~~
+
+Navigation is realized with frames. A narrow frame on the left is
+modeled after a file browser. It permanently presents the current
+position in the site. The right frame contains the selected content.
+If a directory is selected in the navigation the content frame
+``default.html`` always appears.
+
+Apart from this each third level domain has a separate site map.
+
+Links in all pages are followed by QBullets_ which roughly give the
+type of the link.
+
+Locale search engine
+~~~~~~~~~~~~~~~~~~~~
+
+
+.. $$$ Link ht://dig
+
+Currently the local search engine is replaced by a ht://dig based
+solution.
+
+RSS-Feed
+~~~~~~~~
+
+.. important:: There is no RSS feed yet but it would be nice to have
+ one.
+
+Content
+-------
+
+General
+~~~~~~~
+
+.. important:: In general the sites are not maintained really. This is
+ bad.
+
+.. important:: In particular it would be good if the international
+ site would have more of the content of the German site.
+ Particularly it would be good to have the `Oekonux links`_ in
+ English. Also the structure of the project should be presented on
+ the international site.
+
+Archives
+~~~~~~~~
+
+All `mailing lists`_ of the project are archived on the web sites.
+StefanMerten_ converts the incoming mails to HTML by MHonArc_ and
+uploaded automatically.
+
+HTML pages for the archives are filtered. At the moment
+
+* comments of MHonArc_ are removed
+
+* phone numbers are replaced by a fixed text
+
+* names of certain people who decided to late that they not want to be
+ found in Oekonux by Google are shortened
+
+* all URLs pointing to mail addresses are obfuscated a bit
+
+* mail addresses are obfuscated
+
+.. important:: There is a request to have the archives on the `web
+ sites`_ in mbox format. For this it must be clarified what can be
+ done against mail address harvesting.
+
+Removal of archived pages is also widely automated. However, it needs
+an explicit call with the number of the mail to remove.
+
+.. important:: Right now the removed mail is removed only from the
+ indexes but *not* from the server. By this it is no longer
+ reachable by neighboring mails or an index but the are generally
+ accessible. This must be changed.
+
+Texts
+~~~~~
+
+Several texts of the project are available on the `web sites`_.
+
+Among them is an introduction for which MagicPoint sources are
+available.
+
+Link page
+~~~~~~~~~
+
+One of the most important content resources of the `Oekonux
+community`_ are the `Oekonux links`_, where interesting links are
+entered with a short comment. The page is structured.
+
+.. important:: It would be good if each of the `Oekonux links`_ would
+ get a creation date. Meanwhile this would have some historical
+ value.
+
+ In general for existing links this would be possible by ``cvs
+ annotate``.
+
+.. important:: It would be useful if the language of the page behind
+ the link would be given. This can be done by the HTML attribute
+ ``hreflang``.
+
+Statistics
+~~~~~~~~~~
+
+Statistics are available about the usage of the `mailing lists`_ as
+well as about the `web sites`_ usage on the `web sites`_. All
+statistics are created weekly by some Free Software (webalizer_,
+mail2clf_, mail2chart_) automatically by StefanMerten_ and uploaded.
+
+OpenTheory
+==========
+
+Many texts from the project and from its environment are available in
+the `OpenTheory project`_. Some of them are gathered in the `Oekonux
+OpenTheory project`_.
+
+The texts are about Oekonux content as well as for organizational
+purposes. In particular the conference preparation has been done
+there.
+
+Wiki
+====
+
+Currently there are two Oekonux Wikis at
+
+* http://en.wiki.oekonux.org/
+
+* http://de.wiki.oekonux.org/
+
+They are based on the MoinMoin_ Wiki engine.
+
+The content is maintained by a group of maintainers (`English <http://en.wiki.oekonux.org/MaintainerGroup>`_, `German <http://de.wiki.oekonux.org/MaintainerGruppe>`_ . The technical part
+of the Wikis is maintained by StefanMerten_.
+
+News groups
+===========
+
+Since end of 2003 the main discussion `mailing lists`_ are available
+through Gmane_ as Usenet newsgroups:
+
+* news://news.gmane.org/gmane.politics.oekonux.german
+
+ Mirrors ``liste AT oekonux DOT de``.
+
+* news://news.gmane.org/gmane.politics.oekonux.english
+
+ Mirrors ``list-en AT oekonux DOT org``.
+
+The newsgroups are configured in a way replies by news are not
+possible.
+
+.. important:: For now the newsgroup archives contain only those mails
+ written after the newsgroup feature was in place. After the problem
+ of readable mail addresses has been solved the whole archive shall
+ be `brought <http://gmane.org/import.php>`_ to the newsgroup archive
+
+Features
+--------
+
+Search engine
+~~~~~~~~~~~~~
+
+Gmane_ has a search engine which searches the newsgroups.
+
+.. ############################################################################
+
+.. _restructuredtext: http://docutils.sourceforge.net/rst.html
+
+.. _oekonux community: http://www.oekonux.de/
+
+.. _project list: http://www.oekonux.de/projekt/liste/
+
+.. _majordomo: http://www.greatcircle.com/majordomo/
+
+.. _spamassassin: http://www.spamassassin.org/
+
+.. _projekt oekonux e.v.:
+
+.. _e.v.: http://www.oekonux.de/projekt/verein/
+
+.. _opentheory project: http://www.opentheory.org/
+
+.. _individual network berlin: http://www.in-berlin.de/
+
+.. _qbullets: http://www.matterform.com/qbullets/
+
+.. _mhonarc: http://www.mhonarc.org/
+
+.. _oekonux links: http://www.oekonux.de/projekt/links.html
+
+.. _webalizer: http://www.webalizer.org/
+
+.. _mail2clf: http://www.merten-home.de/FreeSoftware/mail2clf/
+
+.. _mail2chart: http://www.merten-home.de/FreeSoftware/mail2chart/
+
+.. _oekonux opentheory project: http://www.opentheory.org/oekonux/
+
+.. _gmane: http://gmane.org/
+
+.. _vd server: http://www.vd-server.de/
+
+.. _moinmoin: http://moinmoin.wikiwikiweb.de/
+
+.. ############################################################################
+
+.. LocalWords: reStructuredText Premium page premium oekonux www org Hoster
+
+.. LocalWords: konferenz conference second third gehosteten MagicPoint Upload
+
+.. LocalWords: SDF make MHonArc Harvesting ToDo important JavaScript noframes
+
+.. LocalWords: wget pox Privacy Policy site default html Sitemap FreeFind you
+
+.. LocalWords: Perlfect clf Search webalizer mail mail chart Referrer co chat
+
+.. LocalWords: forum Kalka Chris Croome Gmane DOT list en mbox Subversion cvs
+
+.. LocalWords: StefanMn projekt helfer referenten gepollt Sympa SmartList rst
+
+.. LocalWords: MailMan buug SpamAssassin Individual Network vLinux server IRC
+
+.. LocalWords: Repository QBullets annotate hreflang OpenTheory Debian VD DNS
+
+.. LocalWords: HolgerWeiss StefanMerten mitglieder erste zweite dritte RSS
+
+.. LocalWords: MoinMoin
diff --git a/sandbox/xml2rst/tests/real/expected/MediaWikiFAQ.rst b/sandbox/xml2rst/tests/real/expected/MediaWikiFAQ.rst
new file mode 100644
index 000000000..b51ceab2a
--- /dev/null
+++ b/sandbox/xml2rst/tests/real/expected/MediaWikiFAQ.rst
@@ -0,0 +1,222 @@
+#format rst
+
+FAQ for people used to Wikipedia and other MediaWiki wikis
+==========================================================
+
+.. contents:: Contents
+
+
+Introduction
+------------
+
+This page is a FAQ page for users used to Wikipedia and other
+MediaWiki_ [#]_ wikis. In Project Oekonux we chose MoinMoin_ because
+at the time of the decision there was a slight technological
+superiority opening more options for its use. If you are interested in
+the reasons you may want to consult the requirements_ which have been
+found then.
+
+.. [#] MediaWiki_ is the name of the software used for Wikipedia and
+ other Wikis. The software running this Wiki is called
+ MoinMoin_.
+
+However, MediaWiki_ and it's use is widely known and thus Project
+Oekonux strives to make the use of this MoinMoin_ wiki as easy to
+MediaWiki_ users as possible. This FAQ is one attempt to do so. If you
+are a MediaWiki_ user and have questions not covered here feel free to
+contact projekt@oekonux.de.
+
+.. ############################################################################
+
+.. ############################################################################
+
+Question and answers
+--------------------
+
+Of all users
+~~~~~~~~~~~~
+
+What about the namespace concept?
+`````````````````````````````````
+
+Most of the namespaces in MediaWiki_ are nothing else than a
+structuring facility establishing structure on a top level.
+
+In MoinMoin_ there is no concept of namespaces in the sense of
+MediaWiki_. However, there is the concept of `sub pages`_ [#]_ which
+have names containing one or more slashes (``/``).
+
+.. [#] There are also sub pages in MediaWiki_ but they are rarely used
+ in any area but the ``Users:`` namespace.
+
+In MoinMoin_ we map the concept of namespaces to the top level `sub
+pages`_ of the wiki. So if you have a page named ``Oekonux:Project``
+in MediaWiki_ it would be named ``Oekonux/Project`` in MoinMoin_.
+
+Please note that `sub pages`_ are more flexible than namespaces
+because they allow for more than one level or semantic hierarchy.
+
+What about the ``Users:`` namespace?
+````````````````````````````````````
+
+Unfortunately the ``Users:`` namespace as such can not be easily
+modeled into MoinMoin_. The homepages of users need to stay on the
+top level so the MediaWiki_ page ``Users:JohnDoe`` is mapped to
+``JohnDoe`` in MoinMoin_.
+
+What about the ``Special:`` namespace?
+``````````````````````````````````````
+
+The ``Special:`` namespace in MediaWiki_ does not lead to normal pages
+but to pages which are generated dynamically by the software.
+
+In MoinMoin_ such pages (and a lot more) are modeled by macros_. So
+what in MediaWiki_ reads ``Special:RecentChanges`` in MoinMoin_ is
+written ``[[RecentChanges]]``.
+
+What about the ``Talk:`` namespace?
+```````````````````````````````````
+
+Actually the ``Talk:`` namespace in MediaWiki_ reachable by the
+``Discussion`` tab is not a namespace in the sense of the other
+namespaces. Instead it is an add-on for pages in all namespaces.
+
+In MoinMoin_ this is modeled by `sub pages`_. However, instead of
+tagging the term ``Talk`` in the very front of the name of a page in
+MoinMoin_ this is added to the end. So for the MediaWiki_ page name
+``Oekonux_Talk:Project`` in MoinMoin_ the name
+``Oekonux/Project/Talk`` is used.
+
+To foster similarity to MediaWiki_ wikis most of the page templates
+for this wiki contain a link to a ``/Talk`` `sub page`_.
+
+.. ############################################################################
+
+Of editors
+~~~~~~~~~~
+
+I'm used to `MediaWiki syntax`_. Can I use it in this Wiki?
+```````````````````````````````````````````````````````````
+
+By default MoinMoin_ has a slightly `different syntax`_ then
+MediaWiki_. However, MoinMoin_ can support many languages if only a
+parser is available for it. There is a parser for MediaWiki_ syntax
+which can be used for this Wiki. All you have to do is to put
+
+::
+
+#format media
+
+in the very first line of your document. From that point on `MediaWiki
+syntax`_ is recognized.
+
+Currently the parser does not support the full `MediaWiki syntax`_ but
+a considerable subset of it. For most pages this subset is completely
+sufficient. For an extensive list of supported and unsupported
+features please check the `documentation of the parser`_.
+
+Though I'm used to `MediaWiki syntax`_ I think it sucks. Any alternatives?
+``````````````````````````````````````````````````````````````````````````
+
+Because in principle MoinMoin_ supports different syntaxes the general
+answer is: Yes, you can use other syntaxes if and when the parser
+plug-in for it exists and is installed. The default parser for
+MoinMoin_ parses the `MoinMoin syntax`_.
+
+In this Wiki by default we use a variant without automatic CamelCase
+links and without InterWiki_ links without special markup. If you want
+CamelCase and InterWiki_ links put
+
+::
+
+#format wiki
+
+in the first line of your page. The MoinMoin wiki markup language has
+more options than the MediaWiki markup language but still is quite
+illogical.
+
+Otherwise a very promising ASCII based markup is reStructuredText_. It
+is far more logical than any wiki markup language and it has a set of
+nice features. If you want to use it put
+
+::
+
+#format rst
+
+in the first line of your page.
+
+I tried to create a new page and ended up on this page offering templates. What's this?
+```````````````````````````````````````````````````````````````````````````````````````
+
+In MoinMoin_ it is possible to have page templates. A page templates
+are an easy way to help people to conform to some style guide lines
+established for the given wiki. They are created by the maintainers of
+the wiki.
+
+The name of a page template is build from the type of page the page
+template is for and the suffix ``Template`` (in English). So for
+instance a page template meant for talk pages is named
+``TalkTemplate``.
+
+In a sense a page template bundles some general knowledge about the
+wiki ready to be used by the users of the wiki. Of course you can
+start a new page from scratch but usually it makes more sense to use
+an existing page template.
+
+Page templates, ok. What about the MediaWiki_ templates?
+````````````````````````````````````````````````````````
+
+In MoinMoin_ the term "template" is used differently than in
+MediaWiki_. In MoinMoin_ a template is a *page* template [#]_ while in
+MediaWiki_ it is more like a function call in a programming language.
+
+.. [#] The concept of page templates is probably not known in
+ MediaWiki_.
+
+In general there are two ways to get the functionality of MediaWiki_
+templates in MoinMoin_. MediaWiki_ templates which are used as
+shortcuts for links are mapped to InterWiki_ links. For instance a
+link to the posting containing the requirements_ for this wiki in the
+archive of the project mailing list ``[pox]`` is named
+``poxArchive:04957`` which expands to the rather long link
+http://www.oekonux.de/projekt/liste/archive/msg04957.html. You
+probably agree that the former is easier to type :-) . Such a link can
+be used as any other link. In particular it can be used together with
+a display text. If your favorite link target is not yet supported by
+this wiki please contact projekt@oekonux.de about it.
+
+MediaWiki_ templates not building shortcuts for links generally can be
+mapped to MoinMoin_ macros_. If the functionality you need is not yet
+supported by this wiki please contact projekt@oekonux.de about it.
+
+.. ############################################################################
+
+.. ############################################################################
+
+.. _mediawiki: http://wikipedia.sourceforge.net/
+
+.. _moinmoin: http://moinmoin.wikiwikiweb.de/
+
+.. _requirements: Oekonux/Project/Wiki/Requirements_
+
+.. _mediawiki syntax: http://meta.wikimedia.org/wiki/Help:Editing#The_wiki_markup
+
+.. _different syntax:
+
+.. _moinmoin syntax:
+
+.. _documentation of the parser: http://www.merten-home.de/FreeSoftware/media4moin/manual.html
+
+.. _sub page:
+
+.. _sub pages: HelpOnEditing/SubPages_
+
+.. _macros:
+
+.. _restructuredtext: http://docutils.sourceforge.net/rst.html
+
+.. LocalWords: rst Wikipedia MediaWiki MoinMoin homepages JohnDoe CamelCase
+
+.. LocalWords: RecentChanges InterWiki reStructuredText TalkTemplate SubPages
+
+.. LocalWords: poxArchive HelpOnEditing HelpOnMacros
diff --git a/sandbox/xml2rst/tests/real/expected/Technik.rst b/sandbox/xml2rst/tests/real/expected/Technik.rst
new file mode 100644
index 000000000..1ddcd54f0
--- /dev/null
+++ b/sandbox/xml2rst/tests/real/expected/Technik.rst
@@ -0,0 +1,543 @@
+.. note:: Sorry, wegen kaputter Formatierung, aber ich habe keine
+ Ahnung, wie das geht und es gibt leider keine Hilfe. Ich verwende
+ einfach mal reStructuredText_.
+
+.. _restructuredtext: http://docutils.sourceforge.net/rst.html
+
+Diese Seite beschäftigt sich mit der Technik, die die
+`Oekonux-Community`_ nutzt. Ausgelöst wurde dies durch einen `Thread
+zum Thema <http://www.oekonux.de/projekt/liste/archive/msg03333.html>`_ auf der
+`Projekt-Liste`_, die sich um die Organisation des Projekts kümmert.
+
+.. _oekonux-community: http://www.oekonux.de/
+
+.. _projekt-liste: http://www.oekonux.de/projekt/liste/
+
+Überblick
+=========
+
+Die Oekonux-Community nutzt derzeit die folgenden technischen
+Einrichtungen:
+
+* `Mailing-Listen`_
+
+* `Web-Sites`_
+
+* OpenTheory_
+
+* `News-Groups`_
+
+* Wiki_
+
+Weitere Einrichtungen wie IRC werden nach meiner Kenntnis derzeit
+nicht genutzt.
+
+Mailing-Listen
+==============
+
+Existierende Listen
+-------------------
+
+Folgende Listen existieren:
+
+* ``liste AT oekonux DOT de``
+
+* ``list-en AT oekonux DOT org``
+
+* ``projekt AT oekonux DOT de``
+
+* ``chat AT oekonux DOT de``
+
+* ``mitglieder AT oekonux DOT de``
+
+* ``helfer AT oekonux-konferenz DOT de``
+
+* ``referenten AT oekonux-konferenz DOT de``
+
+Für alle Mailing-Listen existieren Archive_, die auf der Web-Site
+stehen, zu deren Domain sie gehören.
+
+Hosting
+-------
+
+Außer ``liste AT oekonux DOT de`` werden alle Mailing-Listen bei
+StefanMn gehostet. Für diese sind POP-Boxen eingerichtet, die
+regelmäßig gepollt werden. Diese Mailing-Listen werden von einem
+Majordomo_ betreut.
+
+.. _majordomo: http://www.greatcircle.com/majordomo/
+
+.. important:: Da Majordomo_ keine völlig Freie Software ist, gab es
+ den Vorschlag eine Alternative zu benutzen. Vorschläge waren Sympa
+ oder SmartList. Mit einer ganz neuen Lösung würde vermutlich
+ MailMan_ zum Einsatz kommen.
+
+``liste AT oekonux DOT de`` wird aus historischen Gründen von buug_
+gehostet. Dort kommt seit einiger Zeit MailMan_ als
+Verwaltungs-Software zum Einsatz.
+
+.. _buug: http://post.openoffice.de/
+
+.. _mailman: http://www.list.org/
+
+.. important:: In einer integrierten Lösung mit einem dedizierten
+ Server könnten und sollten auch die Mailing-Listen auf diesem
+ Server gehostet werden.
+
+Features
+--------
+
+Spam-Schutz
+~~~~~~~~~~~
+
+Mail an sämtliche Mailing-Listen wird über einen SpamAssassin_
+geleitet. Dies ist absolut unverzichtbar, da die Adressen der
+Mailing-Listen mittlerweile sehr weit verbreitet sind. Die
+SpamAssassin-Installation benötigt gelegentliche Wartung um gegen die
+neuesten Ideen der SpammerInnen gewappnet zu sein.
+
+.. _spamassassin: http://www.spamassassin.org/
+
+Web-Sites
+=========
+
+Hosting
+-------
+
+Provider
+~~~~~~~~
+
+Im Moment bezahlt der `e.V.`_ bei `1&1`_ ein `Premium-Paket <http://hosting.1und1.de/xml/static?__page=premium>`_.
+
+.. _e.v.: http://www.oekonux.de/projekt/verein/
+
+.. _1&1: http://hosting.1und1.de/
+
+Die Möglichkeiten dieses Pakets treffen nicht ganz die Bedürfnisse.
+Einerseits beinhaltet es ungenutzte Features (z.B. Datenbank,
+in2site_), andererseits fehlen erwünschte Features (Möglichkeit für
+lokale Suchmaschine, die auf dem Server den Index erstellt).
+
+.. important:: Es gibt ein `Angebot <http://www.oekonux.de/projekt/liste/archive/msg03128.html>`_ von
+ Hostsharing_ e.G., die das Hosting übernehmen könnten.
+
+.. _hostsharing: http://www.hostsharing.net/
+
+Die Audio-Dateien, die vor allem bei den Konferenzen aufgezeichnet
+worden sind, liegen wegen ihrer Größe auf anderen Servern.
+
+Mit Ressourcen aus dem `OpenTheory-Projekt`_ wird im Vorfeld der
+Konferenz das Programm der Konferenz online erstellt und präsentiert.
+
+.. _opentheory-projekt: http://www.opentheory.org/
+
+.. important:: Es gibt Überlegungen, alle von der Oekonux-Community
+ genutzten Ressourcen zu zentralisieren. Dazu würde vermutlich ein
+ dedizierter Server benötigt.
+
+.. important:: Als weiterer Hoster käme das `Individual Network
+ Berlin`_ in Frage.
+
+ `vLinux.de`_ oder server4you_ könnten weitere, vor allem preisgünstige
+ Alternative sein.
+
+.. _individual network berlin: http://www.in-berlin.de/
+
+.. _vlinux.de: http://vlinux.de/
+
+.. _server4you: http://www.server4you.de/de/v/
+
+.. important:: Holger hat sich grundsätzlich bereit erklärt, einen
+ dedizierten Server zu betreuen.
+
+Domains
+~~~~~~~
+
+Die fünf Domains, die auf den Verein laufen, sind:
+
+* ``oekonux.de``
+
+ Unter ``www`` liegt hier die deutsche Hauptseite des Projekts.
+
+* ``oekonux.org``
+
+ Unter ``www`` liegt hier die internationale Hauptseite des Projekts.
+
+* ``oekonux-konferenz.de``
+
+ Die deutsche Domain für alles rund um die Oekonux-Konferenzen.
+
+ - ``www``
+
+ Einstiegsseite für die jeweils aktuelle Konferenz.
+
+ - ``erste``, ``zweite``, ``dritte``
+
+ Einstiegsseiten für die jeweilige spezifische Konferenz.
+
+* ``oekonux-konferenz.org``, ``oekonux-conference.org``
+
+ Die internationalen Domains für alles rund um die
+ Oekonux-Konferenzen.
+
+ - ``www``
+
+ Einstiegsseite für die jeweils aktuelle Konferenz.
+
+ - ``second``, ``third``
+
+ Einstiegsseiten für die jeweilige spezifische Konferenz.
+
+ .. important:: ``oekonux-konferenz.org`` kann wahrscheinlich
+ mittelfristig entfallen.
+
+Weitere Domains waren vor der Übernahme durch den `e.V.`_ vorhanden,
+diese sind aber zurück gegeben worden.
+
+Features
+--------
+
+Web-Space
+~~~~~~~~~
+
+Derzeit sind in allen vier Web-Präsenzen insgesamt knapp 200MB von ca.
+17000 Files belegt. Die extern gehosteten Audio-Files umfassen ca.
+1GB.
+
+Traffic
+~~~~~~~
+
+Derzeit generieren die Web-Sites ca. 2GB Traffic pro Monat.
+
+Formulare
+~~~~~~~~~
+
+Die von `1&1`_ angebotenen so genannten Web-Elements werden im Vorfeld
+einer Konferenz für Anmeldungsformulare verwendet.
+
+Weitere Formulare werden nicht genutzt.
+
+Mail-Adressen
+~~~~~~~~~~~~~
+
+Derzeit verteilen sich rund 80 Mail-Adressen auf die verschiedenen
+Domains_. Nur ein Teil von ihnen ist als POP-Box realisiert -
+insbesondere die Adressen, die für die `Mailing-Listen`_ verwendet
+werden. Weitere Mail-Adressen sind als Alias eingerichtet.
+
+Neben den funktionsbezogenen Mail-Adressen gibt es derzeit lediglich
+eine persönliche Mail-Adresse in den Domains_. Grundsätzlich können
+weitere private Mail-Adressen vergeben werden. Vor langer Zeit wurde
+beschlossen, dass der Nachname der Person in der Mail-Adresse
+enthalten sein muss.
+
+Generierung und Upload
+~~~~~~~~~~~~~~~~~~~~~~
+
+Derzeit werden alle Inhalte von StefanMn u.a. aus SDF-Quellen auf
+seinem privaten Rechner generiert und per FTP auf die Web-Sites
+geladen. Das Ganze ist in eine ``make``-basierte Automatisierung
+eingebettet.
+
+.. important:: Die Quellen für die statischen Anteile der jetzigen
+ Lösung sind vor Ewigkeiten mal in ein CVS-Repository gestellt
+ worden. Allerdings hat sich niemensch jemals dafür interessiert -
+ geschweige denn Hilfe angeboten.
+
+ Es wäre aber grundsätzlich gut, wenn eine neue Lösung für die
+ Web-Sites mittels CVS (oder Subversion) zugänglich wäre. Damit
+ könnten viele Leute an der Site arbeiten.
+
+ StefanMn hätte gerne, dass die Quellen der Web-Seiten mittels einem
+ ASCII-nahen Format - möglichst reStructuredText_ - erstellt werden
+ könnten. Er würde (auch) dafür einen Konverter vom jetzigen Format
+ zur Verfügung stellen.
+
+Statische Seiten
+~~~~~~~~~~~~~~~~
+
+Praktisch sämtliche Seiten in den Oekonux-Domains sind statische
+HTML-Seiten ohne jegliches JavaScript oder andere aktive Elemente. Sie
+sind damit
+
+* für *alle* Browser zugänglich
+
+* wird für alle Zeiten lesbar sein
+
+* kein Sicherheitsproblem für den Server
+
+* stabile URLs ohne Variablen
+
+ Viele Suchmaschinen ignorieren Links mit ``?``.
+
+* bedürfen keinerlei Wartung
+
+* freundlich für externe Suchmaschinen
+
+ Zwar werden für die Navigation Frames eingesetzt, es gibt jedoch
+ immer einen ``<noframes>``-Bereich, der die entsprechenden Links
+ enthält.
+
+* mit Tools wie z.B. ``wget`` komplett und problemlos zu saugen
+
+* funktioniert mit jedem Web-Hosting-Angebot
+
+Privacy
+~~~~~~~
+
+`1&1`_ stellt praktisch in allen Tarifen die Log-Files des Web-Servers
+zur Verfügung. Darin sind die Zugriffe auf die einzelnen Domains
+unterschieden. Diese Logs werden ausgewertet und ohne die zugreifenden
+IP-Adressen und weitere, tendenziell Privacy-gefährdende Details auf
+den Web-Seiten zur Verfügung gestellt.
+
+.. important:: Wie StefanMn in einer `Mail an [pox] <http://www.oekonux.de/projekt/liste/archive/msg02683.html>`_
+ vorgeschlagen hat, sollte die Privacy-Policy auf den Web-Sites
+ veröffentlicht sein.
+
+ Insbesondere sollte klar gemacht werden, dass in2site_ **nicht**
+ verwendet wird.
+
+.. _in2site: http://www.in2site.de/
+
+Navigation
+~~~~~~~~~~
+
+Die Navigation wird mit Hilfe von Frames realisiert. Ein schmaler
+Frame auf der linken Seite ist einem File-Browser nachempfunden. Er
+zeigt ständig die aktuelle Position innerhalb der Site an. Der rechte
+Frame enthält den angewählten Inhalt. Wird in der Navigation ein
+Verzeichnis angewählt, so erscheint im Inhalts-Frame stets
+``default.html``.
+
+Außerdem hat jede Third-Level-Domain eine eigene Sitemap.
+Links auf allen Seiten werden von QBullets_ gefolgt, die grob den Typ
+des Links angeben.
+
+.. _qbullets: http://www.matterform.com/qbullets/
+
+Lokale Suchmaschine
+~~~~~~~~~~~~~~~~~~~
+
+Mittels FreeFind_ wurde auf ``www.oekonux.de`` eine lokale,
+kostenlose, durch Werbung finanzierte Suchmaschine eingerichtet.
+
+.. _freefind: http://www.freefind.com/
+
+.. important:: Nachdem das Größenlimit für kostenlosen Service im
+ 2003-05 bereits zum zweiten Mal überschritten wurde, indexiert
+ diese Suchmaschine seit einiger Zeit nicht mehr die gesamte Site.
+
+ Eine lokale Suchmaschine wie `Perlfect Search`_ scheitert daran,
+ dass im derzeitigen Tarif einem Prozess zu wenig Rechenzeit zur
+ Verfügung steht um die Site zu indexieren.
+
+ Es besteht Handlungsbedarf.
+
+.. _perlfect search: http://perlfect.com/freescripts/search/
+
+RSS-Feed
+~~~~~~~~
+
+.. important:: Es wäre nett, einen RSS-Feed auf einem eigenen Server
+ zu haben.
+
+Datenbanken
+~~~~~~~~~~~
+
+.. important:: Derzeit werden Datenbanken nicht genutzt, aber es wäre
+ sinnvoll, diese Option bei einer neuen Lösung zu haben.
+ (vorzugsweise mySGL).
+
+Apache
+~~~~~~
+
+.. important:: Eine neue Hosting-Lösung sollte uns in möglichst großem
+ Umfang Zugang zum Web-Server geben.
+
+Inhalte
+-------
+
+Allgemeines
+~~~~~~~~~~~
+
+.. important:: Generell werden die Sites nicht sehr intensiv gepflegt.
+ Dies ist nicht gut.
+
+.. important:: Insbesondere wäre es super, wenn die internationale
+ Site mehr von den Inhalten der deutschen Site hätte. Besonders
+ wünschenswert wäre es, wenn die `Oekonux-Links`_ auf Englisch
+ verfügbar wären.
+
+Archive
+~~~~~~~
+
+Sämtliche `Mailing-Listen`_ des Projekts werden auf den Web-Sites
+archiviert. Die Mails werden bei Eingang bei StefanMn mittels MHonArc_
+in HTML konvertiert und automatisch hochgeladen.
+
+.. _mhonarc: http://www.mhonarc.org/
+
+Die HTML-Seiten für die Mails werden noch gefiltert. Momentan werden
+
+* Kommentare von MHonArc_ entfernt
+
+* Telefon-Nummern
+
+* Einzelne Personen, die sich zu spät entschieden haben, dass sie
+ nicht per Google bei Oekonux gefunden werden wollen
+
+* Alle URLs, die auf Mail-Adressen verweisen
+
+* Mail-Adressen werden unkenntlich gemacht
+
+.. important:: Weiter werden ASCII-Äquivalente der Archive in Paketen
+ zu 40 Stück auf die Web-Site gestellt. Dieses Feature ist obsolet.
+
+.. important:: Es besteht der Wunsch, die Archive auch im mbox-Format
+ auf die `Web-Sites`_ zu bringen. Hier muss noch überlegt werden,
+ was gegen Mail-Adressen-Harvesting getan werden kann.
+
+Das Löschen aus den Archiven ist ebenfalls weit gehend automatisiert.
+Es erfordert aber einen expliziten Aufruf, der die Nummer der
+entsprechenden Mail nennt.
+
+.. important:: Momentan wird die gelöschte Mail nur aus den Indexen
+ entfernt, sie wird aber *nicht* vom Server gelöscht. Dadurch ist
+ sie zwar nicht mehr über Indexe oder benachbarte Mails verlinkt,
+ bleibt aber grundsätzlich zugreifbar. Das muss geändert werden.
+
+Texte
+~~~~~
+
+Verschiedene Texte des Projekts sind auf den Web-Sites verfügbar.
+
+Darunter befindet sich eine Einführung, deren Quellen auch für
+MagicPoint vorliegen
+
+Link-Seite
+~~~~~~~~~~
+
+Eine wichtige inhaltliche Ressource der Oekonux-Community sind die
+`Oekonux-Links`_, in die interessante Links mit einem kurzen Kommentar
+aufgenommen werden. Die Seite ist strukturiert.
+
+.. _oekonux-links: http://www.oekonux.de/projekt/links.html
+
+.. important:: Es wäre sehr gut, wenn jeder der `Oekonux-Links`_ das
+ Datum bekäme, zu dem er erstellt wurde. Mittlerweile hätte dies
+ einen gewissen dokumentarischen Wert ("Aha, damals war das also von
+ Bedeutung").
+
+ Dies wäre mittels ``cvs annotate`` grundsätzlich auch für schon
+ vorhandene Links machbar.
+
+.. important:: Es wäre gut, wenn die Sprache der Site angegeben wäre,
+ die durch den Link referenziert wird. Dies ist mittels des
+ HTML-Attributs ``hreflang`` machbar.
+
+Statistiken
+~~~~~~~~~~~
+
+Statistiken sowohl über die Nutzung der `Mailing-Listen`_ als auch
+über die Nutzung der `Web-Sites`_ werden auf den `Web-Sites`_ zur
+Verfügung gestellt. Alle Statistiken werden mit Freien Tools
+(webalizer_, mail2clf_, mail2chart_) mindestens einmal wöchentlich von
+StefanMn automatisch erstellt und hochgeladen. Die
+Web-Site-Statistiken werden einmal monatlich um Referrer-Links
+bereinigt, die von Porno-Sites stammen.
+
+.. _webalizer: http://www.webalizer.org/
+
+.. _mail2clf: http://www.merten-home.de/FreeSoftware/mail2clf/
+
+.. _mail2chart: http://www.merten-home.de/FreeSoftware/mail2chart/
+
+OpenTheory
+==========
+
+Viele Texte aus und rund um das Oekonux-Projekt sind auch im
+`OpenTheory-Projekt`_ verfügbar. Einige sind im
+`Oekonux-OpenTheory-Projekt`_ zusammen gefasst.
+
+.. _oekonux-opentheory-projekt: http://www.opentheory.org/oekonux/
+
+Die Texte sind sowohl inhaltlicher als auch organisatorischer Natur.
+Insbesondere für die Vorbereitung der Konferenzen wurden
+OpenTheory-Projekte angelegt.
+
+Wiki
+====
+
+Derzeit nutzt die Oekonux-Community zwei Wiki-Installationen:
+
+* ``co-forum.de``
+
+ Wird technisch von Thomas Kalka betreut und auch gehosteten. Es
+ handelt sich um ein allgemeines Wiki.
+
+* ``de.wiki.oekonux.org.uk``
+
+* ``en.wiki.oekonux.org.uk``
+
+ Diese beiden Wikis sind neueren Datums und explizit als Oekonux-Wiki
+ gedacht. Sie werden technisch von Chris Croome betreut und auch
+ gehostet.
+
+ .. important:: Bislang besteht keine inhaltliche Betreuung.
+
+News-Groups
+===========
+
+Seit Ende 2003 werden die Haupt-`Mailing-Listen`_ für die Diskussion
+auch mittels Gmane_ als Usenet-Newsgroups angeboten:
+
+.. _gmane: http://gmane.org/
+
+* ``news://news.gmane.org/gmane.politics.oekonux.german``
+
+ Spiegelt ``liste AT oekonux DOT de``.
+
+* ``news://news.gmane.org/gmane.politics.oekonux.english``
+
+ Spiegelt ``list-en AT oekonux DOT org``.
+
+Die News-Groups sind so eingestellt, das Antworten über die News nicht
+möglich sind.
+
+.. important:: Zum heutigen Zeitpunkt (2004-01-23) enthalten die
+ News-Group-Archive nur die Mails, die geschrieben wurde, nachdem
+ das News-Group-Feature hinzu genommen wurde. Nachdem das Problem
+ der lesbaren Mail-Adressen gelöst wurde, ist es angestrebt, dass
+ die gesamten Archive in das News-Group-Archiv `importiert <http://gmane.org/import.php>`_ werden.
+
+Features
+--------
+
+Suchmaschine
+~~~~~~~~~~~~
+
+Gmane_ verfügt über eine Suchmaschine, die die entsprechenden
+News-Archive durchsuchen.
+
+.. important:: Zumindest übergangsweise wäre es gut, diese
+ Suchmaschine direkt über die `Web-Sites`_ zu verlinken oder
+ anderweitig zu integrieren.
+
+.. LocalWords: reStructuredText Premium page premium oekonux www org Hoster
+
+.. LocalWords: konferenz conference second third gehosteten MagicPoint Upload
+
+.. LocalWords: SDF make MHonArc Harvesting ToDo important JavaScript noframes
+
+.. LocalWords: wget pox Privacy Policy site default html Sitemap FreeFind you
+
+.. LocalWords: Perlfect clf Search webalizer mail mail chart Referrer co chat
+
+.. LocalWords: forum Kalka Chris Croome Gmane DOT list en mbox Subversion cvs
+
+.. LocalWords: StefanMn projekt helfer referenten gepollt Sympa SmartList
+
+.. LocalWords: MailMan buug SpamAssassin Individual Network vLinux server
+
+.. LocalWords: Repository QBullets annotate hreflang
diff --git a/sandbox/xml2rst/tests/real/expected/WikiRequirements.rst b/sandbox/xml2rst/tests/real/expected/WikiRequirements.rst
new file mode 100644
index 000000000..63667251d
--- /dev/null
+++ b/sandbox/xml2rst/tests/real/expected/WikiRequirements.rst
@@ -0,0 +1,324 @@
+#FORMAT rst
+
+Requirements for an Oekonux Wiki
+================================
+
+.. contents:: Contents
+
+
+.. ############################################################################
+
+.. ############################################################################
+
+Introduction
+============
+
+In `Project Oekonux`_ there has been a long discussion about setting
+up a Wiki for the project. Also several attempts to establish a Wiki
+have been made. Most of these discussions took place on `the projekt mailing list`_
+which is the organizing body of the project.
+
+One of the most important questions was which Wiki software to use.
+Finally a decision has been made based upon the requirements being
+raised.
+
+The following lists all the requirements which have been found and
+lists the alternative solutions for them. One reason for this list is
+to document the design decisions / choices taken and their basis in
+the requirements. This way it is easier to
+
+* understand the decisions
+
+* change decisions while not forgetting about reasons for the original
+ decision
+
+.. ############################################################################
+
+.. ############################################################################
+
+Requirements
+============
+
+Non-functional requirements
+---------------------------
+
+1. The software must have an active developer community and must be
+ Free
+
+ :Rationale: Only an active developer community of a Free Software
+ project guarantees for a constant development.
+
+ Discussion came down to two candidates which met this requirement:
+ MediaWiki_ and MoinMoin_. The following requirements list
+ alternative solutions only for these two Wiki implementations.
+
+2. The software must be easy to use for people used to Wikipedia
+
+ :Rationale: Because of the overwhelming success of Wikipedia many
+ people are used to the way how Wikipedia is operated.
+
+ :MediaWiki: Given by definition.
+
+ :MoinMoin: The typical use cases need to be identified and a
+ special help page must be created for these users.
+
+.. ############################################################################
+
+Functional requirements
+-----------------------
+
+1. Email notification must be possible sending diffs and other changes
+
+ :Rationale: Email notification is a basic requirement for any
+ offline processing.
+
+ :MediaWiki: Rumor has it that there is a plug-in for email
+ notification but nobody saw it yet (2005-03-26).
+
+ :MoinMoin: Supports email notification as diffs for arbitrary pages
+ and page groups (regular expression). Only notifies on moves and
+ deletion of pages.
+
+2. It must be possible to limit changeability of a page (for instance
+ for user's pages)
+
+ :Rationale: Some pages are private pages or should not be changes
+ for other reasons.
+
+ :MediaWiki: Don't know whether this can be enforced technically.
+
+ :MoinMoin: Implements access control lists (ACL) allowing for
+ arbitrary rights.
+
+3. Categories must be possible
+
+ :Rationale: With categories can form arbitrary non-hierarchical
+ structures
+
+ :MediaWiki: Available.
+
+ :MoinMoin: Available.
+
+4. Navigation panels must be available
+
+ :Rationale: Useful to create overviews.
+
+ :MediaWiki: Available.
+
+ :MoinMoin: Available as ``Navigation`` macro for hierarchical
+ structures and as ``PageList`` macro for structures based logical
+ expressions on regular expressions over page names.
+
+5. A version history must be available
+
+ :Rationale: Needed to get an overview of the change history of a
+ page.
+
+ :MediaWiki: Available.
+
+ :MoinMoin: Available.
+
+6. List of changes for a given user must be available
+
+ :Rationale: Nice to have.
+
+ :MediaWiki: Available.
+
+ :MoinMoin: Not available.
+
+7. A watch list must be possible reporting about the latest changes
+ for a given set of pages
+
+ :Rationale: Nice to have.
+
+ :MediaWiki: Available.
+
+ :MoinMoin: Can be simulated by email notification.
+
+8. Automatic links by using CamelCase (aka WikiWords) must not be the
+ default
+
+ :Rationale: CamelCase makes sense only in certain language. In
+ particular German is a language where automatic CamelCase links
+ are not too useful.
+
+ :MediaWiki: CamelCase words never create automatic links.
+
+ :MoinMoin: The NoCamelCase_ plug-in makes this the default.
+
+9. Support for other than the standard Wiki syntaxes like
+ reStructuredText_ must be available
+
+ :Rationale: All Wiki languages suck so support for more sane
+ syntaxes is a very useful thing. In particular support for
+ reStructuredText_ being a powerful language and a good candidate
+ for a standard ASCII based markup language.
+
+ :MediaWiki: There is no support for any other syntax than the
+ MediaWiki syntax.
+
+ :MoinMoin: Offers several syntaxes by the concept of parsers. Among
+ the available syntaxes are reStructuredText_ and LaTeX_.
+
+10. Arbitrary attachments must be possible
+
+ :Rationale: Nice to have to attach arbitrary data to a page. In
+ particular it makes possible to include material not marked up in
+ the Wiki syntax.
+
+ :MediaWiki: Unknown but probably available.
+
+ :MoinMoin: Available.
+
+11. Shortcuts for links must be available
+
+ :Rationale: In particular it is useful to be able to reference
+ entries in the Oekonux mailing list archive as easy as possible.
+
+ :MediaWiki: Implements this by templates.
+
+ :MoinMoin: Implements by InterWiki links.
+
+12. Page templates must be available
+
+ :Rationale: Page templates are a good way to support policy
+ decisions by offering standard templates for all page types.
+
+ :MediaWiki: Not available.
+
+ :MoinMoin: Available.
+
+13. It must be possible to revert page changes
+
+ :Rationale: Useful to undo unwanted changes.
+
+ :MediaWiki: Available.
+
+ :MoinMoin: Available.
+
+14. It must be possible to know who did a change in a page
+
+ :Rationale: Nice to have.
+
+ :MediaWiki: Available.
+
+ :MoinMoin: Available.
+
+15. Offline usage must be possible as far as possible
+
+ :Rationale: Not everyone is always online so offline facilities are
+ generally useful. Offline usage includes
+
+ * a push feature for change notification
+
+ * browsing
+
+ * editing
+
+ :MediaWiki: Not available. At most email notification is available.
+
+ :MoinMoin: Email notification allows for monitoring changes and in
+ principle the diffs can be used to update a local copy. A local
+ installation of MoinMoin_ only needs Python and MoinMoin_ so it
+ is easy to accomplish. Because MoinMoin_ uses a file based
+ storage scheme it is at least easy to update a local copy in
+ short online phases for offline use so at least offline browsing
+ is available.
+
+16. Pages must be locked during they are edited
+
+ :Rationale: Page locking prevents parallel editing of a page which
+ is useful in a highly frequented Wiki.
+
+ :MediaWiki: Not available.
+
+ :MoinMoin: Editing a page locks it for 10 minutes and the lock can
+ be renewed.
+
+17. It must be possible to edit sections of a page
+
+ :Rationale: Makes parallel editing of a page less dangerous which
+ is useful in a highly frequented Wiki.
+
+ :MediaWiki: Available.
+
+ :MoinMoin: Not available.
+
+.. ############################################################################
+
+Requirements for policy choices
+-------------------------------
+
+1. Pages standing in a certain close relation to a certain other page
+ must be possible in a sane way
+
+ :Rationale: There are several ways in which a page can have closely
+ related pages (e.g. discussion pages). It makes sense to have a
+ uniform way to express this relation.
+
+ :MediaWiki: Implements discussion pages as one a special type of
+ closely related pages by suffixing ``Discussion`` to the
+ namespace of a page. For other closely related pages there is no
+ fixed implementation.
+
+ :MoinMoin: By making sub-pages possible all types of closely
+ related pages can be implemented by some fixed names being part
+ of a policy and supported by page templates.
+
+2. Structuring of content must be possible by a page hierarchy
+
+ :Rationale: The maintenance policy may decide to have a page
+ hierarchy as a structuring principle.
+
+ :MediaWiki: Implements a top level structure by namespaces and
+ allows for structuring otherwise.
+
+ :MoinMoin: With sub-pages arbitrary hierarchies can be build on any
+ level.
+
+3. Sub-Wikis must be possible
+
+ :Rationale: The maintenance policy may decide this makes sense.
+
+ :MediaWiki: Not available.
+
+ :MoinMoin: Could be done in a page hierarchy on any level.
+
+4. Underscores and white-space in page names must be possible but
+ insignificant
+
+ :Rationale: If the maintenance policy decides that underscores and
+ white-space may be used in arbitrary ways the software must be
+ able to reflect this.
+
+ :MediaWiki: Unknown.
+
+ :MoinMoin: Underscores and white-space is significant.
+
+.. ############################################################################
+
+.. ############################################################################
+
+.. |projekt| replace:: `the projekt mailing list`_
+
+.. |NoCamelCase| replace:: NoCamelCase_
+
+.. _project oekonux: http://www.oekonux.de/
+
+.. _the projekt mailing list: http://www.oekonux.de/projekt/liste/
+
+.. _mediawiki: http://wikipedia.sourceforge.net/
+
+.. _moinmoin: http://moinmoin.wikiwikiweb.de/
+
+.. _restructuredtext: http://docutils.sourceforge.net/rst.html
+
+.. _latex: http://www.latex-project.org/
+
+.. _nocamelcase: http://moinmoin.wikiwikiweb.de/ParserMarket/NoCamelCase
+
+.. LocalWords: diffs CamelCase InterWiki MoinMoin rst projekt MediaWiki aka
+
+.. LocalWords: Wikipedia PageList WikiWords reStructuredText
+
+.. LocalWords: Wikis NoCamelCase
diff --git a/sandbox/xml2rst/tests/real/filterunit.cfg b/sandbox/xml2rst/tests/real/filterunit.cfg
new file mode 100644
index 000000000..af9a91eb3
--- /dev/null
+++ b/sandbox/xml2rst/tests/real/filterunit.cfg
@@ -0,0 +1,5 @@
+inputExtension = .xml
+expectedExtension = .rst
+
+command = ../../xml2rst.py
+options = $<
diff --git a/sandbox/xml2rst/tests/real/input/Machinery.xml b/sandbox/xml2rst/tests/real/input/Machinery.xml
new file mode 100644
index 000000000..27f3bfeef
--- /dev/null
+++ b/sandbox/xml2rst/tests/real/input/Machinery.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by Docutils 0.8 -->
+<document source="original/Machinery.rst"><paragraph>#format rst
+#language en</paragraph><paragraph><reference anonymous="1" name="Discussion" refuri="/Talk">Discussion</reference></paragraph><target anonymous="1" ids="id1" refuri="/Talk"/><topic classes="contents" ids="contents" names="contents"><title>Contents</title><bullet_list><list_item><paragraph><reference ids="id5" refid="overview">Overview</reference></paragraph></list_item><list_item><paragraph><reference ids="id6" refid="dedicated-oekonux-server">Dedicated Oekonux server</reference></paragraph></list_item><list_item><paragraph><reference ids="id7" refid="mailing-lists">Mailing lists</reference></paragraph><bullet_list><list_item><paragraph><reference ids="id8" refid="existing-lists">Existing lists</reference></paragraph></list_item><list_item><paragraph><reference ids="id9" refid="hosting">Hosting</reference></paragraph></list_item><list_item><paragraph><reference ids="id10" refid="features">Features</reference></paragraph><bullet_list><list_item><paragraph><reference ids="id11" refid="spam-protection">Spam protection</reference></paragraph></list_item></bullet_list></list_item></bullet_list></list_item><list_item><paragraph><reference ids="id12" refid="web-sites">Web sites</reference></paragraph><bullet_list><list_item><paragraph><reference ids="id13" refid="id2">Hosting</reference></paragraph><bullet_list><list_item><paragraph><reference ids="id14" refid="provider">Provider</reference></paragraph></list_item><list_item><paragraph><reference ids="id15" refid="domains">Domains</reference></paragraph></list_item></bullet_list></list_item><list_item><paragraph><reference ids="id16" refid="id3">Features</reference></paragraph><bullet_list><list_item><paragraph><reference ids="id17" refid="web-space">Web space</reference></paragraph></list_item><list_item><paragraph><reference ids="id18" refid="traffic">Traffic</reference></paragraph></list_item><list_item><paragraph><reference ids="id19" refid="mail-addresses">Mail addresses</reference></paragraph></list_item><list_item><paragraph><reference ids="id20" refid="generation-and-upload">Generation and Upload</reference></paragraph></list_item><list_item><paragraph><reference ids="id21" refid="static-pages">Static pages</reference></paragraph></list_item><list_item><paragraph><reference ids="id22" refid="navigation">Navigation</reference></paragraph></list_item><list_item><paragraph><reference ids="id23" refid="locale-search-engine">Locale search engine</reference></paragraph></list_item><list_item><paragraph><reference ids="id24" refid="rss-feed">RSS-Feed</reference></paragraph></list_item></bullet_list></list_item><list_item><paragraph><reference ids="id25" refid="content">Content</reference></paragraph><bullet_list><list_item><paragraph><reference ids="id26" refid="general">General</reference></paragraph></list_item><list_item><paragraph><reference ids="id27" refid="archives">Archives</reference></paragraph></list_item><list_item><paragraph><reference ids="id28" refid="texts">Texts</reference></paragraph></list_item><list_item><paragraph><reference ids="id29" refid="link-page">Link page</reference></paragraph></list_item><list_item><paragraph><reference ids="id30" refid="statistics">Statistics</reference></paragraph></list_item></bullet_list></list_item></bullet_list></list_item><list_item><paragraph><reference ids="id31" refid="opentheory">OpenTheory</reference></paragraph></list_item><list_item><paragraph><reference ids="id32" refid="wiki">Wiki</reference></paragraph></list_item><list_item><paragraph><reference ids="id33" refid="news-groups">News groups</reference></paragraph><bullet_list><list_item><paragraph><reference ids="id34" refid="id4">Features</reference></paragraph><bullet_list><list_item><paragraph><reference ids="id35" refid="search-engine">Search engine</reference></paragraph></list_item></bullet_list></list_item></bullet_list></list_item></bullet_list></topic><paragraph>This page describes the machinery used by the <reference name="Oekonux community" refuri="http://www.oekonux.de/">Oekonux community</reference>.
+This page is motivated by a <reference name="thread about this topic" refuri="http://www.oekonux.de/projekt/liste/archive/msg03333.html">thread about this topic</reference><target ids="thread-about-this-topic" names="thread\ about\ this\ topic" refuri="http://www.oekonux.de/projekt/liste/archive/msg03333.html"/> on the
+<reference name="project list" refuri="http://www.oekonux.de/projekt/liste/">project list</reference>, which cares about the organization of the project.</paragraph><paragraph>The intention of this page is to reflect the current state of the
+machinery. It is originally written in German which is available as
+the first version of this page.</paragraph><section ids="overview" names="overview"><title refid="id5">Overview</title><paragraph>The <reference name="Oekonux community" refuri="http://www.oekonux.de/">Oekonux community</reference> currently uses the following technical
+facilities:</paragraph><bullet_list bullet="*"><list_item><paragraph><reference name="mailing lists" refid="mailing-lists">mailing lists</reference></paragraph></list_item><list_item><paragraph><reference name="web sites" refid="web-sites">web sites</reference></paragraph></list_item><list_item><paragraph><reference name="OpenTheory" refid="opentheory">OpenTheory</reference></paragraph></list_item><list_item><paragraph><reference name="news groups" refid="news-groups">news groups</reference></paragraph></list_item><list_item><paragraph><reference name="Wiki" refid="wiki">Wiki</reference></paragraph></list_item></bullet_list><paragraph>As far as I know other facilities such as IRC are currently not used.</paragraph><target refid="oekonux-server"/></section><section ids="dedicated-oekonux-server oekonux-server" names="dedicated\ oekonux\ server oekonux\ server"><title refid="id6">Dedicated Oekonux server</title><paragraph>There is a dedicated server for the Oekonux project. Currently this is
+a virtual server based on Debian and hosted by <reference name="VD server" refuri="http://www.vd-server.de/">VD server</reference>. This
+dedicated server is paid by the <reference name="Projekt Oekonux e.V." refuri="http://www.oekonux.de/projekt/verein/">Projekt Oekonux e.V.</reference>, a registered
+association in Germany.</paragraph><paragraph>Today the server runs most of the technical infrastructure of the
+project. It has a fixed IP address and the DNS entries for the domains
+point to this server. The generic address of the server is
+<literal>server.oekonux.de</literal>.</paragraph><paragraph>The general maintainer of this server is <problematic ids="id37" refid="id36">HolgerWeiss_</problematic>, certain
+facilities are maintained mainly by <problematic ids="id39" refid="id38">StefanMerten_</problematic>.</paragraph><paragraph>In case it is necessary because the project needs more computing
+resources a real server could be hosted by <reference name="Individual Network Berlin" refuri="http://www.in-berlin.de/">Individual Network
+Berlin</reference>.</paragraph></section><section ids="mailing-lists" names="mailing\ lists"><title refid="id7">Mailing lists</title><section ids="existing-lists" names="existing\ lists"><title refid="id8">Existing lists</title><paragraph>The following lists exist:</paragraph><bullet_list bullet="*"><list_item><paragraph><literal>liste AT oekonux DOT de</literal></paragraph></list_item><list_item><paragraph><literal>list-en AT oekonux DOT org</literal></paragraph></list_item><list_item><paragraph><literal>projekt AT oekonux DOT de</literal></paragraph></list_item><list_item><paragraph><literal>chat AT oekonux DOT de</literal></paragraph></list_item><list_item><paragraph><literal>mitglieder AT oekonux DOT de</literal></paragraph></list_item><list_item><paragraph><literal>helfer AT oekonux-konferenz DOT de</literal></paragraph></list_item><list_item><paragraph><literal>referenten AT oekonux-konferenz DOT de</literal></paragraph></list_item></bullet_list><paragraph>For all mailing lists there are <reference name="archives" refid="archives">archives</reference>, which are on the web sites
+of the domain they belong to.</paragraph></section><section dupnames="hosting" ids="hosting"><title refid="id9">Hosting</title><paragraph>All mailing lists are hosted on the <reference name="Oekonux server" refid="oekonux-server">Oekonux server</reference>. The mailing
+lists are all served by a <reference name="Majordomo" refuri="http://www.greatcircle.com/majordomo/">Majordomo</reference>.</paragraph></section><section dupnames="features" ids="features"><title refid="id10">Features</title><section ids="spam-protection" names="spam\ protection"><title refid="id11">Spam protection</title><paragraph>Mail to all mailing lists is routed over a <reference name="SpamAssassin" refuri="http://www.spamassassin.org/">SpamAssassin</reference>. This is
+indispensable because the addresses of the mailing lists have a wide
+distribution.</paragraph><paragraph>The SpamAssassin installation needs some maintenance once in a while
+to be ready for the latest ideas of spammers. This maintenance is done
+by <problematic ids="id41" refid="id40">StefanMerten_</problematic>.</paragraph><paragraph>Unfortunately the spam filtering does not catch all spam :-( .
+Therefore the mailing lists have been closed so only subscribers can
+post to the list unmoderated. The bounces of spam and legitimate mail
+from non-subscribers are handled by <problematic ids="id43" refid="id42">StefanMerten_</problematic>. All other tasks
+necessary for keeping the mailing lists running are also handled by
+<problematic ids="id45" refid="id44">StefanMerten_</problematic>.</paragraph></section></section></section><section ids="web-sites" names="web\ sites"><title refid="id12">Web sites</title><section dupnames="hosting" ids="id2"><title refid="id13">Hosting</title><section ids="provider" names="provider"><title refid="id14">Provider</title><paragraph>There is no special provider for the web sites. All web sites are
+hosted on the <reference name="Oekonux server" refid="oekonux-server">Oekonux server</reference>.</paragraph><paragraph>Because of their size the audio files which mainly have been recorded
+during the conferences are kept on web space donated by various
+people.</paragraph><paragraph>Before conferences resources of the <reference name="OpenTheory project" refuri="http://www.opentheory.org/">OpenTheory project</reference> are used
+for online creation and presentation of the program of the conference.</paragraph></section><section ids="domains" names="domains"><title refid="id15">Domains</title><paragraph>There are four domains for which the <reference name="e.V." refuri="http://www.oekonux.de/projekt/verein/">e.V.</reference> is the owner:</paragraph><bullet_list bullet="*"><list_item><paragraph><literal>oekonux.de</literal></paragraph><paragraph>Under <literal>www</literal> the German main page of the project can be found.</paragraph></list_item><list_item><paragraph><literal>oekonux.org</literal></paragraph><paragraph>Under <literal>www</literal> the international main page of the project can be
+found.</paragraph><paragraph>Also the Wikis are all hosted here:</paragraph><bullet_list bullet="*"><list_item><paragraph><literal>en.wiki</literal></paragraph><paragraph>The English language Wiki.</paragraph></list_item><list_item><paragraph><literal>de.wiki</literal></paragraph><paragraph>The German language Wiki.</paragraph></list_item></bullet_list></list_item><list_item><paragraph><literal>oekonux-konferenz.de</literal></paragraph><paragraph>The German domain for everything around the Oekonux conferences.</paragraph><bullet_list bullet="-"><list_item><paragraph><literal>www</literal></paragraph><paragraph>Entry point for the most recent conference.</paragraph></list_item><list_item><paragraph><literal>erste</literal>, <literal>zweite</literal>, <literal>dritte</literal></paragraph><paragraph>Entry points for the respective conference.</paragraph></list_item></bullet_list></list_item><list_item><paragraph><literal>oekonux-conference.org</literal></paragraph><paragraph>The international domains for everything around the Oekonux
+conferences.</paragraph><bullet_list bullet="-"><list_item><paragraph><literal>www</literal></paragraph><paragraph>Entry point for the most recent conference.</paragraph></list_item><list_item><paragraph><literal>second</literal>, <literal>third</literal></paragraph><paragraph>Entry points for the respective conference.</paragraph></list_item></bullet_list></list_item></bullet_list><paragraph>More domains were present before the <reference name="e.V." refuri="http://www.oekonux.de/projekt/verein/">e.V.</reference> took them over but they
+have been abandoned.</paragraph></section></section><section dupnames="features" ids="id3"><title refid="id16">Features</title><section ids="web-space" names="web\ space"><title refid="id17">Web space</title><paragraph>The audio files hosted externally sum up to about 4GB.</paragraph></section><section ids="traffic" names="traffic"><title refid="id18">Traffic</title><comment xml:space="preserve">$$$</comment><paragraph>There are statistics about the <reference name="network traffic" refuri="http://traffic.oekonux.de/">network traffic</reference><target ids="network-traffic" names="network\ traffic" refuri="http://traffic.oekonux.de/"/> and the <problematic ids="id47" refid="id46">`page hits
+http://www.oekonux.de/projekt/statistik/website/`_</problematic>.</paragraph></section><section ids="mail-addresses" names="mail\ addresses"><title refid="id19">Mail addresses</title><paragraph>All domains support a couple of mail addresses. They are mainly used
+for the <reference name="mailing lists" refid="mailing-lists">mailing lists</reference>.</paragraph><paragraph>Besides the functional mail addresses there is only one private mail
+address. Generally it is possible to create more private mail
+addresses. Such private mail address must contain the family name of
+the person.</paragraph></section><section ids="generation-and-upload" names="generation\ and\ upload"><title refid="id20">Generation and Upload</title><paragraph>At the moment all content of the web sites is generated by
+<problematic ids="id49" refid="id48">StefanMerten_</problematic> on his private computer and uploaded onto the server.
+Among other facilities the SDF format is used and the whole thing is
+embedded in a <literal>make</literal> based automation.</paragraph><important><paragraph>The sources for the static pages have been brought to a
+CVS repository eons ago. However, this has not been used.</paragraph><paragraph>In general it would be good if a new solution for the web sites
+would be available by CVS. With this many people could work on the
+site.</paragraph><paragraph><problematic ids="id51" refid="id50">StefanMerten_</problematic> would appreciate that the sources of the web pages
+are created in a format close to ASCII - at best <reference name="reStructuredText" refuri="http://docutils.sourceforge.net/rst.html">reStructuredText</reference>.
+He is ready to provide a converter from the current format.</paragraph></important></section><section ids="static-pages" names="static\ pages"><title refid="id21">Static pages</title><paragraph>Apart from the Wiki pages nearly all pages in the Oekonux domains are
+static HTML pages without any JavaScript or other active elements. By
+this they are</paragraph><bullet_list bullet="*"><list_item><paragraph>usable by <emphasis>all</emphasis> browsers</paragraph></list_item><list_item><paragraph>readable for all times</paragraph></list_item><list_item><paragraph>no security risk for the server</paragraph></list_item><list_item><paragraph>stable URLs without variable parts</paragraph><paragraph>Many search engines ignore links containing a <literal>?</literal>.</paragraph></list_item><list_item><paragraph>need no maintenance</paragraph></list_item><list_item><paragraph>friendly to external search engines</paragraph><paragraph>Though navigation is done by frames there is always a <literal>&lt;noframes&gt;</literal>
+section which contains the links.</paragraph></list_item><list_item><paragraph>can be downloaded with tools like <literal>wget</literal> completely and without
+problems</paragraph></list_item><list_item><paragraph>works with every web hosting offer</paragraph></list_item></bullet_list></section><section ids="navigation" names="navigation"><title refid="id22">Navigation</title><paragraph>Navigation is realized with frames. A narrow frame on the left is
+modeled after a file browser. It permanently presents the current
+position in the site. The right frame contains the selected content.
+If a directory is selected in the navigation the content frame
+<literal>default.html</literal> always appears.</paragraph><paragraph>Apart from this each third level domain has a separate site map.</paragraph><paragraph>Links in all pages are followed by <reference name="QBullets" refuri="http://www.matterform.com/qbullets/">QBullets</reference> which roughly give the
+type of the link.</paragraph></section><section ids="locale-search-engine" names="locale\ search\ engine"><title refid="id23">Locale search engine</title><comment xml:space="preserve">$$$ Link ht://dig</comment><paragraph>Currently the local search engine is replaced by a ht://dig based
+solution.</paragraph></section><section ids="rss-feed" names="rss-feed"><title refid="id24">RSS-Feed</title><important><paragraph>There is no RSS feed yet but it would be nice to have
+one.</paragraph></important></section></section><section ids="content" names="content"><title refid="id25">Content</title><section ids="general" names="general"><title refid="id26">General</title><important><paragraph>In general the sites are not maintained really. This is
+bad.</paragraph></important><important><paragraph>In particular it would be good if the international
+site would have more of the content of the German site.
+Particularly it would be good to have the <reference name="Oekonux links" refuri="http://www.oekonux.de/projekt/links.html">Oekonux links</reference> in
+English. Also the structure of the project should be presented on
+the international site.</paragraph></important></section><section ids="archives" names="archives"><title refid="id27">Archives</title><paragraph>All <reference name="mailing lists" refid="mailing-lists">mailing lists</reference> of the project are archived on the web sites.
+<problematic ids="id53" refid="id52">StefanMerten_</problematic> converts the incoming mails to HTML by <reference name="MHonArc" refuri="http://www.mhonarc.org/">MHonArc</reference> and
+uploaded automatically.</paragraph><paragraph>HTML pages for the archives are filtered. At the moment</paragraph><bullet_list bullet="*"><list_item><paragraph>comments of <reference name="MHonArc" refuri="http://www.mhonarc.org/">MHonArc</reference> are removed</paragraph></list_item><list_item><paragraph>phone numbers are replaced by a fixed text</paragraph></list_item><list_item><paragraph>names of certain people who decided to late that they not want to be
+found in Oekonux by Google are shortened</paragraph></list_item><list_item><paragraph>all URLs pointing to mail addresses are obfuscated a bit</paragraph></list_item><list_item><paragraph>mail addresses are obfuscated</paragraph></list_item></bullet_list><important><paragraph>There is a request to have the archives on the <reference name="web sites" refid="web-sites">web
+sites</reference> in mbox format. For this it must be clarified what can be
+done against mail address harvesting.</paragraph></important><paragraph>Removal of archived pages is also widely automated. However, it needs
+an explicit call with the number of the mail to remove.</paragraph><important><paragraph>Right now the removed mail is removed only from the
+indexes but <emphasis>not</emphasis> from the server. By this it is no longer
+reachable by neighboring mails or an index but the are generally
+accessible. This must be changed.</paragraph></important></section><section ids="texts" names="texts"><title refid="id28">Texts</title><paragraph>Several texts of the project are available on the <reference name="web sites" refid="web-sites">web sites</reference>.</paragraph><paragraph>Among them is an introduction for which MagicPoint sources are
+available.</paragraph></section><section ids="link-page" names="link\ page"><title refid="id29">Link page</title><paragraph>One of the most important content resources of the <reference name="Oekonux community" refuri="http://www.oekonux.de/">Oekonux
+community</reference> are the <reference name="Oekonux links" refuri="http://www.oekonux.de/projekt/links.html">Oekonux links</reference>, where interesting links are
+entered with a short comment. The page is structured.</paragraph><important><paragraph>It would be good if each of the <reference name="Oekonux links" refuri="http://www.oekonux.de/projekt/links.html">Oekonux links</reference> would
+get a creation date. Meanwhile this would have some historical
+value.</paragraph><paragraph>In general for existing links this would be possible by <literal>cvs
+annotate</literal>.</paragraph></important><important><paragraph>It would be useful if the language of the page behind
+the link would be given. This can be done by the HTML attribute
+<literal>hreflang</literal>.</paragraph></important></section><section ids="statistics" names="statistics"><title refid="id30">Statistics</title><paragraph>Statistics are available about the usage of the <reference name="mailing lists" refid="mailing-lists">mailing lists</reference> as
+well as about the <reference name="web sites" refid="web-sites">web sites</reference> usage on the <reference name="web sites" refid="web-sites">web sites</reference>. All
+statistics are created weekly by some Free Software (<reference name="webalizer" refuri="http://www.webalizer.org/">webalizer</reference>,
+<reference name="mail2clf" refuri="http://www.merten-home.de/FreeSoftware/mail2clf/">mail2clf</reference>, <reference name="mail2chart" refuri="http://www.merten-home.de/FreeSoftware/mail2chart/">mail2chart</reference>) automatically by <problematic ids="id55" refid="id54">StefanMerten_</problematic> and uploaded.</paragraph></section></section></section><section ids="opentheory" names="opentheory"><title refid="id31">OpenTheory</title><paragraph>Many texts from the project and from its environment are available in
+the <reference name="OpenTheory project" refuri="http://www.opentheory.org/">OpenTheory project</reference>. Some of them are gathered in the <reference name="Oekonux OpenTheory project" refuri="http://www.opentheory.org/oekonux/">Oekonux
+OpenTheory project</reference>.</paragraph><paragraph>The texts are about Oekonux content as well as for organizational
+purposes. In particular the conference preparation has been done
+there.</paragraph></section><section ids="wiki" names="wiki"><title refid="id32">Wiki</title><paragraph>Currently there are two Oekonux Wikis at</paragraph><bullet_list bullet="*"><list_item><paragraph><reference refuri="http://en.wiki.oekonux.org/">http://en.wiki.oekonux.org/</reference></paragraph></list_item><list_item><paragraph><reference refuri="http://de.wiki.oekonux.org/">http://de.wiki.oekonux.org/</reference></paragraph></list_item></bullet_list><paragraph>They are based on the <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">MoinMoin</reference> Wiki engine.</paragraph><paragraph>The content is maintained by a group of maintainers (<reference name="English" refuri="http://en.wiki.oekonux.org/MaintainerGroup">English</reference><target ids="english" names="english" refuri="http://en.wiki.oekonux.org/MaintainerGroup"/>, <reference name="German" refuri="http://de.wiki.oekonux.org/MaintainerGruppe">German</reference><target ids="german" names="german" refuri="http://de.wiki.oekonux.org/MaintainerGruppe"/> . The technical part
+of the Wikis is maintained by <problematic ids="id57" refid="id56">StefanMerten_</problematic>.</paragraph></section><section ids="news-groups" names="news\ groups"><title refid="id33">News groups</title><paragraph>Since end of 2003 the main discussion <reference name="mailing lists" refid="mailing-lists">mailing lists</reference> are available
+through <reference name="Gmane" refuri="http://gmane.org/">Gmane</reference> as Usenet newsgroups:</paragraph><bullet_list bullet="*"><list_item><paragraph><reference refuri="news://news.gmane.org/gmane.politics.oekonux.german">news://news.gmane.org/gmane.politics.oekonux.german</reference></paragraph><paragraph>Mirrors <literal>liste AT oekonux DOT de</literal>.</paragraph></list_item><list_item><paragraph><reference refuri="news://news.gmane.org/gmane.politics.oekonux.english">news://news.gmane.org/gmane.politics.oekonux.english</reference></paragraph><paragraph>Mirrors <literal>list-en AT oekonux DOT org</literal>.</paragraph></list_item></bullet_list><paragraph>The newsgroups are configured in a way replies by news are not
+possible.</paragraph><important><paragraph>For now the newsgroup archives contain only those mails
+written after the newsgroup feature was in place. After the problem
+of readable mail addresses has been solved the whole archive shall
+be <reference name="brought" refuri="http://gmane.org/import.php">brought</reference><target ids="brought" names="brought" refuri="http://gmane.org/import.php"/> to the newsgroup archive</paragraph></important><section dupnames="features" ids="id4"><title refid="id34">Features</title><section ids="search-engine" names="search\ engine"><title refid="id35">Search engine</title><paragraph><reference name="Gmane" refuri="http://gmane.org/">Gmane</reference> has a search engine which searches the newsgroups.</paragraph><comment xml:space="preserve">############################################################################</comment><target ids="restructuredtext" names="restructuredtext" refuri="http://docutils.sourceforge.net/rst.html"/><target ids="oekonux-community" names="oekonux\ community" refuri="http://www.oekonux.de/"/><target ids="project-list" names="project\ list" refuri="http://www.oekonux.de/projekt/liste/"/><target ids="majordomo" names="majordomo" refuri="http://www.greatcircle.com/majordomo/"/><target ids="spamassassin" names="spamassassin" refuri="http://www.spamassassin.org/"/><target refid="projekt-oekonux-e-v"/><target ids="e-v projekt-oekonux-e-v" names="e.v. projekt\ oekonux\ e.v." refuri="http://www.oekonux.de/projekt/verein/"/><target ids="opentheory-project" names="opentheory\ project" refuri="http://www.opentheory.org/"/><target ids="individual-network-berlin" names="individual\ network\ berlin" refuri="http://www.in-berlin.de/"/><target ids="qbullets" names="qbullets" refuri="http://www.matterform.com/qbullets/"/><target ids="mhonarc" names="mhonarc" refuri="http://www.mhonarc.org/"/><target ids="oekonux-links" names="oekonux\ links" refuri="http://www.oekonux.de/projekt/links.html"/><target ids="webalizer" names="webalizer" refuri="http://www.webalizer.org/"/><target ids="mail2clf" names="mail2clf" refuri="http://www.merten-home.de/FreeSoftware/mail2clf/"/><target ids="mail2chart" names="mail2chart" refuri="http://www.merten-home.de/FreeSoftware/mail2chart/"/><target ids="oekonux-opentheory-project" names="oekonux\ opentheory\ project" refuri="http://www.opentheory.org/oekonux/"/><target ids="gmane" names="gmane" refuri="http://gmane.org/"/><target ids="vd-server" names="vd\ server" refuri="http://www.vd-server.de/"/><target ids="moinmoin" names="moinmoin" refuri="http://moinmoin.wikiwikiweb.de/"/><comment xml:space="preserve">############################################################################</comment><comment xml:space="preserve">LocalWords: reStructuredText Premium page premium oekonux www org Hoster</comment><comment xml:space="preserve">LocalWords: konferenz conference second third gehosteten MagicPoint Upload</comment><comment xml:space="preserve">LocalWords: SDF make MHonArc Harvesting ToDo important JavaScript noframes</comment><comment xml:space="preserve">LocalWords: wget pox Privacy Policy site default html Sitemap FreeFind you</comment><comment xml:space="preserve">LocalWords: Perlfect clf Search webalizer mail mail chart Referrer co chat</comment><comment xml:space="preserve">LocalWords: forum Kalka Chris Croome Gmane DOT list en mbox Subversion cvs</comment><comment xml:space="preserve">LocalWords: StefanMn projekt helfer referenten gepollt Sympa SmartList rst</comment><comment xml:space="preserve">LocalWords: MailMan buug SpamAssassin Individual Network vLinux server IRC</comment><comment xml:space="preserve">LocalWords: Repository QBullets annotate hreflang OpenTheory Debian VD DNS</comment><comment xml:space="preserve">LocalWords: HolgerWeiss StefanMerten mitglieder erste zweite dritte RSS</comment><comment xml:space="preserve">LocalWords: MoinMoin</comment></section></section></section><section classes="system-messages"><title>Docutils System Messages</title><system_message backrefs="id37" ids="id36" level="3" line="52" source="original/Machinery.rst" type="ERROR"><paragraph>Unknown target name: &quot;holgerweiss&quot;.</paragraph></system_message><system_message backrefs="id39" ids="id38" level="3" line="52" source="original/Machinery.rst" type="ERROR"><paragraph>Unknown target name: &quot;stefanmerten&quot;.</paragraph></system_message><system_message backrefs="id41" ids="id40" level="3" line="100" source="original/Machinery.rst" type="ERROR"><paragraph>Unknown target name: &quot;stefanmerten&quot;.</paragraph></system_message><system_message backrefs="id43" ids="id42" level="3" line="104" source="original/Machinery.rst" type="ERROR"><paragraph>Unknown target name: &quot;stefanmerten&quot;.</paragraph></system_message><system_message backrefs="id45" ids="id44" level="3" line="104" source="original/Machinery.rst" type="ERROR"><paragraph>Unknown target name: &quot;stefanmerten&quot;.</paragraph></system_message><system_message backrefs="id47" ids="id46" level="3" line="195" source="original/Machinery.rst" type="ERROR"><paragraph>Unknown target name: &quot;page hits http://www.oekonux.de/projekt/statistik/website/&quot;.</paragraph></system_message><system_message backrefs="id49" ids="id48" level="3" line="213" source="original/Machinery.rst" type="ERROR"><paragraph>Unknown target name: &quot;stefanmerten&quot;.</paragraph></system_message><system_message backrefs="id51" ids="id50" level="3" line="225" source="original/Machinery.rst" type="ERROR"><paragraph>Unknown target name: &quot;stefanmerten&quot;.</paragraph></system_message><system_message backrefs="id53" ids="id52" level="3" line="304" source="original/Machinery.rst" type="ERROR"><paragraph>Unknown target name: &quot;stefanmerten&quot;.</paragraph></system_message><system_message backrefs="id55" ids="id54" level="3" line="362" source="original/Machinery.rst" type="ERROR"><paragraph>Unknown target name: &quot;stefanmerten&quot;.</paragraph></system_message><system_message backrefs="id57" ids="id56" level="3" line="389" source="original/Machinery.rst" type="ERROR"><paragraph>Unknown target name: &quot;stefanmerten&quot;.</paragraph></system_message></section></document> \ No newline at end of file
diff --git a/sandbox/xml2rst/tests/real/input/MediaWikiFAQ.xml b/sandbox/xml2rst/tests/real/input/MediaWikiFAQ.xml
new file mode 100644
index 000000000..5b258b21a
--- /dev/null
+++ b/sandbox/xml2rst/tests/real/input/MediaWikiFAQ.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by Docutils 0.8 -->
+<document source="original/MediaWikiFAQ.rst"><paragraph>#format rst</paragraph><section ids="faq-for-people-used-to-wikipedia-and-other-mediawiki-wikis" names="faq\ for\ people\ used\ to\ wikipedia\ and\ other\ mediawiki\ wikis"><title refid="id14">FAQ for people used to Wikipedia and other MediaWiki wikis</title><topic classes="contents" ids="contents" names="contents"><title>Contents</title><bullet_list><list_item><paragraph><reference ids="id14" refid="faq-for-people-used-to-wikipedia-and-other-mediawiki-wikis">FAQ for people used to Wikipedia and other MediaWiki wikis</reference></paragraph><bullet_list><list_item><paragraph><reference ids="id15" refid="introduction">Introduction</reference></paragraph></list_item><list_item><paragraph><reference ids="id16" refid="question-and-answers">Question and answers</reference></paragraph><bullet_list><list_item><paragraph><reference ids="id17" refid="of-all-users">Of all users</reference></paragraph><bullet_list><list_item><paragraph><reference ids="id18" refid="what-about-the-namespace-concept">What about the namespace concept?</reference></paragraph></list_item><list_item><paragraph><reference ids="id19" refid="what-about-the-users-namespace">What about the <literal>Users:</literal> namespace?</reference></paragraph></list_item><list_item><paragraph><reference ids="id20" refid="what-about-the-special-namespace">What about the <literal>Special:</literal> namespace?</reference></paragraph></list_item><list_item><paragraph><reference ids="id21" refid="what-about-the-talk-namespace">What about the <literal>Talk:</literal> namespace?</reference></paragraph></list_item></bullet_list></list_item><list_item><paragraph><reference ids="id22" refid="of-editors">Of editors</reference></paragraph><bullet_list><list_item><paragraph><reference ids="id23" refid="i-m-used-to-mediawiki-syntax-can-i-use-it-in-this-wiki">I'm used to MediaWiki syntax. Can I use it in this Wiki?</reference></paragraph></list_item><list_item><paragraph><reference ids="id24" refid="though-i-m-used-to-mediawiki-syntax-i-think-it-sucks-any-alternatives">Though I'm used to MediaWiki syntax I think it sucks. Any alternatives?</reference></paragraph></list_item><list_item><paragraph><reference ids="id25" refid="i-tried-to-create-a-new-page-and-ended-up-on-this-page-offering-templates-what-s-this">I tried to create a new page and ended up on this page offering templates. What's this?</reference></paragraph></list_item><list_item><paragraph><reference ids="id26" refid="page-templates-ok-what-about-the-mediawiki-templates">Page templates, ok. What about the MediaWiki templates?</reference></paragraph></list_item></bullet_list></list_item></bullet_list></list_item></bullet_list></list_item></bullet_list></topic><section ids="introduction" names="introduction"><title refid="id15">Introduction</title><paragraph>This page is a FAQ page for users used to Wikipedia and other
+<reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">MediaWiki</reference> <footnote_reference auto="1" ids="id1" refid="id2">1</footnote_reference> wikis. In Project Oekonux we chose <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">MoinMoin</reference> because
+at the time of the decision there was a slight technological
+superiority opening more options for its use. If you are interested in
+the reasons you may want to consult the <reference name="requirements" refuri="Oekonux/Project/Wiki/Requirements_">requirements</reference> which have been
+found then.</paragraph><footnote auto="1" backrefs="id1" ids="id2" names="1"><label>1</label><paragraph><reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">MediaWiki</reference> is the name of the software used for Wikipedia and
+other Wikis. The software running this Wiki is called
+<reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">MoinMoin</reference>.</paragraph></footnote><paragraph>However, <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">MediaWiki</reference> and it's use is widely known and thus Project
+Oekonux strives to make the use of this <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">MoinMoin</reference> wiki as easy to
+<reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">MediaWiki</reference> users as possible. This FAQ is one attempt to do so. If you
+are a <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">MediaWiki</reference> user and have questions not covered here feel free to
+contact <reference refuri="mailto:projekt@oekonux.de">projekt@oekonux.de</reference>.</paragraph><comment xml:space="preserve">############################################################################</comment><comment xml:space="preserve">############################################################################</comment></section><section ids="question-and-answers" names="question\ and\ answers"><title refid="id16">Question and answers</title><section ids="of-all-users" names="of\ all\ users"><title refid="id17">Of all users</title><section ids="what-about-the-namespace-concept" names="what\ about\ the\ namespace\ concept?"><title refid="id18">What about the namespace concept?</title><paragraph>Most of the namespaces in <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">MediaWiki</reference> are nothing else than a
+structuring facility establishing structure on a top level.</paragraph><paragraph>In <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">MoinMoin</reference> there is no concept of namespaces in the sense of
+<reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">MediaWiki</reference>. However, there is the concept of <reference name="sub pages" refuri="HelpOnEditing/SubPages_">sub pages</reference> <footnote_reference auto="1" ids="id3" refid="id4">2</footnote_reference> which
+have names containing one or more slashes (<literal>/</literal>).</paragraph><footnote auto="1" backrefs="id3" ids="id4" names="2"><label>2</label><paragraph>There are also sub pages in <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">MediaWiki</reference> but they are rarely used
+in any area but the <literal>Users:</literal> namespace.</paragraph></footnote><paragraph>In <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">MoinMoin</reference> we map the concept of namespaces to the top level <reference name="sub pages" refuri="HelpOnEditing/SubPages_">sub
+pages</reference> of the wiki. So if you have a page named <literal>Oekonux:Project</literal>
+in <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">MediaWiki</reference> it would be named <literal>Oekonux/Project</literal> in <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">MoinMoin</reference>.</paragraph><paragraph>Please note that <reference name="sub pages" refuri="HelpOnEditing/SubPages_">sub pages</reference> are more flexible than namespaces
+because they allow for more than one level or semantic hierarchy.</paragraph></section><section ids="what-about-the-users-namespace" names="what\ about\ the\ users:\ namespace?"><title refid="id19">What about the <literal>Users:</literal> namespace?</title><paragraph>Unfortunately the <literal>Users:</literal> namespace as such can not be easily
+modeled into <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">MoinMoin</reference>. The homepages of users need to stay on the
+top level so the <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">MediaWiki</reference> page <literal>Users:JohnDoe</literal> is mapped to
+<literal>JohnDoe</literal> in <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">MoinMoin</reference>.</paragraph></section><section ids="what-about-the-special-namespace" names="what\ about\ the\ special:\ namespace?"><title refid="id20">What about the <literal>Special:</literal> namespace?</title><paragraph>The <literal>Special:</literal> namespace in <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">MediaWiki</reference> does not lead to normal pages
+but to pages which are generated dynamically by the software.</paragraph><paragraph>In <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">MoinMoin</reference> such pages (and a lot more) are modeled by <problematic ids="id12" refid="id11">macros_</problematic>. So
+what in <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">MediaWiki</reference> reads <literal>Special:RecentChanges</literal> in <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">MoinMoin</reference> is
+written <literal>[[RecentChanges]]</literal>.</paragraph></section><section ids="what-about-the-talk-namespace" names="what\ about\ the\ talk:\ namespace?"><title refid="id21">What about the <literal>Talk:</literal> namespace?</title><paragraph>Actually the <literal>Talk:</literal> namespace in <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">MediaWiki</reference> reachable by the
+<literal>Discussion</literal> tab is not a namespace in the sense of the other
+namespaces. Instead it is an add-on for pages in all namespaces.</paragraph><paragraph>In <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">MoinMoin</reference> this is modeled by <reference name="sub pages" refuri="HelpOnEditing/SubPages_">sub pages</reference>. However, instead of
+tagging the term <literal>Talk</literal> in the very front of the name of a page in
+<reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">MoinMoin</reference> this is added to the end. So for the <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">MediaWiki</reference> page name
+<literal>Oekonux_Talk:Project</literal> in <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">MoinMoin</reference> the name
+<literal>Oekonux/Project/Talk</literal> is used.</paragraph><paragraph>To foster similarity to <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">MediaWiki</reference> wikis most of the page templates
+for this wiki contain a link to a <literal>/Talk</literal> <reference name="sub page" refuri="HelpOnEditing/SubPages_">sub page</reference>.</paragraph><comment xml:space="preserve">############################################################################</comment></section></section><section ids="of-editors" names="of\ editors"><title refid="id22">Of editors</title><section ids="i-m-used-to-mediawiki-syntax-can-i-use-it-in-this-wiki" names="i'm\ used\ to\ mediawiki\ syntax.\ can\ i\ use\ it\ in\ this\ wiki?"><title>I'm used to <reference name="MediaWiki syntax" refuri="http://meta.wikimedia.org/wiki/Help:Editing#The_wiki_markup">MediaWiki syntax</reference>. Can I use it in this Wiki?</title><paragraph>By default <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">MoinMoin</reference> has a slightly <problematic ids="id8" refid="id7">`different syntax`_</problematic> then
+<reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">MediaWiki</reference>. However, <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">MoinMoin</reference> can support many languages if only a
+parser is available for it. There is a parser for <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">MediaWiki</reference> syntax
+which can be used for this Wiki. All you have to do is to put</paragraph><literal_block xml:space="preserve">#format media</literal_block><paragraph>in the very first line of your document. From that point on <reference name="MediaWiki syntax" refuri="http://meta.wikimedia.org/wiki/Help:Editing#The_wiki_markup">MediaWiki
+syntax</reference> is recognized.</paragraph><paragraph>Currently the parser does not support the full <reference name="MediaWiki syntax" refuri="http://meta.wikimedia.org/wiki/Help:Editing#The_wiki_markup">MediaWiki syntax</reference> but
+a considerable subset of it. For most pages this subset is completely
+sufficient. For an extensive list of supported and unsupported
+features please check the <reference name="documentation of the parser" refuri="http://www.merten-home.de/FreeSoftware/media4moin/manual.html">documentation of the parser</reference>.</paragraph></section><section ids="though-i-m-used-to-mediawiki-syntax-i-think-it-sucks-any-alternatives" names="though\ i'm\ used\ to\ mediawiki\ syntax\ i\ think\ it\ sucks.\ any\ alternatives?"><title>Though I'm used to <reference name="MediaWiki syntax" refuri="http://meta.wikimedia.org/wiki/Help:Editing#The_wiki_markup">MediaWiki syntax</reference> I think it sucks. Any alternatives?</title><paragraph>Because in principle <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">MoinMoin</reference> supports different syntaxes the general
+answer is: Yes, you can use other syntaxes if and when the parser
+plug-in for it exists and is installed. The default parser for
+<reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">MoinMoin</reference> parses the <problematic ids="id10" refid="id9">`MoinMoin syntax`_</problematic>.</paragraph><paragraph>In this Wiki by default we use a variant without automatic CamelCase
+links and without <problematic ids="id28" refid="id27">InterWiki_</problematic> links without special markup. If you want
+CamelCase and <problematic ids="id30" refid="id29">InterWiki_</problematic> links put</paragraph><literal_block xml:space="preserve">#format wiki</literal_block><paragraph>in the first line of your page. The MoinMoin wiki markup language has
+more options than the MediaWiki markup language but still is quite
+illogical.</paragraph><paragraph>Otherwise a very promising ASCII based markup is <reference name="reStructuredText" refuri="http://docutils.sourceforge.net/rst.html">reStructuredText</reference>. It
+is far more logical than any wiki markup language and it has a set of
+nice features. If you want to use it put</paragraph><literal_block xml:space="preserve">#format rst</literal_block><paragraph>in the first line of your page.</paragraph></section><section ids="i-tried-to-create-a-new-page-and-ended-up-on-this-page-offering-templates-what-s-this" names="i\ tried\ to\ create\ a\ new\ page\ and\ ended\ up\ on\ this\ page\ offering\ templates.\ what's\ this?"><title refid="id25">I tried to create a new page and ended up on this page offering templates. What's this?</title><paragraph>In <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">MoinMoin</reference> it is possible to have page templates. A page templates
+are an easy way to help people to conform to some style guide lines
+established for the given wiki. They are created by the maintainers of
+the wiki.</paragraph><paragraph>The name of a page template is build from the type of page the page
+template is for and the suffix <literal>Template</literal> (in English). So for
+instance a page template meant for talk pages is named
+<literal>TalkTemplate</literal>.</paragraph><paragraph>In a sense a page template bundles some general knowledge about the
+wiki ready to be used by the users of the wiki. Of course you can
+start a new page from scratch but usually it makes more sense to use
+an existing page template.</paragraph></section><section ids="page-templates-ok-what-about-the-mediawiki-templates" names="page\ templates,\ ok.\ what\ about\ the\ mediawiki\ templates?"><title>Page templates, ok. What about the <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">MediaWiki</reference> templates?</title><paragraph>In <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">MoinMoin</reference> the term &quot;template&quot; is used differently than in
+<reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">MediaWiki</reference>. In <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">MoinMoin</reference> a template is a <emphasis>page</emphasis> template <footnote_reference auto="1" ids="id5" refid="id6">3</footnote_reference> while in
+<reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">MediaWiki</reference> it is more like a function call in a programming language.</paragraph><footnote auto="1" backrefs="id5" ids="id6" names="3"><label>3</label><paragraph>The concept of page templates is probably not known in
+<reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">MediaWiki</reference>.</paragraph></footnote><paragraph>In general there are two ways to get the functionality of <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">MediaWiki</reference>
+templates in <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">MoinMoin</reference>. <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">MediaWiki</reference> templates which are used as
+shortcuts for links are mapped to <problematic ids="id32" refid="id31">InterWiki_</problematic> links. For instance a
+link to the posting containing the <reference name="requirements" refuri="Oekonux/Project/Wiki/Requirements_">requirements</reference> for this wiki in the
+archive of the project mailing list <literal>[pox]</literal> is named
+<literal>poxArchive:04957</literal> which expands to the rather long link
+<reference refuri="http://www.oekonux.de/projekt/liste/archive/msg04957.html">http://www.oekonux.de/projekt/liste/archive/msg04957.html</reference>. You
+probably agree that the former is easier to type :-) . Such a link can
+be used as any other link. In particular it can be used together with
+a display text. If your favorite link target is not yet supported by
+this wiki please contact <reference refuri="mailto:projekt@oekonux.de">projekt@oekonux.de</reference> about it.</paragraph><paragraph><reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">MediaWiki</reference> templates not building shortcuts for links generally can be
+mapped to <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">MoinMoin</reference> <problematic ids="id13" refid="id11">macros_</problematic>. If the functionality you need is not yet
+supported by this wiki please contact <reference refuri="mailto:projekt@oekonux.de">projekt@oekonux.de</reference> about it.</paragraph><comment xml:space="preserve">############################################################################</comment><comment xml:space="preserve">############################################################################</comment><target ids="mediawiki" names="mediawiki" refuri="http://wikipedia.sourceforge.net/"/><target ids="moinmoin" names="moinmoin" refuri="http://moinmoin.wikiwikiweb.de/"/><target ids="requirements" names="requirements" refuri="Oekonux/Project/Wiki/Requirements_"/><target ids="mediawiki-syntax" names="mediawiki\ syntax" refuri="http://meta.wikimedia.org/wiki/Help:Editing#The_wiki_markup"/><target ids="different-syntax" names="different\ syntax" refname="helponediting"/><target ids="moinmoin-syntax" names="moinmoin\ syntax" refname="helponediting"/><target ids="documentation-of-the-parser" names="documentation\ of\ the\ parser" refuri="http://www.merten-home.de/FreeSoftware/media4moin/manual.html"/><target refid="sub-page"/><target ids="sub-pages sub-page" names="sub\ pages sub\ page" refuri="HelpOnEditing/SubPages_"/><target ids="macros" names="macros" refname="helponmacros"/><target ids="restructuredtext" names="restructuredtext" refuri="http://docutils.sourceforge.net/rst.html"/><comment xml:space="preserve">LocalWords: rst Wikipedia MediaWiki MoinMoin homepages JohnDoe CamelCase</comment><comment xml:space="preserve">LocalWords: RecentChanges InterWiki reStructuredText TalkTemplate SubPages</comment><comment xml:space="preserve">LocalWords: poxArchive HelpOnEditing HelpOnMacros</comment></section></section></section></section><section classes="system-messages"><title>Docutils System Messages</title><system_message backrefs="id8" ids="id7" level="3" line="197" source="original/MediaWikiFAQ.rst" type="ERROR"><paragraph>Indirect hyperlink target &quot;different syntax&quot; (id=&quot;different-syntax&quot;) refers to target &quot;helponediting&quot;, which does not exist.</paragraph></system_message><system_message backrefs="id10" ids="id9" level="3" line="198" source="original/MediaWikiFAQ.rst" type="ERROR"><paragraph>Indirect hyperlink target &quot;moinmoin syntax&quot; (id=&quot;moinmoin-syntax&quot;) refers to target &quot;helponediting&quot;, which does not exist.</paragraph></system_message><system_message backrefs="id12 id13" ids="id11" level="3" line="205" source="original/MediaWikiFAQ.rst" type="ERROR"><paragraph>Indirect hyperlink target &quot;macros&quot; (id=&quot;macros&quot;) refers to target &quot;helponmacros&quot;, which does not exist.</paragraph></system_message><system_message backrefs="id28" ids="id27" level="3" line="123" source="original/MediaWikiFAQ.rst" type="ERROR"><paragraph>Unknown target name: &quot;interwiki&quot;.</paragraph></system_message><system_message backrefs="id30" ids="id29" level="3" line="123" source="original/MediaWikiFAQ.rst" type="ERROR"><paragraph>Unknown target name: &quot;interwiki&quot;.</paragraph></system_message><system_message backrefs="id32" ids="id31" level="3" line="169" source="original/MediaWikiFAQ.rst" type="ERROR"><paragraph>Unknown target name: &quot;interwiki&quot;.</paragraph></system_message></section></document> \ No newline at end of file
diff --git a/sandbox/xml2rst/tests/real/input/Technik.xml b/sandbox/xml2rst/tests/real/input/Technik.xml
new file mode 100644
index 000000000..bbc3bb78b
--- /dev/null
+++ b/sandbox/xml2rst/tests/real/input/Technik.xml
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by Docutils 0.8 -->
+<document source="original/Technik.rst"><note><paragraph>Sorry, wegen kaputter Formatierung, aber ich habe keine
+Ahnung, wie das geht und es gibt leider keine Hilfe. Ich verwende
+einfach mal <reference name="reStructuredText" refuri="http://docutils.sourceforge.net/rst.html">reStructuredText</reference>.</paragraph></note><target ids="restructuredtext" names="restructuredtext" refuri="http://docutils.sourceforge.net/rst.html"/><paragraph>Diese Seite beschäftigt sich mit der Technik, die die
+<reference name="Oekonux-Community" refuri="http://www.oekonux.de/">Oekonux-Community</reference> nutzt. Ausgelöst wurde dies durch einen <reference name="Thread zum Thema" refuri="http://www.oekonux.de/projekt/liste/archive/msg03333.html">Thread
+zum Thema</reference><target ids="thread-zum-thema" names="thread\ zum\ thema" refuri="http://www.oekonux.de/projekt/liste/archive/msg03333.html"/> auf der
+<reference name="Projekt-Liste" refuri="http://www.oekonux.de/projekt/liste/">Projekt-Liste</reference>, die sich um die Organisation des Projekts kümmert.</paragraph><target ids="oekonux-community" names="oekonux-community" refuri="http://www.oekonux.de/"/><target ids="projekt-liste" names="projekt-liste" refuri="http://www.oekonux.de/projekt/liste/"/><section ids="uberblick" names="überblick"><title>Überblick</title><paragraph>Die Oekonux-Community nutzt derzeit die folgenden technischen
+Einrichtungen:</paragraph><bullet_list bullet="*"><list_item><paragraph><reference name="Mailing-Listen" refid="mailing-listen">Mailing-Listen</reference></paragraph></list_item><list_item><paragraph><reference name="Web-Sites" refid="web-sites">Web-Sites</reference></paragraph></list_item><list_item><paragraph><reference name="OpenTheory" refid="opentheory">OpenTheory</reference></paragraph></list_item><list_item><paragraph><reference name="News-Groups" refid="news-groups">News-Groups</reference></paragraph></list_item><list_item><paragraph><reference name="Wiki" refid="wiki">Wiki</reference></paragraph></list_item></bullet_list><paragraph>Weitere Einrichtungen wie IRC werden nach meiner Kenntnis derzeit
+nicht genutzt.</paragraph></section><section ids="mailing-listen" names="mailing-listen"><title>Mailing-Listen</title><section ids="existierende-listen" names="existierende\ listen"><title>Existierende Listen</title><paragraph>Folgende Listen existieren:</paragraph><bullet_list bullet="*"><list_item><paragraph><literal>liste AT oekonux DOT de</literal></paragraph></list_item><list_item><paragraph><literal>list-en AT oekonux DOT org</literal></paragraph></list_item><list_item><paragraph><literal>projekt AT oekonux DOT de</literal></paragraph></list_item><list_item><paragraph><literal>chat AT oekonux DOT de</literal></paragraph></list_item><list_item><paragraph><literal>mitglieder AT oekonux DOT de</literal></paragraph></list_item><list_item><paragraph><literal>helfer AT oekonux-konferenz DOT de</literal></paragraph></list_item><list_item><paragraph><literal>referenten AT oekonux-konferenz DOT de</literal></paragraph></list_item></bullet_list><paragraph>Für alle Mailing-Listen existieren <reference name="Archive" refid="archive">Archive</reference>, die auf der Web-Site
+stehen, zu deren Domain sie gehören.</paragraph></section><section dupnames="hosting" ids="hosting"><title>Hosting</title><paragraph>Außer <literal>liste AT oekonux DOT de</literal> werden alle Mailing-Listen bei
+StefanMn gehostet. Für diese sind POP-Boxen eingerichtet, die
+regelmäßig gepollt werden. Diese Mailing-Listen werden von einem
+<reference name="Majordomo" refuri="http://www.greatcircle.com/majordomo/">Majordomo</reference> betreut.</paragraph><target ids="majordomo" names="majordomo" refuri="http://www.greatcircle.com/majordomo/"/><important><paragraph>Da <reference name="Majordomo" refuri="http://www.greatcircle.com/majordomo/">Majordomo</reference> keine völlig Freie Software ist, gab es
+den Vorschlag eine Alternative zu benutzen. Vorschläge waren Sympa
+oder SmartList. Mit einer ganz neuen Lösung würde vermutlich
+<reference name="MailMan" refuri="http://www.list.org/">MailMan</reference> zum Einsatz kommen.</paragraph></important><paragraph><literal>liste AT oekonux DOT de</literal> wird aus historischen Gründen von <reference name="buug" refuri="http://post.openoffice.de/">buug</reference>
+gehostet. Dort kommt seit einiger Zeit <reference name="MailMan" refuri="http://www.list.org/">MailMan</reference> als
+Verwaltungs-Software zum Einsatz.</paragraph><target ids="buug" names="buug" refuri="http://post.openoffice.de/"/><target ids="mailman" names="mailman" refuri="http://www.list.org/"/><important><paragraph>In einer integrierten Lösung mit einem dedizierten
+Server könnten und sollten auch die Mailing-Listen auf diesem
+Server gehostet werden.</paragraph></important></section><section dupnames="features" ids="features"><title>Features</title><section ids="spam-schutz" names="spam-schutz"><title>Spam-Schutz</title><paragraph>Mail an sämtliche Mailing-Listen wird über einen <reference name="SpamAssassin" refuri="http://www.spamassassin.org/">SpamAssassin</reference>
+geleitet. Dies ist absolut unverzichtbar, da die Adressen der
+Mailing-Listen mittlerweile sehr weit verbreitet sind. Die
+SpamAssassin-Installation benötigt gelegentliche Wartung um gegen die
+neuesten Ideen der SpammerInnen gewappnet zu sein.</paragraph><target ids="spamassassin" names="spamassassin" refuri="http://www.spamassassin.org/"/></section></section></section><section ids="web-sites" names="web-sites"><title>Web-Sites</title><section dupnames="hosting" ids="id1"><title>Hosting</title><section ids="provider" names="provider"><title>Provider</title><paragraph>Im Moment bezahlt der <reference name="e.V." refuri="http://www.oekonux.de/projekt/verein/">e.V.</reference> bei <reference name="1&amp;1" refuri="http://hosting.1und1.de/">1&amp;1</reference> ein <reference name="Premium-Paket" refuri="http://hosting.1und1.de/xml/static?__page=premium">Premium-Paket</reference><target ids="premium-paket" names="premium-paket" refuri="http://hosting.1und1.de/xml/static?__page=premium"/>.</paragraph><target ids="e-v" names="e.v." refuri="http://www.oekonux.de/projekt/verein/"/><target ids="id2" names="1&amp;1" refuri="http://hosting.1und1.de/"/><paragraph>Die Möglichkeiten dieses Pakets treffen nicht ganz die Bedürfnisse.
+Einerseits beinhaltet es ungenutzte Features (z.B. Datenbank,
+<reference name="in2site" refuri="http://www.in2site.de/">in2site</reference>), andererseits fehlen erwünschte Features (Möglichkeit für
+lokale Suchmaschine, die auf dem Server den Index erstellt).</paragraph><important><paragraph>Es gibt ein <reference name="Angebot" refuri="http://www.oekonux.de/projekt/liste/archive/msg03128.html">Angebot</reference><target ids="angebot" names="angebot" refuri="http://www.oekonux.de/projekt/liste/archive/msg03128.html"/> von
+<reference name="Hostsharing" refuri="http://www.hostsharing.net/">Hostsharing</reference> e.G., die das Hosting übernehmen könnten.</paragraph></important><target ids="hostsharing" names="hostsharing" refuri="http://www.hostsharing.net/"/><paragraph>Die Audio-Dateien, die vor allem bei den Konferenzen aufgezeichnet
+worden sind, liegen wegen ihrer Größe auf anderen Servern.</paragraph><paragraph>Mit Ressourcen aus dem <reference name="OpenTheory-Projekt" refuri="http://www.opentheory.org/">OpenTheory-Projekt</reference> wird im Vorfeld der
+Konferenz das Programm der Konferenz online erstellt und präsentiert.</paragraph><target ids="opentheory-projekt" names="opentheory-projekt" refuri="http://www.opentheory.org/"/><important><paragraph>Es gibt Überlegungen, alle von der Oekonux-Community
+genutzten Ressourcen zu zentralisieren. Dazu würde vermutlich ein
+dedizierter Server benötigt.</paragraph></important><important><paragraph>Als weiterer Hoster käme das <reference name="Individual Network Berlin" refuri="http://www.in-berlin.de/">Individual Network
+Berlin</reference> in Frage.</paragraph><paragraph><reference name="vLinux.de" refuri="http://vlinux.de/">vLinux.de</reference> oder <reference name="server4you" refuri="http://www.server4you.de/de/v/">server4you</reference> könnten weitere, vor allem preisgünstige
+Alternative sein.</paragraph></important><target ids="individual-network-berlin" names="individual\ network\ berlin" refuri="http://www.in-berlin.de/"/><target ids="vlinux-de" names="vlinux.de" refuri="http://vlinux.de/"/><target ids="server4you" names="server4you" refuri="http://www.server4you.de/de/v/"/><important><paragraph>Holger hat sich grundsätzlich bereit erklärt, einen
+dedizierten Server zu betreuen.</paragraph></important></section><section ids="domains" names="domains"><title>Domains</title><paragraph>Die fünf Domains, die auf den Verein laufen, sind:</paragraph><bullet_list bullet="*"><list_item><paragraph><literal>oekonux.de</literal></paragraph><paragraph>Unter <literal>www</literal> liegt hier die deutsche Hauptseite des Projekts.</paragraph></list_item><list_item><paragraph><literal>oekonux.org</literal></paragraph><paragraph>Unter <literal>www</literal> liegt hier die internationale Hauptseite des Projekts.</paragraph></list_item><list_item><paragraph><literal>oekonux-konferenz.de</literal></paragraph><paragraph>Die deutsche Domain für alles rund um die Oekonux-Konferenzen.</paragraph><bullet_list bullet="-"><list_item><paragraph><literal>www</literal></paragraph><paragraph>Einstiegsseite für die jeweils aktuelle Konferenz.</paragraph></list_item><list_item><paragraph><literal>erste</literal>, <literal>zweite</literal>, <literal>dritte</literal></paragraph><paragraph>Einstiegsseiten für die jeweilige spezifische Konferenz.</paragraph></list_item></bullet_list></list_item><list_item><paragraph><literal>oekonux-konferenz.org</literal>, <literal>oekonux-conference.org</literal></paragraph><paragraph>Die internationalen Domains für alles rund um die
+Oekonux-Konferenzen.</paragraph><bullet_list bullet="-"><list_item><paragraph><literal>www</literal></paragraph><paragraph>Einstiegsseite für die jeweils aktuelle Konferenz.</paragraph></list_item><list_item><paragraph><literal>second</literal>, <literal>third</literal></paragraph><paragraph>Einstiegsseiten für die jeweilige spezifische Konferenz.</paragraph></list_item></bullet_list><important><paragraph><literal>oekonux-konferenz.org</literal> kann wahrscheinlich
+mittelfristig entfallen.</paragraph></important></list_item></bullet_list><paragraph>Weitere Domains waren vor der Übernahme durch den <reference name="e.V." refuri="http://www.oekonux.de/projekt/verein/">e.V.</reference> vorhanden,
+diese sind aber zurück gegeben worden.</paragraph></section></section><section dupnames="features" ids="id3"><title>Features</title><section ids="web-space" names="web-space"><title>Web-Space</title><paragraph>Derzeit sind in allen vier Web-Präsenzen insgesamt knapp 200MB von ca.
+17000 Files belegt. Die extern gehosteten Audio-Files umfassen ca.
+1GB.</paragraph></section><section ids="traffic" names="traffic"><title>Traffic</title><paragraph>Derzeit generieren die Web-Sites ca. 2GB Traffic pro Monat.</paragraph></section><section ids="formulare" names="formulare"><title>Formulare</title><paragraph>Die von <reference name="1&amp;1" refuri="http://hosting.1und1.de/">1&amp;1</reference> angebotenen so genannten Web-Elements werden im Vorfeld
+einer Konferenz für Anmeldungsformulare verwendet.</paragraph><paragraph>Weitere Formulare werden nicht genutzt.</paragraph></section><section ids="mail-adressen" names="mail-adressen"><title>Mail-Adressen</title><paragraph>Derzeit verteilen sich rund 80 Mail-Adressen auf die verschiedenen
+<reference name="Domains" refid="domains">Domains</reference>. Nur ein Teil von ihnen ist als POP-Box realisiert -
+insbesondere die Adressen, die für die <reference name="Mailing-Listen" refid="mailing-listen">Mailing-Listen</reference> verwendet
+werden. Weitere Mail-Adressen sind als Alias eingerichtet.</paragraph><paragraph>Neben den funktionsbezogenen Mail-Adressen gibt es derzeit lediglich
+eine persönliche Mail-Adresse in den <reference name="Domains" refid="domains">Domains</reference>. Grundsätzlich können
+weitere private Mail-Adressen vergeben werden. Vor langer Zeit wurde
+beschlossen, dass der Nachname der Person in der Mail-Adresse
+enthalten sein muss.</paragraph></section><section ids="generierung-und-upload" names="generierung\ und\ upload"><title>Generierung und Upload</title><paragraph>Derzeit werden alle Inhalte von StefanMn u.a. aus SDF-Quellen auf
+seinem privaten Rechner generiert und per FTP auf die Web-Sites
+geladen. Das Ganze ist in eine <literal>make</literal>-basierte Automatisierung
+eingebettet.</paragraph><important><paragraph>Die Quellen für die statischen Anteile der jetzigen
+Lösung sind vor Ewigkeiten mal in ein CVS-Repository gestellt
+worden. Allerdings hat sich niemensch jemals dafür interessiert -
+geschweige denn Hilfe angeboten.</paragraph><paragraph>Es wäre aber grundsätzlich gut, wenn eine neue Lösung für die
+Web-Sites mittels CVS (oder Subversion) zugänglich wäre. Damit
+könnten viele Leute an der Site arbeiten.</paragraph><paragraph>StefanMn hätte gerne, dass die Quellen der Web-Seiten mittels einem
+ASCII-nahen Format - möglichst <reference name="reStructuredText" refuri="http://docutils.sourceforge.net/rst.html">reStructuredText</reference> - erstellt werden
+könnten. Er würde (auch) dafür einen Konverter vom jetzigen Format
+zur Verfügung stellen.</paragraph></important></section><section ids="statische-seiten" names="statische\ seiten"><title>Statische Seiten</title><paragraph>Praktisch sämtliche Seiten in den Oekonux-Domains sind statische
+HTML-Seiten ohne jegliches JavaScript oder andere aktive Elemente. Sie
+sind damit</paragraph><bullet_list bullet="*"><list_item><paragraph>für <emphasis>alle</emphasis> Browser zugänglich</paragraph></list_item><list_item><paragraph>wird für alle Zeiten lesbar sein</paragraph></list_item><list_item><paragraph>kein Sicherheitsproblem für den Server</paragraph></list_item><list_item><paragraph>stabile URLs ohne Variablen</paragraph><paragraph>Viele Suchmaschinen ignorieren Links mit <literal>?</literal>.</paragraph></list_item><list_item><paragraph>bedürfen keinerlei Wartung</paragraph></list_item><list_item><paragraph>freundlich für externe Suchmaschinen</paragraph><paragraph>Zwar werden für die Navigation Frames eingesetzt, es gibt jedoch
+immer einen <literal>&lt;noframes&gt;</literal>-Bereich, der die entsprechenden Links
+enthält.</paragraph></list_item><list_item><paragraph>mit Tools wie z.B. <literal>wget</literal> komplett und problemlos zu saugen</paragraph></list_item><list_item><paragraph>funktioniert mit jedem Web-Hosting-Angebot</paragraph></list_item></bullet_list></section><section ids="privacy" names="privacy"><title>Privacy</title><paragraph><reference name="1&amp;1" refuri="http://hosting.1und1.de/">1&amp;1</reference> stellt praktisch in allen Tarifen die Log-Files des Web-Servers
+zur Verfügung. Darin sind die Zugriffe auf die einzelnen Domains
+unterschieden. Diese Logs werden ausgewertet und ohne die zugreifenden
+IP-Adressen und weitere, tendenziell Privacy-gefährdende Details auf
+den Web-Seiten zur Verfügung gestellt.</paragraph><important><paragraph>Wie StefanMn in einer <reference name="Mail an [pox]" refuri="http://www.oekonux.de/projekt/liste/archive/msg02683.html">Mail an [pox]</reference><target ids="mail-an-pox" names="mail\ an\ [pox]" refuri="http://www.oekonux.de/projekt/liste/archive/msg02683.html"/>
+vorgeschlagen hat, sollte die Privacy-Policy auf den Web-Sites
+veröffentlicht sein.</paragraph><paragraph>Insbesondere sollte klar gemacht werden, dass <reference name="in2site" refuri="http://www.in2site.de/">in2site</reference> <strong>nicht</strong>
+verwendet wird.</paragraph></important><target ids="in2site" names="in2site" refuri="http://www.in2site.de/"/></section><section ids="navigation" names="navigation"><title>Navigation</title><paragraph>Die Navigation wird mit Hilfe von Frames realisiert. Ein schmaler
+Frame auf der linken Seite ist einem File-Browser nachempfunden. Er
+zeigt ständig die aktuelle Position innerhalb der Site an. Der rechte
+Frame enthält den angewählten Inhalt. Wird in der Navigation ein
+Verzeichnis angewählt, so erscheint im Inhalts-Frame stets
+<literal>default.html</literal>.</paragraph><paragraph>Außerdem hat jede Third-Level-Domain eine eigene Sitemap.
+Links auf allen Seiten werden von <reference name="QBullets" refuri="http://www.matterform.com/qbullets/">QBullets</reference> gefolgt, die grob den Typ
+des Links angeben.</paragraph><target ids="qbullets" names="qbullets" refuri="http://www.matterform.com/qbullets/"/></section><section ids="lokale-suchmaschine" names="lokale\ suchmaschine"><title>Lokale Suchmaschine</title><paragraph>Mittels <reference name="FreeFind" refuri="http://www.freefind.com/">FreeFind</reference> wurde auf <literal>www.oekonux.de</literal> eine lokale,
+kostenlose, durch Werbung finanzierte Suchmaschine eingerichtet.</paragraph><target ids="freefind" names="freefind" refuri="http://www.freefind.com/"/><important><paragraph>Nachdem das Größenlimit für kostenlosen Service im
+2003-05 bereits zum zweiten Mal überschritten wurde, indexiert
+diese Suchmaschine seit einiger Zeit nicht mehr die gesamte Site.</paragraph><paragraph>Eine lokale Suchmaschine wie <reference name="Perlfect Search" refuri="http://perlfect.com/freescripts/search/">Perlfect Search</reference> scheitert daran,
+dass im derzeitigen Tarif einem Prozess zu wenig Rechenzeit zur
+Verfügung steht um die Site zu indexieren.</paragraph><paragraph>Es besteht Handlungsbedarf.</paragraph></important><target ids="perlfect-search" names="perlfect\ search" refuri="http://perlfect.com/freescripts/search/"/></section><section ids="rss-feed" names="rss-feed"><title>RSS-Feed</title><important><paragraph>Es wäre nett, einen RSS-Feed auf einem eigenen Server
+zu haben.</paragraph></important></section><section ids="datenbanken" names="datenbanken"><title>Datenbanken</title><important><paragraph>Derzeit werden Datenbanken nicht genutzt, aber es wäre
+sinnvoll, diese Option bei einer neuen Lösung zu haben.
+(vorzugsweise mySGL).</paragraph></important></section><section ids="apache" names="apache"><title>Apache</title><important><paragraph>Eine neue Hosting-Lösung sollte uns in möglichst großem
+Umfang Zugang zum Web-Server geben.</paragraph></important></section></section><section ids="inhalte" names="inhalte"><title>Inhalte</title><section ids="allgemeines" names="allgemeines"><title>Allgemeines</title><important><paragraph>Generell werden die Sites nicht sehr intensiv gepflegt.
+Dies ist nicht gut.</paragraph></important><important><paragraph>Insbesondere wäre es super, wenn die internationale
+Site mehr von den Inhalten der deutschen Site hätte. Besonders
+wünschenswert wäre es, wenn die <reference name="Oekonux-Links" refuri="http://www.oekonux.de/projekt/links.html">Oekonux-Links</reference> auf Englisch
+verfügbar wären.</paragraph></important></section><section ids="archive" names="archive"><title>Archive</title><paragraph>Sämtliche <reference name="Mailing-Listen" refid="mailing-listen">Mailing-Listen</reference> des Projekts werden auf den Web-Sites
+archiviert. Die Mails werden bei Eingang bei StefanMn mittels <reference name="MHonArc" refuri="http://www.mhonarc.org/">MHonArc</reference>
+in HTML konvertiert und automatisch hochgeladen.</paragraph><target ids="mhonarc" names="mhonarc" refuri="http://www.mhonarc.org/"/><paragraph>Die HTML-Seiten für die Mails werden noch gefiltert. Momentan werden</paragraph><bullet_list bullet="*"><list_item><paragraph>Kommentare von <reference name="MHonArc" refuri="http://www.mhonarc.org/">MHonArc</reference> entfernt</paragraph></list_item><list_item><paragraph>Telefon-Nummern</paragraph></list_item><list_item><paragraph>Einzelne Personen, die sich zu spät entschieden haben, dass sie
+nicht per Google bei Oekonux gefunden werden wollen</paragraph></list_item><list_item><paragraph>Alle URLs, die auf Mail-Adressen verweisen</paragraph></list_item><list_item><paragraph>Mail-Adressen werden unkenntlich gemacht</paragraph></list_item></bullet_list><important><paragraph>Weiter werden ASCII-Äquivalente der Archive in Paketen
+zu 40 Stück auf die Web-Site gestellt. Dieses Feature ist obsolet.</paragraph></important><important><paragraph>Es besteht der Wunsch, die Archive auch im mbox-Format
+auf die <reference name="Web-Sites" refid="web-sites">Web-Sites</reference> zu bringen. Hier muss noch überlegt werden,
+was gegen Mail-Adressen-Harvesting getan werden kann.</paragraph></important><paragraph>Das Löschen aus den Archiven ist ebenfalls weit gehend automatisiert.
+Es erfordert aber einen expliziten Aufruf, der die Nummer der
+entsprechenden Mail nennt.</paragraph><important><paragraph>Momentan wird die gelöschte Mail nur aus den Indexen
+entfernt, sie wird aber <emphasis>nicht</emphasis> vom Server gelöscht. Dadurch ist
+sie zwar nicht mehr über Indexe oder benachbarte Mails verlinkt,
+bleibt aber grundsätzlich zugreifbar. Das muss geändert werden.</paragraph></important></section><section ids="texte" names="texte"><title>Texte</title><paragraph>Verschiedene Texte des Projekts sind auf den Web-Sites verfügbar.</paragraph><paragraph>Darunter befindet sich eine Einführung, deren Quellen auch für
+MagicPoint vorliegen</paragraph></section><section ids="link-seite" names="link-seite"><title>Link-Seite</title><paragraph>Eine wichtige inhaltliche Ressource der Oekonux-Community sind die
+<reference name="Oekonux-Links" refuri="http://www.oekonux.de/projekt/links.html">Oekonux-Links</reference>, in die interessante Links mit einem kurzen Kommentar
+aufgenommen werden. Die Seite ist strukturiert.</paragraph><target ids="oekonux-links" names="oekonux-links" refuri="http://www.oekonux.de/projekt/links.html"/><important><paragraph>Es wäre sehr gut, wenn jeder der <reference name="Oekonux-Links" refuri="http://www.oekonux.de/projekt/links.html">Oekonux-Links</reference> das
+Datum bekäme, zu dem er erstellt wurde. Mittlerweile hätte dies
+einen gewissen dokumentarischen Wert (&quot;Aha, damals war das also von
+Bedeutung&quot;).</paragraph><paragraph>Dies wäre mittels <literal>cvs annotate</literal> grundsätzlich auch für schon
+vorhandene Links machbar.</paragraph></important><important><paragraph>Es wäre gut, wenn die Sprache der Site angegeben wäre,
+die durch den Link referenziert wird. Dies ist mittels des
+HTML-Attributs <literal>hreflang</literal> machbar.</paragraph></important></section><section ids="statistiken" names="statistiken"><title>Statistiken</title><paragraph>Statistiken sowohl über die Nutzung der <reference name="Mailing-Listen" refid="mailing-listen">Mailing-Listen</reference> als auch
+über die Nutzung der <reference name="Web-Sites" refid="web-sites">Web-Sites</reference> werden auf den <reference name="Web-Sites" refid="web-sites">Web-Sites</reference> zur
+Verfügung gestellt. Alle Statistiken werden mit Freien Tools
+(<reference name="webalizer" refuri="http://www.webalizer.org/">webalizer</reference>, <reference name="mail2clf" refuri="http://www.merten-home.de/FreeSoftware/mail2clf/">mail2clf</reference>, <reference name="mail2chart" refuri="http://www.merten-home.de/FreeSoftware/mail2chart/">mail2chart</reference>) mindestens einmal wöchentlich von
+StefanMn automatisch erstellt und hochgeladen. Die
+Web-Site-Statistiken werden einmal monatlich um Referrer-Links
+bereinigt, die von Porno-Sites stammen.</paragraph><target ids="webalizer" names="webalizer" refuri="http://www.webalizer.org/"/><target ids="mail2clf" names="mail2clf" refuri="http://www.merten-home.de/FreeSoftware/mail2clf/"/><target ids="mail2chart" names="mail2chart" refuri="http://www.merten-home.de/FreeSoftware/mail2chart/"/></section></section></section><section ids="opentheory" names="opentheory"><title>OpenTheory</title><paragraph>Viele Texte aus und rund um das Oekonux-Projekt sind auch im
+<reference name="OpenTheory-Projekt" refuri="http://www.opentheory.org/">OpenTheory-Projekt</reference> verfügbar. Einige sind im
+<reference name="Oekonux-OpenTheory-Projekt" refuri="http://www.opentheory.org/oekonux/">Oekonux-OpenTheory-Projekt</reference> zusammen gefasst.</paragraph><target ids="oekonux-opentheory-projekt" names="oekonux-opentheory-projekt" refuri="http://www.opentheory.org/oekonux/"/><paragraph>Die Texte sind sowohl inhaltlicher als auch organisatorischer Natur.
+Insbesondere für die Vorbereitung der Konferenzen wurden
+OpenTheory-Projekte angelegt.</paragraph></section><section ids="wiki" names="wiki"><title>Wiki</title><paragraph>Derzeit nutzt die Oekonux-Community zwei Wiki-Installationen:</paragraph><bullet_list bullet="*"><list_item><paragraph><literal>co-forum.de</literal></paragraph><paragraph>Wird technisch von Thomas Kalka betreut und auch gehosteten. Es
+handelt sich um ein allgemeines Wiki.</paragraph></list_item><list_item><paragraph><literal>de.wiki.oekonux.org.uk</literal></paragraph></list_item><list_item><paragraph><literal>en.wiki.oekonux.org.uk</literal></paragraph><paragraph>Diese beiden Wikis sind neueren Datums und explizit als Oekonux-Wiki
+gedacht. Sie werden technisch von Chris Croome betreut und auch
+gehostet.</paragraph><important><paragraph>Bislang besteht keine inhaltliche Betreuung.</paragraph></important></list_item></bullet_list></section><section ids="news-groups" names="news-groups"><title>News-Groups</title><paragraph>Seit Ende 2003 werden die Haupt-<reference name="Mailing-Listen" refid="mailing-listen">Mailing-Listen</reference> für die Diskussion
+auch mittels <reference name="Gmane" refuri="http://gmane.org/">Gmane</reference> als Usenet-Newsgroups angeboten:</paragraph><target ids="gmane" names="gmane" refuri="http://gmane.org/"/><bullet_list bullet="*"><list_item><paragraph><literal>news://news.gmane.org/gmane.politics.oekonux.german</literal></paragraph><paragraph>Spiegelt <literal>liste AT oekonux DOT de</literal>.</paragraph></list_item><list_item><paragraph><literal>news://news.gmane.org/gmane.politics.oekonux.english</literal></paragraph><paragraph>Spiegelt <literal>list-en AT oekonux DOT org</literal>.</paragraph></list_item></bullet_list><paragraph>Die News-Groups sind so eingestellt, das Antworten über die News nicht
+möglich sind.</paragraph><important><paragraph>Zum heutigen Zeitpunkt (2004-01-23) enthalten die
+News-Group-Archive nur die Mails, die geschrieben wurde, nachdem
+das News-Group-Feature hinzu genommen wurde. Nachdem das Problem
+der lesbaren Mail-Adressen gelöst wurde, ist es angestrebt, dass
+die gesamten Archive in das News-Group-Archiv <reference name="importiert" refuri="http://gmane.org/import.php">importiert</reference><target ids="importiert" names="importiert" refuri="http://gmane.org/import.php"/> werden.</paragraph></important><section dupnames="features" ids="id4"><title>Features</title><section ids="suchmaschine" names="suchmaschine"><title>Suchmaschine</title><paragraph><reference name="Gmane" refuri="http://gmane.org/">Gmane</reference> verfügt über eine Suchmaschine, die die entsprechenden
+News-Archive durchsuchen.</paragraph><important><paragraph>Zumindest übergangsweise wäre es gut, diese
+Suchmaschine direkt über die <reference name="Web-Sites" refid="web-sites">Web-Sites</reference> zu verlinken oder
+anderweitig zu integrieren.</paragraph></important><comment xml:space="preserve">LocalWords: reStructuredText Premium page premium oekonux www org Hoster</comment><comment xml:space="preserve">LocalWords: konferenz conference second third gehosteten MagicPoint Upload</comment><comment xml:space="preserve">LocalWords: SDF make MHonArc Harvesting ToDo important JavaScript noframes</comment><comment xml:space="preserve">LocalWords: wget pox Privacy Policy site default html Sitemap FreeFind you</comment><comment xml:space="preserve">LocalWords: Perlfect clf Search webalizer mail mail chart Referrer co chat</comment><comment xml:space="preserve">LocalWords: forum Kalka Chris Croome Gmane DOT list en mbox Subversion cvs</comment><comment xml:space="preserve">LocalWords: StefanMn projekt helfer referenten gepollt Sympa SmartList</comment><comment xml:space="preserve">LocalWords: MailMan buug SpamAssassin Individual Network vLinux server</comment><comment xml:space="preserve">LocalWords: Repository QBullets annotate hreflang</comment></section></section></section></document> \ No newline at end of file
diff --git a/sandbox/xml2rst/tests/real/input/WikiRequirements.xml b/sandbox/xml2rst/tests/real/input/WikiRequirements.xml
new file mode 100644
index 000000000..1980f9e52
--- /dev/null
+++ b/sandbox/xml2rst/tests/real/input/WikiRequirements.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by Docutils 0.8 -->
+<document source="original/WikiRequirements.rst"><paragraph>#FORMAT rst</paragraph><section ids="requirements-for-an-oekonux-wiki" names="requirements\ for\ an\ oekonux\ wiki"><title refid="id1">Requirements for an Oekonux Wiki</title><topic classes="contents" ids="contents" names="contents"><title>Contents</title><bullet_list><list_item><paragraph><reference ids="id1" refid="requirements-for-an-oekonux-wiki">Requirements for an Oekonux Wiki</reference></paragraph></list_item><list_item><paragraph><reference ids="id2" refid="introduction">Introduction</reference></paragraph></list_item><list_item><paragraph><reference ids="id3" refid="requirements">Requirements</reference></paragraph><bullet_list><list_item><paragraph><reference ids="id4" refid="non-functional-requirements">Non-functional requirements</reference></paragraph></list_item><list_item><paragraph><reference ids="id5" refid="functional-requirements">Functional requirements</reference></paragraph></list_item><list_item><paragraph><reference ids="id6" refid="requirements-for-policy-choices">Requirements for policy choices</reference></paragraph></list_item></bullet_list></list_item></bullet_list></topic><comment xml:space="preserve">############################################################################</comment><comment xml:space="preserve">############################################################################</comment></section><section ids="introduction" names="introduction"><title refid="id2">Introduction</title><paragraph>In <reference name="Project Oekonux" refuri="http://www.oekonux.de/">Project Oekonux</reference> there has been a long discussion about setting
+up a Wiki for the project. Also several attempts to establish a Wiki
+have been made. Most of these discussions took place on <reference name="the projekt mailing list" refuri="http://www.oekonux.de/projekt/liste/">the projekt mailing list</reference>
+which is the organizing body of the project.</paragraph><paragraph>One of the most important questions was which Wiki software to use.
+Finally a decision has been made based upon the requirements being
+raised.</paragraph><paragraph>The following lists all the requirements which have been found and
+lists the alternative solutions for them. One reason for this list is
+to document the design decisions / choices taken and their basis in
+the requirements. This way it is easier to</paragraph><bullet_list bullet="*"><list_item><paragraph>understand the decisions</paragraph></list_item><list_item><paragraph>change decisions while not forgetting about reasons for the original
+decision</paragraph></list_item></bullet_list><comment xml:space="preserve">############################################################################</comment><comment xml:space="preserve">############################################################################</comment></section><section ids="requirements" names="requirements"><title refid="id3">Requirements</title><section ids="non-functional-requirements" names="non-functional\ requirements"><title refid="id4">Non-functional requirements</title><enumerated_list enumtype="arabic" prefix="" suffix="."><list_item><paragraph>The software must have an active developer community and must be
+Free</paragraph><field_list><field><field_name>Rationale</field_name><field_body><paragraph>Only an active developer community of a Free Software
+project guarantees for a constant development.</paragraph></field_body></field></field_list><paragraph>Discussion came down to two candidates which met this requirement:
+<reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">MediaWiki</reference> and <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">MoinMoin</reference>. The following requirements list
+alternative solutions only for these two Wiki implementations.</paragraph></list_item><list_item><paragraph>The software must be easy to use for people used to Wikipedia</paragraph><field_list><field><field_name>Rationale</field_name><field_body><paragraph>Because of the overwhelming success of Wikipedia many
+people are used to the way how Wikipedia is operated.</paragraph></field_body></field><field><field_name>MediaWiki</field_name><field_body><paragraph>Given by definition.</paragraph></field_body></field><field><field_name>MoinMoin</field_name><field_body><paragraph>The typical use cases need to be identified and a
+special help page must be created for these users.</paragraph></field_body></field></field_list></list_item></enumerated_list><comment xml:space="preserve">############################################################################</comment></section><section ids="functional-requirements" names="functional\ requirements"><title refid="id5">Functional requirements</title><enumerated_list enumtype="arabic" prefix="" suffix="."><list_item><paragraph>Email notification must be possible sending diffs and other changes</paragraph><field_list><field><field_name>Rationale</field_name><field_body><paragraph>Email notification is a basic requirement for any
+offline processing.</paragraph></field_body></field><field><field_name>MediaWiki</field_name><field_body><paragraph>Rumor has it that there is a plug-in for email
+notification but nobody saw it yet (2005-03-26).</paragraph></field_body></field><field><field_name>MoinMoin</field_name><field_body><paragraph>Supports email notification as diffs for arbitrary pages
+and page groups (regular expression). Only notifies on moves and
+deletion of pages.</paragraph></field_body></field></field_list></list_item><list_item><paragraph>It must be possible to limit changeability of a page (for instance
+for user's pages)</paragraph><field_list><field><field_name>Rationale</field_name><field_body><paragraph>Some pages are private pages or should not be changes
+for other reasons.</paragraph></field_body></field><field><field_name>MediaWiki</field_name><field_body><paragraph>Don't know whether this can be enforced technically.</paragraph></field_body></field><field><field_name>MoinMoin</field_name><field_body><paragraph>Implements access control lists (ACL) allowing for
+arbitrary rights.</paragraph></field_body></field></field_list></list_item><list_item><paragraph>Categories must be possible</paragraph><field_list><field><field_name>Rationale</field_name><field_body><paragraph>With categories can form arbitrary non-hierarchical
+structures</paragraph></field_body></field><field><field_name>MediaWiki</field_name><field_body><paragraph>Available.</paragraph></field_body></field><field><field_name>MoinMoin</field_name><field_body><paragraph>Available.</paragraph></field_body></field></field_list></list_item><list_item><paragraph>Navigation panels must be available</paragraph><field_list><field><field_name>Rationale</field_name><field_body><paragraph>Useful to create overviews.</paragraph></field_body></field><field><field_name>MediaWiki</field_name><field_body><paragraph>Available.</paragraph></field_body></field><field><field_name>MoinMoin</field_name><field_body><paragraph>Available as <literal>Navigation</literal> macro for hierarchical
+structures and as <literal>PageList</literal> macro for structures based logical
+expressions on regular expressions over page names.</paragraph></field_body></field></field_list></list_item><list_item><paragraph>A version history must be available</paragraph><field_list><field><field_name>Rationale</field_name><field_body><paragraph>Needed to get an overview of the change history of a
+page.</paragraph></field_body></field><field><field_name>MediaWiki</field_name><field_body><paragraph>Available.</paragraph></field_body></field><field><field_name>MoinMoin</field_name><field_body><paragraph>Available.</paragraph></field_body></field></field_list></list_item><list_item><paragraph>List of changes for a given user must be available</paragraph><field_list><field><field_name>Rationale</field_name><field_body><paragraph>Nice to have.</paragraph></field_body></field><field><field_name>MediaWiki</field_name><field_body><paragraph>Available.</paragraph></field_body></field><field><field_name>MoinMoin</field_name><field_body><paragraph>Not available.</paragraph></field_body></field></field_list></list_item><list_item><paragraph>A watch list must be possible reporting about the latest changes
+for a given set of pages</paragraph><field_list><field><field_name>Rationale</field_name><field_body><paragraph>Nice to have.</paragraph></field_body></field><field><field_name>MediaWiki</field_name><field_body><paragraph>Available.</paragraph></field_body></field><field><field_name>MoinMoin</field_name><field_body><paragraph>Can be simulated by email notification.</paragraph></field_body></field></field_list></list_item><list_item><paragraph>Automatic links by using CamelCase (aka WikiWords) must not be the
+default</paragraph><field_list><field><field_name>Rationale</field_name><field_body><paragraph>CamelCase makes sense only in certain language. In
+particular German is a language where automatic CamelCase links
+are not too useful.</paragraph></field_body></field><field><field_name>MediaWiki</field_name><field_body><paragraph>CamelCase words never create automatic links.</paragraph></field_body></field><field><field_name>MoinMoin</field_name><field_body><paragraph>The <reference name="NoCamelCase" refuri="http://moinmoin.wikiwikiweb.de/ParserMarket/NoCamelCase">NoCamelCase</reference> plug-in makes this the default.</paragraph></field_body></field></field_list></list_item><list_item><paragraph>Support for other than the standard Wiki syntaxes like
+<reference name="reStructuredText" refuri="http://docutils.sourceforge.net/rst.html">reStructuredText</reference> must be available</paragraph><field_list><field><field_name>Rationale</field_name><field_body><paragraph>All Wiki languages suck so support for more sane
+syntaxes is a very useful thing. In particular support for
+<reference name="reStructuredText" refuri="http://docutils.sourceforge.net/rst.html">reStructuredText</reference> being a powerful language and a good candidate
+for a standard ASCII based markup language.</paragraph></field_body></field><field><field_name>MediaWiki</field_name><field_body><paragraph>There is no support for any other syntax than the
+MediaWiki syntax.</paragraph></field_body></field><field><field_name>MoinMoin</field_name><field_body><paragraph>Offers several syntaxes by the concept of parsers. Among
+the available syntaxes are <reference name="reStructuredText" refuri="http://docutils.sourceforge.net/rst.html">reStructuredText</reference> and <reference name="LaTeX" refuri="http://www.latex-project.org/">LaTeX</reference>.</paragraph></field_body></field></field_list></list_item><list_item><paragraph>Arbitrary attachments must be possible</paragraph></list_item></enumerated_list><block_quote><field_list><field><field_name>Rationale</field_name><field_body><paragraph>Nice to have to attach arbitrary data to a page. In
+particular it makes possible to include material not marked up in
+the Wiki syntax.</paragraph></field_body></field><field><field_name>MediaWiki</field_name><field_body><paragraph>Unknown but probably available.</paragraph></field_body></field><field><field_name>MoinMoin</field_name><field_body><paragraph>Available.</paragraph></field_body></field></field_list></block_quote><enumerated_list enumtype="arabic" prefix="" start="11" suffix="."><list_item><paragraph>Shortcuts for links must be available</paragraph></list_item></enumerated_list><block_quote><field_list><field><field_name>Rationale</field_name><field_body><paragraph>In particular it is useful to be able to reference
+entries in the Oekonux mailing list archive as easy as possible.</paragraph></field_body></field><field><field_name>MediaWiki</field_name><field_body><paragraph>Implements this by templates.</paragraph></field_body></field><field><field_name>MoinMoin</field_name><field_body><paragraph>Implements by InterWiki links.</paragraph></field_body></field></field_list></block_quote><enumerated_list enumtype="arabic" prefix="" start="12" suffix="."><list_item><paragraph>Page templates must be available</paragraph></list_item></enumerated_list><block_quote><field_list><field><field_name>Rationale</field_name><field_body><paragraph>Page templates are a good way to support policy
+decisions by offering standard templates for all page types.</paragraph></field_body></field><field><field_name>MediaWiki</field_name><field_body><paragraph>Not available.</paragraph></field_body></field><field><field_name>MoinMoin</field_name><field_body><paragraph>Available.</paragraph></field_body></field></field_list></block_quote><enumerated_list enumtype="arabic" prefix="" start="13" suffix="."><list_item><paragraph>It must be possible to revert page changes</paragraph></list_item></enumerated_list><block_quote><field_list><field><field_name>Rationale</field_name><field_body><paragraph>Useful to undo unwanted changes.</paragraph></field_body></field><field><field_name>MediaWiki</field_name><field_body><paragraph>Available.</paragraph></field_body></field><field><field_name>MoinMoin</field_name><field_body><paragraph>Available.</paragraph></field_body></field></field_list></block_quote><enumerated_list enumtype="arabic" prefix="" start="14" suffix="."><list_item><paragraph>It must be possible to know who did a change in a page</paragraph></list_item></enumerated_list><block_quote><field_list><field><field_name>Rationale</field_name><field_body><paragraph>Nice to have.</paragraph></field_body></field><field><field_name>MediaWiki</field_name><field_body><paragraph>Available.</paragraph></field_body></field><field><field_name>MoinMoin</field_name><field_body><paragraph>Available.</paragraph></field_body></field></field_list></block_quote><enumerated_list enumtype="arabic" prefix="" start="15" suffix="."><list_item><paragraph>Offline usage must be possible as far as possible</paragraph></list_item></enumerated_list><block_quote><field_list><field><field_name>Rationale</field_name><field_body><paragraph>Not everyone is always online so offline facilities are
+generally useful. Offline usage includes</paragraph><bullet_list bullet="*"><list_item><paragraph>a push feature for change notification</paragraph></list_item><list_item><paragraph>browsing</paragraph></list_item><list_item><paragraph>editing</paragraph></list_item></bullet_list></field_body></field><field><field_name>MediaWiki</field_name><field_body><paragraph>Not available. At most email notification is available.</paragraph></field_body></field><field><field_name>MoinMoin</field_name><field_body><paragraph>Email notification allows for monitoring changes and in
+principle the diffs can be used to update a local copy. A local
+installation of <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">MoinMoin</reference> only needs Python and <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">MoinMoin</reference> so it
+is easy to accomplish. Because <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">MoinMoin</reference> uses a file based
+storage scheme it is at least easy to update a local copy in
+short online phases for offline use so at least offline browsing
+is available.</paragraph></field_body></field></field_list></block_quote><enumerated_list enumtype="arabic" prefix="" start="16" suffix="."><list_item><paragraph>Pages must be locked during they are edited</paragraph></list_item></enumerated_list><block_quote><field_list><field><field_name>Rationale</field_name><field_body><paragraph>Page locking prevents parallel editing of a page which
+is useful in a highly frequented Wiki.</paragraph></field_body></field><field><field_name>MediaWiki</field_name><field_body><paragraph>Not available.</paragraph></field_body></field><field><field_name>MoinMoin</field_name><field_body><paragraph>Editing a page locks it for 10 minutes and the lock can
+be renewed.</paragraph></field_body></field></field_list></block_quote><enumerated_list enumtype="arabic" prefix="" start="17" suffix="."><list_item><paragraph>It must be possible to edit sections of a page</paragraph></list_item></enumerated_list><block_quote><field_list><field><field_name>Rationale</field_name><field_body><paragraph>Makes parallel editing of a page less dangerous which
+is useful in a highly frequented Wiki.</paragraph></field_body></field><field><field_name>MediaWiki</field_name><field_body><paragraph>Available.</paragraph></field_body></field><field><field_name>MoinMoin</field_name><field_body><paragraph>Not available.</paragraph></field_body></field></field_list></block_quote><comment xml:space="preserve">############################################################################</comment></section><section ids="requirements-for-policy-choices" names="requirements\ for\ policy\ choices"><title refid="id6">Requirements for policy choices</title><enumerated_list enumtype="arabic" prefix="" suffix="."><list_item><paragraph>Pages standing in a certain close relation to a certain other page
+must be possible in a sane way</paragraph><field_list><field><field_name>Rationale</field_name><field_body><paragraph>There are several ways in which a page can have closely
+related pages (e.g. discussion pages). It makes sense to have a
+uniform way to express this relation.</paragraph></field_body></field><field><field_name>MediaWiki</field_name><field_body><paragraph>Implements discussion pages as one a special type of
+closely related pages by suffixing <literal>Discussion</literal> to the
+namespace of a page. For other closely related pages there is no
+fixed implementation.</paragraph></field_body></field><field><field_name>MoinMoin</field_name><field_body><paragraph>By making sub-pages possible all types of closely
+related pages can be implemented by some fixed names being part
+of a policy and supported by page templates.</paragraph></field_body></field></field_list></list_item><list_item><paragraph>Structuring of content must be possible by a page hierarchy</paragraph><field_list><field><field_name>Rationale</field_name><field_body><paragraph>The maintenance policy may decide to have a page
+hierarchy as a structuring principle.</paragraph></field_body></field><field><field_name>MediaWiki</field_name><field_body><paragraph>Implements a top level structure by namespaces and
+allows for structuring otherwise.</paragraph></field_body></field><field><field_name>MoinMoin</field_name><field_body><paragraph>With sub-pages arbitrary hierarchies can be build on any
+level.</paragraph></field_body></field></field_list></list_item><list_item><paragraph>Sub-Wikis must be possible</paragraph><field_list><field><field_name>Rationale</field_name><field_body><paragraph>The maintenance policy may decide this makes sense.</paragraph></field_body></field><field><field_name>MediaWiki</field_name><field_body><paragraph>Not available.</paragraph></field_body></field><field><field_name>MoinMoin</field_name><field_body><paragraph>Could be done in a page hierarchy on any level.</paragraph></field_body></field></field_list></list_item><list_item><paragraph>Underscores and white-space in page names must be possible but
+insignificant</paragraph><field_list><field><field_name>Rationale</field_name><field_body><paragraph>If the maintenance policy decides that underscores and
+white-space may be used in arbitrary ways the software must be
+able to reflect this.</paragraph></field_body></field><field><field_name>MediaWiki</field_name><field_body><paragraph>Unknown.</paragraph></field_body></field><field><field_name>MoinMoin</field_name><field_body><paragraph>Underscores and white-space is significant.</paragraph></field_body></field></field_list></list_item></enumerated_list><comment xml:space="preserve">############################################################################</comment><comment xml:space="preserve">############################################################################</comment><substitution_definition names="projekt"><reference name="the projekt mailing list" refuri="http://www.oekonux.de/projekt/liste/">the projekt mailing list</reference></substitution_definition><substitution_definition names="NoCamelCase"><reference name="NoCamelCase" refuri="http://moinmoin.wikiwikiweb.de/ParserMarket/NoCamelCase">NoCamelCase</reference></substitution_definition><target ids="project-oekonux" names="project\ oekonux" refuri="http://www.oekonux.de/"/><target ids="the-projekt-mailing-list" names="the\ projekt\ mailing\ list" refuri="http://www.oekonux.de/projekt/liste/"/><target ids="mediawiki" names="mediawiki" refuri="http://wikipedia.sourceforge.net/"/><target ids="moinmoin" names="moinmoin" refuri="http://moinmoin.wikiwikiweb.de/"/><target ids="restructuredtext" names="restructuredtext" refuri="http://docutils.sourceforge.net/rst.html"/><target ids="latex" names="latex" refuri="http://www.latex-project.org/"/><target ids="nocamelcase" names="nocamelcase" refuri="http://moinmoin.wikiwikiweb.de/ParserMarket/NoCamelCase"/><comment xml:space="preserve">LocalWords: diffs CamelCase InterWiki MoinMoin rst projekt MediaWiki aka</comment><comment xml:space="preserve">LocalWords: Wikipedia PageList WikiWords reStructuredText</comment><comment xml:space="preserve">LocalWords: Wikis NoCamelCase</comment></section></section></document> \ No newline at end of file
diff --git a/sandbox/xml2rst/tests/real/original/Machinery.rst b/sandbox/xml2rst/tests/real/original/Machinery.rst
new file mode 100644
index 000000000..3a0569527
--- /dev/null
+++ b/sandbox/xml2rst/tests/real/original/Machinery.rst
@@ -0,0 +1,476 @@
+#format rst
+#language en
+
+Discussion__
+
+.. __: /Talk
+
+.. contents::
+
+This page describes the machinery used by the `Oekonux community`_.
+This page is motivated by a `thread about this topic
+<http://www.oekonux.de/projekt/liste/archive/msg03333.html>`_ on the
+`project list`_, which cares about the organization of the project.
+
+The intention of this page is to reflect the current state of the
+machinery. It is originally written in German which is available as
+the first version of this page.
+
+Overview
+========
+
+The `Oekonux community`_ currently uses the following technical
+facilities:
+
+* `mailing lists`_
+
+* `web sites`_
+
+* OpenTheory_
+
+* `news groups`_
+
+* Wiki_
+
+As far as I know other facilities such as IRC are currently not used.
+
+.. _Oekonux server:
+
+Dedicated Oekonux server
+========================
+
+There is a dedicated server for the Oekonux project. Currently this is
+a virtual server based on Debian and hosted by `VD server`_. This
+dedicated server is paid by the `Projekt Oekonux e.V.`_, a registered
+association in Germany.
+
+Today the server runs most of the technical infrastructure of the
+project. It has a fixed IP address and the DNS entries for the domains
+point to this server. The generic address of the server is
+``server.oekonux.de``.
+
+The general maintainer of this server is HolgerWeiss_, certain
+facilities are maintained mainly by StefanMerten_.
+
+In case it is necessary because the project needs more computing
+resources a real server could be hosted by `Individual Network
+Berlin`_.
+
+Mailing lists
+=============
+
+Existing lists
+~~~~~~~~~~~~~~
+
+The following lists exist:
+
+* ``liste AT oekonux DOT de``
+
+* ``list-en AT oekonux DOT org``
+
+* ``projekt AT oekonux DOT de``
+
+* ``chat AT oekonux DOT de``
+
+* ``mitglieder AT oekonux DOT de``
+
+* ``helfer AT oekonux-konferenz DOT de``
+
+* ``referenten AT oekonux-konferenz DOT de``
+
+For all mailing lists there are archives_, which are on the web sites
+of the domain they belong to.
+
+Hosting
+~~~~~~~
+
+All mailing lists are hosted on the `Oekonux server`_. The mailing
+lists are all served by a Majordomo_.
+
+Features
+~~~~~~~~
+
+Spam protection
+---------------
+
+Mail to all mailing lists is routed over a SpamAssassin_. This is
+indispensable because the addresses of the mailing lists have a wide
+distribution.
+
+The SpamAssassin installation needs some maintenance once in a while
+to be ready for the latest ideas of spammers. This maintenance is done
+by StefanMerten_.
+
+Unfortunately the spam filtering does not catch all spam :-( .
+Therefore the mailing lists have been closed so only subscribers can
+post to the list unmoderated. The bounces of spam and legitimate mail
+from non-subscribers are handled by StefanMerten_. All other tasks
+necessary for keeping the mailing lists running are also handled by
+StefanMerten_.
+
+Web sites
+=========
+
+Hosting
+~~~~~~~
+
+Provider
+--------
+
+There is no special provider for the web sites. All web sites are
+hosted on the `Oekonux server`_.
+
+Because of their size the audio files which mainly have been recorded
+during the conferences are kept on web space donated by various
+people.
+
+Before conferences resources of the `OpenTheory project`_ are used
+for online creation and presentation of the program of the conference.
+
+Domains
+-------
+
+There are four domains for which the `e.V.`_ is the owner:
+
+* ``oekonux.de``
+
+ Under ``www`` the German main page of the project can be found.
+
+* ``oekonux.org``
+
+ Under ``www`` the international main page of the project can be
+ found.
+
+ Also the Wikis are all hosted here:
+
+ * ``en.wiki``
+
+ The English language Wiki.
+
+ * ``de.wiki``
+
+ The German language Wiki.
+
+* ``oekonux-konferenz.de``
+
+ The German domain for everything around the Oekonux conferences.
+
+ - ``www``
+
+ Entry point for the most recent conference.
+
+ - ``erste``, ``zweite``, ``dritte``
+
+ Entry points for the respective conference.
+
+* ``oekonux-conference.org``
+
+ The international domains for everything around the Oekonux
+ conferences.
+
+ - ``www``
+
+ Entry point for the most recent conference.
+
+ - ``second``, ``third``
+
+ Entry points for the respective conference.
+
+More domains were present before the `e.V.`_ took them over but they
+have been abandoned.
+
+Features
+~~~~~~~~
+
+Web space
+---------
+
+The audio files hosted externally sum up to about 4GB.
+
+Traffic
+-------
+
+.. $$$
+
+There are statistics about the `network traffic
+<http://traffic.oekonux.de/>`_ and the `page hits
+http://www.oekonux.de/projekt/statistik/website/`_.
+
+Mail addresses
+--------------
+
+All domains support a couple of mail addresses. They are mainly used
+for the `mailing lists`_.
+
+Besides the functional mail addresses there is only one private mail
+address. Generally it is possible to create more private mail
+addresses. Such private mail address must contain the family name of
+the person.
+
+Generation and Upload
+---------------------
+
+At the moment all content of the web sites is generated by
+StefanMerten_ on his private computer and uploaded onto the server.
+Among other facilities the SDF format is used and the whole thing is
+embedded in a ``make`` based automation.
+
+.. important:: The sources for the static pages have been brought to a
+ CVS repository eons ago. However, this has not been used.
+
+ In general it would be good if a new solution for the web sites
+ would be available by CVS. With this many people could work on the
+ site.
+
+ StefanMerten_ would appreciate that the sources of the web pages
+ are created in a format close to ASCII - at best reStructuredText_.
+ He is ready to provide a converter from the current format.
+
+Static pages
+------------
+
+Apart from the Wiki pages nearly all pages in the Oekonux domains are
+static HTML pages without any JavaScript or other active elements. By
+this they are
+
+* usable by *all* browsers
+
+* readable for all times
+
+* no security risk for the server
+
+* stable URLs without variable parts
+
+ Many search engines ignore links containing a ``?``.
+
+* need no maintenance
+
+* friendly to external search engines
+
+ Though navigation is done by frames there is always a ``<noframes>``
+ section which contains the links.
+
+* can be downloaded with tools like ``wget`` completely and without
+ problems
+
+* works with every web hosting offer
+
+Navigation
+----------
+
+Navigation is realized with frames. A narrow frame on the left is
+modeled after a file browser. It permanently presents the current
+position in the site. The right frame contains the selected content.
+If a directory is selected in the navigation the content frame
+``default.html`` always appears.
+
+Apart from this each third level domain has a separate site map.
+
+Links in all pages are followed by QBullets_ which roughly give the
+type of the link.
+
+Locale search engine
+--------------------
+
+.. $$$ Link ht://dig
+
+Currently the local search engine is replaced by a ht://dig based
+solution.
+
+RSS-Feed
+--------
+
+.. important:: There is no RSS feed yet but it would be nice to have
+ one.
+
+Content
+~~~~~~~
+
+General
+-------
+
+.. important:: In general the sites are not maintained really. This is
+ bad.
+
+.. important:: In particular it would be good if the international
+ site would have more of the content of the German site.
+ Particularly it would be good to have the `Oekonux links`_ in
+ English. Also the structure of the project should be presented on
+ the international site.
+
+Archives
+--------
+
+All `mailing lists`_ of the project are archived on the web sites.
+StefanMerten_ converts the incoming mails to HTML by MHonArc_ and
+uploaded automatically.
+
+HTML pages for the archives are filtered. At the moment
+
+* comments of MHonArc_ are removed
+
+* phone numbers are replaced by a fixed text
+
+* names of certain people who decided to late that they not want to be
+ found in Oekonux by Google are shortened
+
+* all URLs pointing to mail addresses are obfuscated a bit
+
+* mail addresses are obfuscated
+
+.. important:: There is a request to have the archives on the `web
+ sites`_ in mbox format. For this it must be clarified what can be
+ done against mail address harvesting.
+
+Removal of archived pages is also widely automated. However, it needs
+an explicit call with the number of the mail to remove.
+
+.. important:: Right now the removed mail is removed only from the
+ indexes but *not* from the server. By this it is no longer
+ reachable by neighboring mails or an index but the are generally
+ accessible. This must be changed.
+
+Texts
+-----
+
+Several texts of the project are available on the `web sites`_.
+
+Among them is an introduction for which MagicPoint sources are
+available.
+
+Link page
+---------
+
+One of the most important content resources of the `Oekonux
+community`_ are the `Oekonux links`_, where interesting links are
+entered with a short comment. The page is structured.
+
+.. important:: It would be good if each of the `Oekonux links`_ would
+ get a creation date. Meanwhile this would have some historical
+ value.
+
+ In general for existing links this would be possible by ``cvs
+ annotate``.
+
+.. important:: It would be useful if the language of the page behind
+ the link would be given. This can be done by the HTML attribute
+ ``hreflang``.
+
+Statistics
+----------
+
+Statistics are available about the usage of the `mailing lists`_ as
+well as about the `web sites`_ usage on the `web sites`_. All
+statistics are created weekly by some Free Software (webalizer_,
+mail2clf_, mail2chart_) automatically by StefanMerten_ and uploaded.
+
+OpenTheory
+==========
+
+Many texts from the project and from its environment are available in
+the `OpenTheory project`_. Some of them are gathered in the `Oekonux
+OpenTheory project`_.
+
+The texts are about Oekonux content as well as for organizational
+purposes. In particular the conference preparation has been done
+there.
+
+Wiki
+====
+
+Currently there are two Oekonux Wikis at
+
+* http://en.wiki.oekonux.org/
+
+* http://de.wiki.oekonux.org/
+
+They are based on the MoinMoin_ Wiki engine.
+
+The content is maintained by a group of maintainers (`English
+<http://en.wiki.oekonux.org/MaintainerGroup>`_, `German
+<http://de.wiki.oekonux.org/MaintainerGruppe>`_ . The technical part
+of the Wikis is maintained by StefanMerten_.
+
+News groups
+===========
+
+Since end of 2003 the main discussion `mailing lists`_ are available
+through Gmane_ as Usenet newsgroups:
+
+* news://news.gmane.org/gmane.politics.oekonux.german
+
+ Mirrors ``liste AT oekonux DOT de``.
+
+* news://news.gmane.org/gmane.politics.oekonux.english
+
+ Mirrors ``list-en AT oekonux DOT org``.
+
+The newsgroups are configured in a way replies by news are not
+possible.
+
+.. important:: For now the newsgroup archives contain only those mails
+ written after the newsgroup feature was in place. After the problem
+ of readable mail addresses has been solved the whole archive shall
+ be `brought <http://gmane.org/import.php>`_ to the newsgroup archive
+
+Features
+~~~~~~~~
+
+Search engine
+-------------
+
+Gmane_ has a search engine which searches the newsgroups.
+
+.. ############################################################################
+
+.. _reStructuredText: http://docutils.sourceforge.net/rst.html
+
+.. _Oekonux community: http://www.oekonux.de/
+
+.. _project list: http://www.oekonux.de/projekt/liste/
+
+.. _Majordomo: http://www.greatcircle.com/majordomo/
+
+.. _SpamAssassin: http://www.spamassassin.org/
+
+.. _Projekt Oekonux e.V.:
+
+.. _e.V.: http://www.oekonux.de/projekt/verein/
+
+.. _OpenTheory project: http://www.opentheory.org/
+
+.. _Individual Network Berlin: http://www.in-berlin.de/
+
+.. _QBullets: http://www.matterform.com/qbullets/
+
+.. _MHonArc: http://www.mhonarc.org/
+
+.. _Oekonux links: http://www.oekonux.de/projekt/links.html
+
+.. _webalizer: http://www.webalizer.org/
+
+.. _mail2clf: http://www.merten-home.de/FreeSoftware/mail2clf/
+
+.. _mail2chart: http://www.merten-home.de/FreeSoftware/mail2chart/
+
+.. _Oekonux OpenTheory project: http://www.opentheory.org/oekonux/
+
+.. _Gmane: http://gmane.org/
+
+.. _VD server: http://www.vd-server.de/
+
+.. _MoinMoin: http://moinmoin.wikiwikiweb.de/
+
+.. ############################################################################
+
+.. LocalWords: reStructuredText Premium page premium oekonux www org Hoster
+.. LocalWords: konferenz conference second third gehosteten MagicPoint Upload
+.. LocalWords: SDF make MHonArc Harvesting ToDo important JavaScript noframes
+.. LocalWords: wget pox Privacy Policy site default html Sitemap FreeFind you
+.. LocalWords: Perlfect clf Search webalizer mail mail chart Referrer co chat
+.. LocalWords: forum Kalka Chris Croome Gmane DOT list en mbox Subversion cvs
+.. LocalWords: StefanMn projekt helfer referenten gepollt Sympa SmartList rst
+.. LocalWords: MailMan buug SpamAssassin Individual Network vLinux server IRC
+.. LocalWords: Repository QBullets annotate hreflang OpenTheory Debian VD DNS
+.. LocalWords: HolgerWeiss StefanMerten mitglieder erste zweite dritte RSS
+.. LocalWords: MoinMoin
diff --git a/sandbox/xml2rst/tests/real/original/MediaWikiFAQ.rst b/sandbox/xml2rst/tests/real/original/MediaWikiFAQ.rst
new file mode 100644
index 000000000..8f50f88eb
--- /dev/null
+++ b/sandbox/xml2rst/tests/real/original/MediaWikiFAQ.rst
@@ -0,0 +1,211 @@
+#format rst
+
+==========================================================
+FAQ for people used to Wikipedia and other MediaWiki wikis
+==========================================================
+
+.. contents::
+
+Introduction
+============
+
+This page is a FAQ page for users used to Wikipedia and other
+MediaWiki_ [#]_ wikis. In Project Oekonux we chose MoinMoin_ because
+at the time of the decision there was a slight technological
+superiority opening more options for its use. If you are interested in
+the reasons you may want to consult the requirements_ which have been
+found then.
+
+.. [#] MediaWiki_ is the name of the software used for Wikipedia and
+ other Wikis. The software running this Wiki is called
+ MoinMoin_.
+
+However, MediaWiki_ and it's use is widely known and thus Project
+Oekonux strives to make the use of this MoinMoin_ wiki as easy to
+MediaWiki_ users as possible. This FAQ is one attempt to do so. If you
+are a MediaWiki_ user and have questions not covered here feel free to
+contact projekt@oekonux.de.
+
+.. ############################################################################
+.. ############################################################################
+
+Question and answers
+====================
+
+Of all users
+------------
+
+What about the namespace concept?
+.................................
+
+Most of the namespaces in MediaWiki_ are nothing else than a
+structuring facility establishing structure on a top level.
+
+In MoinMoin_ there is no concept of namespaces in the sense of
+MediaWiki_. However, there is the concept of `sub pages`_ [#]_ which
+have names containing one or more slashes (``/``).
+
+.. [#] There are also sub pages in MediaWiki_ but they are rarely used
+ in any area but the ``Users:`` namespace.
+
+In MoinMoin_ we map the concept of namespaces to the top level `sub
+pages`_ of the wiki. So if you have a page named ``Oekonux:Project``
+in MediaWiki_ it would be named ``Oekonux/Project`` in MoinMoin_.
+
+Please note that `sub pages`_ are more flexible than namespaces
+because they allow for more than one level or semantic hierarchy.
+
+What about the ``Users:`` namespace?
+....................................
+
+Unfortunately the ``Users:`` namespace as such can not be easily
+modeled into MoinMoin_. The homepages of users need to stay on the
+top level so the MediaWiki_ page ``Users:JohnDoe`` is mapped to
+``JohnDoe`` in MoinMoin_.
+
+What about the ``Special:`` namespace?
+......................................
+
+The ``Special:`` namespace in MediaWiki_ does not lead to normal pages
+but to pages which are generated dynamically by the software.
+
+In MoinMoin_ such pages (and a lot more) are modeled by macros_. So
+what in MediaWiki_ reads ``Special:RecentChanges`` in MoinMoin_ is
+written ``[[RecentChanges]]``.
+
+What about the ``Talk:`` namespace?
+.........................................
+
+Actually the ``Talk:`` namespace in MediaWiki_ reachable by the
+``Discussion`` tab is not a namespace in the sense of the other
+namespaces. Instead it is an add-on for pages in all namespaces.
+
+In MoinMoin_ this is modeled by `sub pages`_. However, instead of
+tagging the term ``Talk`` in the very front of the name of a page in
+MoinMoin_ this is added to the end. So for the MediaWiki_ page name
+``Oekonux_Talk:Project`` in MoinMoin_ the name
+``Oekonux/Project/Talk`` is used.
+
+To foster similarity to MediaWiki_ wikis most of the page templates
+for this wiki contain a link to a ``/Talk`` `sub page`_.
+
+.. ############################################################################
+
+Of editors
+----------
+
+I'm used to `MediaWiki syntax`_. Can I use it in this Wiki?
+...........................................................
+
+By default MoinMoin_ has a slightly `different syntax`_ then
+MediaWiki_. However, MoinMoin_ can support many languages if only a
+parser is available for it. There is a parser for MediaWiki_ syntax
+which can be used for this Wiki. All you have to do is to put ::
+
+ #format media
+
+in the very first line of your document. From that point on `MediaWiki
+syntax`_ is recognized.
+
+Currently the parser does not support the full `MediaWiki syntax`_ but
+a considerable subset of it. For most pages this subset is completely
+sufficient. For an extensive list of supported and unsupported
+features please check the `documentation of the parser`_.
+
+Though I'm used to `MediaWiki syntax`_ I think it sucks. Any alternatives?
+..........................................................................
+
+Because in principle MoinMoin_ supports different syntaxes the general
+answer is: Yes, you can use other syntaxes if and when the parser
+plug-in for it exists and is installed. The default parser for
+MoinMoin_ parses the `MoinMoin syntax`_.
+
+In this Wiki by default we use a variant without automatic CamelCase
+links and without InterWiki_ links without special markup. If you want
+CamelCase and InterWiki_ links put ::
+
+ #format wiki
+
+in the first line of your page. The MoinMoin wiki markup language has
+more options than the MediaWiki markup language but still is quite
+illogical.
+
+Otherwise a very promising ASCII based markup is reStructuredText_. It
+is far more logical than any wiki markup language and it has a set of
+nice features. If you want to use it put ::
+
+ #format rst
+
+in the first line of your page.
+
+I tried to create a new page and ended up on this page offering templates. What's this?
+.......................................................................................
+
+In MoinMoin_ it is possible to have page templates. A page templates
+are an easy way to help people to conform to some style guide lines
+established for the given wiki. They are created by the maintainers of
+the wiki.
+
+The name of a page template is build from the type of page the page
+template is for and the suffix ``Template`` (in English). So for
+instance a page template meant for talk pages is named
+``TalkTemplate``.
+
+In a sense a page template bundles some general knowledge about the
+wiki ready to be used by the users of the wiki. Of course you can
+start a new page from scratch but usually it makes more sense to use
+an existing page template.
+
+Page templates, ok. What about the MediaWiki_ templates?
+........................................................
+
+In MoinMoin_ the term "template" is used differently than in
+MediaWiki_. In MoinMoin_ a template is a *page* template [#]_ while in
+MediaWiki_ it is more like a function call in a programming language.
+
+.. [#] The concept of page templates is probably not known in
+ MediaWiki_.
+
+In general there are two ways to get the functionality of MediaWiki_
+templates in MoinMoin_. MediaWiki_ templates which are used as
+shortcuts for links are mapped to InterWiki_ links. For instance a
+link to the posting containing the requirements_ for this wiki in the
+archive of the project mailing list ``[pox]`` is named
+``poxArchive:04957`` which expands to the rather long link
+http://www.oekonux.de/projekt/liste/archive/msg04957.html. You
+probably agree that the former is easier to type :-) . Such a link can
+be used as any other link. In particular it can be used together with
+a display text. If your favorite link target is not yet supported by
+this wiki please contact projekt@oekonux.de about it.
+
+MediaWiki_ templates not building shortcuts for links generally can be
+mapped to MoinMoin_ macros_. If the functionality you need is not yet
+supported by this wiki please contact projekt@oekonux.de about it.
+
+.. ############################################################################
+.. ############################################################################
+
+.. _MediaWiki: http://wikipedia.sourceforge.net/
+
+.. _MoinMoin: http://moinmoin.wikiwikiweb.de/
+
+.. _requirements: Oekonux/Project/Wiki/Requirements_
+
+.. _MediaWiki syntax: http://meta.wikimedia.org/wiki/Help:Editing#The_wiki_markup
+
+
+.. _different syntax: HelpOnEditing_
+.. _MoinMoin syntax: HelpOnEditing_
+
+.. _documentation of the parser: http://www.merten-home.de/FreeSoftware/media4moin/manual.html
+
+.. _sub page:
+.. _sub pages: HelpOnEditing/SubPages_
+
+.. _macros: HelpOnMacros_
+
+.. _reStructuredText: http://docutils.sourceforge.net/rst.html
+
+.. LocalWords: rst Wikipedia MediaWiki MoinMoin homepages JohnDoe CamelCase
+.. LocalWords: RecentChanges InterWiki reStructuredText TalkTemplate SubPages
+.. LocalWords: poxArchive HelpOnEditing HelpOnMacros
diff --git a/sandbox/xml2rst/tests/real/original/Technik.rst b/sandbox/xml2rst/tests/real/original/Technik.rst
new file mode 100644
index 000000000..39739a28f
--- /dev/null
+++ b/sandbox/xml2rst/tests/real/original/Technik.rst
@@ -0,0 +1,539 @@
+.. Note:: Sorry, wegen kaputter Formatierung, aber ich habe keine
+ Ahnung, wie das geht und es gibt leider keine Hilfe. Ich verwende
+ einfach mal reStructuredText_.
+
+.. _reStructuredText: http://docutils.sourceforge.net/rst.html
+
+Diese Seite beschäftigt sich mit der Technik, die die
+`Oekonux-Community`_ nutzt. Ausgelöst wurde dies durch einen `Thread
+zum Thema
+<http://www.oekonux.de/projekt/liste/archive/msg03333.html>`_ auf der
+`Projekt-Liste`_, die sich um die Organisation des Projekts kümmert.
+
+.. _Oekonux-Community: http://www.oekonux.de/
+.. _Projekt-Liste: http://www.oekonux.de/projekt/liste/
+
+Überblick
+=========
+
+Die Oekonux-Community nutzt derzeit die folgenden technischen
+Einrichtungen:
+
+* `Mailing-Listen`_
+
+* `Web-Sites`_
+
+* OpenTheory_
+
+* `News-Groups`_
+
+* Wiki_
+
+Weitere Einrichtungen wie IRC werden nach meiner Kenntnis derzeit
+nicht genutzt.
+
+Mailing-Listen
+==============
+
+Existierende Listen
+~~~~~~~~~~~~~~~~~~~
+
+Folgende Listen existieren:
+
+* ``liste AT oekonux DOT de``
+
+* ``list-en AT oekonux DOT org``
+
+* ``projekt AT oekonux DOT de``
+
+* ``chat AT oekonux DOT de``
+
+* ``mitglieder AT oekonux DOT de``
+
+* ``helfer AT oekonux-konferenz DOT de``
+
+* ``referenten AT oekonux-konferenz DOT de``
+
+Für alle Mailing-Listen existieren Archive_, die auf der Web-Site
+stehen, zu deren Domain sie gehören.
+
+Hosting
+~~~~~~~
+
+Außer ``liste AT oekonux DOT de`` werden alle Mailing-Listen bei
+StefanMn gehostet. Für diese sind POP-Boxen eingerichtet, die
+regelmäßig gepollt werden. Diese Mailing-Listen werden von einem
+Majordomo_ betreut.
+
+.. _Majordomo: http://www.greatcircle.com/majordomo/
+
+.. important:: Da Majordomo_ keine völlig Freie Software ist, gab es
+ den Vorschlag eine Alternative zu benutzen. Vorschläge waren Sympa
+ oder SmartList. Mit einer ganz neuen Lösung würde vermutlich
+ MailMan_ zum Einsatz kommen.
+
+``liste AT oekonux DOT de`` wird aus historischen Gründen von buug_
+gehostet. Dort kommt seit einiger Zeit MailMan_ als
+Verwaltungs-Software zum Einsatz.
+
+.. _buug: http://post.openoffice.de/
+
+.. _MailMan: http://www.list.org/
+
+.. important:: In einer integrierten Lösung mit einem dedizierten
+ Server könnten und sollten auch die Mailing-Listen auf diesem
+ Server gehostet werden.
+
+Features
+~~~~~~~~
+
+Spam-Schutz
+-----------
+
+Mail an sämtliche Mailing-Listen wird über einen SpamAssassin_
+geleitet. Dies ist absolut unverzichtbar, da die Adressen der
+Mailing-Listen mittlerweile sehr weit verbreitet sind. Die
+SpamAssassin-Installation benötigt gelegentliche Wartung um gegen die
+neuesten Ideen der SpammerInnen gewappnet zu sein.
+
+.. _SpamAssassin: http://www.spamassassin.org/
+
+Web-Sites
+=========
+
+Hosting
+~~~~~~~
+
+Provider
+--------
+
+Im Moment bezahlt der `e.V.`_ bei `1&1`_ ein `Premium-Paket
+<http://hosting.1und1.de/xml/static?__page=premium>`_.
+
+.. _e.V.: http://www.oekonux.de/projekt/verein/
+
+.. _1&1: http://hosting.1und1.de/
+
+Die Möglichkeiten dieses Pakets treffen nicht ganz die Bedürfnisse.
+Einerseits beinhaltet es ungenutzte Features (z.B. Datenbank,
+in2site_), andererseits fehlen erwünschte Features (Möglichkeit für
+lokale Suchmaschine, die auf dem Server den Index erstellt).
+
+.. important:: Es gibt ein `Angebot
+ <http://www.oekonux.de/projekt/liste/archive/msg03128.html>`_ von
+ Hostsharing_ e.G., die das Hosting übernehmen könnten.
+
+.. _Hostsharing: http://www.hostsharing.net/
+
+Die Audio-Dateien, die vor allem bei den Konferenzen aufgezeichnet
+worden sind, liegen wegen ihrer Größe auf anderen Servern.
+
+Mit Ressourcen aus dem `OpenTheory-Projekt`_ wird im Vorfeld der
+Konferenz das Programm der Konferenz online erstellt und präsentiert.
+
+.. _OpenTheory-Projekt: http://www.opentheory.org/
+
+.. important:: Es gibt Überlegungen, alle von der Oekonux-Community
+ genutzten Ressourcen zu zentralisieren. Dazu würde vermutlich ein
+ dedizierter Server benötigt.
+
+.. important:: Als weiterer Hoster käme das `Individual Network
+ Berlin`_ in Frage.
+
+ `vLinux.de`_ oder server4you_ könnten weitere, vor allem preisgünstige
+ Alternative sein.
+
+.. _Individual Network Berlin: http://www.in-berlin.de/
+
+.. _vLinux.de: http://vlinux.de/
+
+.. _server4you: http://www.server4you.de/de/v/
+
+.. important:: Holger hat sich grundsätzlich bereit erklärt, einen
+ dedizierten Server zu betreuen.
+
+Domains
+-------
+
+Die fünf Domains, die auf den Verein laufen, sind:
+
+* ``oekonux.de``
+
+ Unter ``www`` liegt hier die deutsche Hauptseite des Projekts.
+
+* ``oekonux.org``
+
+ Unter ``www`` liegt hier die internationale Hauptseite des Projekts.
+
+* ``oekonux-konferenz.de``
+
+ Die deutsche Domain für alles rund um die Oekonux-Konferenzen.
+
+ - ``www``
+
+ Einstiegsseite für die jeweils aktuelle Konferenz.
+
+ - ``erste``, ``zweite``, ``dritte``
+
+ Einstiegsseiten für die jeweilige spezifische Konferenz.
+
+* ``oekonux-konferenz.org``, ``oekonux-conference.org``
+
+ Die internationalen Domains für alles rund um die
+ Oekonux-Konferenzen.
+
+ - ``www``
+
+ Einstiegsseite für die jeweils aktuelle Konferenz.
+
+ - ``second``, ``third``
+
+ Einstiegsseiten für die jeweilige spezifische Konferenz.
+
+ .. important:: ``oekonux-konferenz.org`` kann wahrscheinlich
+ mittelfristig entfallen.
+
+Weitere Domains waren vor der Übernahme durch den `e.V.`_ vorhanden,
+diese sind aber zurück gegeben worden.
+
+Features
+~~~~~~~~
+
+Web-Space
+---------
+
+Derzeit sind in allen vier Web-Präsenzen insgesamt knapp 200MB von ca.
+17000 Files belegt. Die extern gehosteten Audio-Files umfassen ca.
+1GB.
+
+Traffic
+-------
+
+Derzeit generieren die Web-Sites ca. 2GB Traffic pro Monat.
+
+Formulare
+---------
+
+Die von `1&1`_ angebotenen so genannten Web-Elements werden im Vorfeld
+einer Konferenz für Anmeldungsformulare verwendet.
+
+Weitere Formulare werden nicht genutzt.
+
+Mail-Adressen
+-------------
+
+Derzeit verteilen sich rund 80 Mail-Adressen auf die verschiedenen
+Domains_. Nur ein Teil von ihnen ist als POP-Box realisiert -
+insbesondere die Adressen, die für die `Mailing-Listen`_ verwendet
+werden. Weitere Mail-Adressen sind als Alias eingerichtet.
+
+Neben den funktionsbezogenen Mail-Adressen gibt es derzeit lediglich
+eine persönliche Mail-Adresse in den Domains_. Grundsätzlich können
+weitere private Mail-Adressen vergeben werden. Vor langer Zeit wurde
+beschlossen, dass der Nachname der Person in der Mail-Adresse
+enthalten sein muss.
+
+Generierung und Upload
+----------------------
+
+Derzeit werden alle Inhalte von StefanMn u.a. aus SDF-Quellen auf
+seinem privaten Rechner generiert und per FTP auf die Web-Sites
+geladen. Das Ganze ist in eine ``make``\ -basierte Automatisierung
+eingebettet.
+
+.. important:: Die Quellen für die statischen Anteile der jetzigen
+ Lösung sind vor Ewigkeiten mal in ein CVS-Repository gestellt
+ worden. Allerdings hat sich niemensch jemals dafür interessiert -
+ geschweige denn Hilfe angeboten.
+
+ Es wäre aber grundsätzlich gut, wenn eine neue Lösung für die
+ Web-Sites mittels CVS (oder Subversion) zugänglich wäre. Damit
+ könnten viele Leute an der Site arbeiten.
+
+ StefanMn hätte gerne, dass die Quellen der Web-Seiten mittels einem
+ ASCII-nahen Format - möglichst reStructuredText_ - erstellt werden
+ könnten. Er würde (auch) dafür einen Konverter vom jetzigen Format
+ zur Verfügung stellen.
+
+Statische Seiten
+----------------
+
+Praktisch sämtliche Seiten in den Oekonux-Domains sind statische
+HTML-Seiten ohne jegliches JavaScript oder andere aktive Elemente. Sie
+sind damit
+
+* für *alle* Browser zugänglich
+
+* wird für alle Zeiten lesbar sein
+
+* kein Sicherheitsproblem für den Server
+
+* stabile URLs ohne Variablen
+
+ Viele Suchmaschinen ignorieren Links mit ``?``.
+
+* bedürfen keinerlei Wartung
+
+* freundlich für externe Suchmaschinen
+
+ Zwar werden für die Navigation Frames eingesetzt, es gibt jedoch
+ immer einen ``<noframes>``\ -Bereich, der die entsprechenden Links
+ enthält.
+
+* mit Tools wie z.B. ``wget`` komplett und problemlos zu saugen
+
+* funktioniert mit jedem Web-Hosting-Angebot
+
+Privacy
+-------
+
+`1&1`_ stellt praktisch in allen Tarifen die Log-Files des Web-Servers
+zur Verfügung. Darin sind die Zugriffe auf die einzelnen Domains
+unterschieden. Diese Logs werden ausgewertet und ohne die zugreifenden
+IP-Adressen und weitere, tendenziell Privacy-gefährdende Details auf
+den Web-Seiten zur Verfügung gestellt.
+
+.. important:: Wie StefanMn in einer `Mail an [pox]
+ <http://www.oekonux.de/projekt/liste/archive/msg02683.html>`_
+ vorgeschlagen hat, sollte die Privacy-Policy auf den Web-Sites
+ veröffentlicht sein.
+
+ Insbesondere sollte klar gemacht werden, dass in2site_ **nicht**
+ verwendet wird.
+
+.. _in2site: http://www.in2site.de/
+
+Navigation
+----------
+
+Die Navigation wird mit Hilfe von Frames realisiert. Ein schmaler
+Frame auf der linken Seite ist einem File-Browser nachempfunden. Er
+zeigt ständig die aktuelle Position innerhalb der Site an. Der rechte
+Frame enthält den angewählten Inhalt. Wird in der Navigation ein
+Verzeichnis angewählt, so erscheint im Inhalts-Frame stets
+``default.html``.
+
+Außerdem hat jede Third-Level-Domain eine eigene Sitemap.
+Links auf allen Seiten werden von QBullets_ gefolgt, die grob den Typ
+des Links angeben.
+
+.. _QBullets: http://www.matterform.com/qbullets/
+
+Lokale Suchmaschine
+-------------------
+
+Mittels FreeFind_ wurde auf ``www.oekonux.de`` eine lokale,
+kostenlose, durch Werbung finanzierte Suchmaschine eingerichtet.
+
+.. _FreeFind: http://www.freefind.com/
+
+.. important:: Nachdem das Größenlimit für kostenlosen Service im
+ 2003-05 bereits zum zweiten Mal überschritten wurde, indexiert
+ diese Suchmaschine seit einiger Zeit nicht mehr die gesamte Site.
+
+ Eine lokale Suchmaschine wie `Perlfect Search`_ scheitert daran,
+ dass im derzeitigen Tarif einem Prozess zu wenig Rechenzeit zur
+ Verfügung steht um die Site zu indexieren.
+
+ Es besteht Handlungsbedarf.
+
+.. _Perlfect Search: http://perlfect.com/freescripts/search/
+
+RSS-Feed
+--------
+
+.. important:: Es wäre nett, einen RSS-Feed auf einem eigenen Server
+ zu haben.
+
+Datenbanken
+-----------
+
+.. important:: Derzeit werden Datenbanken nicht genutzt, aber es wäre
+ sinnvoll, diese Option bei einer neuen Lösung zu haben.
+ (vorzugsweise mySGL).
+
+Apache
+------
+
+.. important:: Eine neue Hosting-Lösung sollte uns in möglichst großem
+ Umfang Zugang zum Web-Server geben.
+
+Inhalte
+~~~~~~~
+
+Allgemeines
+-----------
+
+.. important:: Generell werden die Sites nicht sehr intensiv gepflegt.
+ Dies ist nicht gut.
+
+.. important:: Insbesondere wäre es super, wenn die internationale
+ Site mehr von den Inhalten der deutschen Site hätte. Besonders
+ wünschenswert wäre es, wenn die `Oekonux-Links`_ auf Englisch
+ verfügbar wären.
+
+Archive
+-------
+
+Sämtliche `Mailing-Listen`_ des Projekts werden auf den Web-Sites
+archiviert. Die Mails werden bei Eingang bei StefanMn mittels MHonArc_
+in HTML konvertiert und automatisch hochgeladen.
+
+.. _MHonArc: http://www.mhonarc.org/
+
+Die HTML-Seiten für die Mails werden noch gefiltert. Momentan werden
+
+* Kommentare von MHonArc_ entfernt
+
+* Telefon-Nummern
+
+* Einzelne Personen, die sich zu spät entschieden haben, dass sie
+ nicht per Google bei Oekonux gefunden werden wollen
+
+* Alle URLs, die auf Mail-Adressen verweisen
+
+* Mail-Adressen werden unkenntlich gemacht
+
+.. important:: Weiter werden ASCII-Äquivalente der Archive in Paketen
+ zu 40 Stück auf die Web-Site gestellt. Dieses Feature ist obsolet.
+
+.. important:: Es besteht der Wunsch, die Archive auch im mbox-Format
+ auf die `Web-Sites`_ zu bringen. Hier muss noch überlegt werden,
+ was gegen Mail-Adressen-Harvesting getan werden kann.
+
+Das Löschen aus den Archiven ist ebenfalls weit gehend automatisiert.
+Es erfordert aber einen expliziten Aufruf, der die Nummer der
+entsprechenden Mail nennt.
+
+.. important:: Momentan wird die gelöschte Mail nur aus den Indexen
+ entfernt, sie wird aber *nicht* vom Server gelöscht. Dadurch ist
+ sie zwar nicht mehr über Indexe oder benachbarte Mails verlinkt,
+ bleibt aber grundsätzlich zugreifbar. Das muss geändert werden.
+
+Texte
+-----
+
+Verschiedene Texte des Projekts sind auf den Web-Sites verfügbar.
+
+Darunter befindet sich eine Einführung, deren Quellen auch für
+MagicPoint vorliegen
+
+Link-Seite
+----------
+
+Eine wichtige inhaltliche Ressource der Oekonux-Community sind die
+`Oekonux-Links`_, in die interessante Links mit einem kurzen Kommentar
+aufgenommen werden. Die Seite ist strukturiert.
+
+.. _Oekonux-Links: http://www.oekonux.de/projekt/links.html
+
+.. important:: Es wäre sehr gut, wenn jeder der `Oekonux-Links`_ das
+ Datum bekäme, zu dem er erstellt wurde. Mittlerweile hätte dies
+ einen gewissen dokumentarischen Wert ("Aha, damals war das also von
+ Bedeutung").
+
+ Dies wäre mittels ``cvs annotate`` grundsätzlich auch für schon
+ vorhandene Links machbar.
+
+.. important:: Es wäre gut, wenn die Sprache der Site angegeben wäre,
+ die durch den Link referenziert wird. Dies ist mittels des
+ HTML-Attributs ``hreflang`` machbar.
+
+Statistiken
+-----------
+
+Statistiken sowohl über die Nutzung der `Mailing-Listen`_ als auch
+über die Nutzung der `Web-Sites`_ werden auf den `Web-Sites`_ zur
+Verfügung gestellt. Alle Statistiken werden mit Freien Tools
+(webalizer_, mail2clf_, mail2chart_) mindestens einmal wöchentlich von
+StefanMn automatisch erstellt und hochgeladen. Die
+Web-Site-Statistiken werden einmal monatlich um Referrer-Links
+bereinigt, die von Porno-Sites stammen.
+
+.. _webalizer: http://www.webalizer.org/
+
+.. _mail2clf: http://www.merten-home.de/FreeSoftware/mail2clf/
+
+.. _mail2chart: http://www.merten-home.de/FreeSoftware/mail2chart/
+
+OpenTheory
+==========
+
+Viele Texte aus und rund um das Oekonux-Projekt sind auch im
+`OpenTheory-Projekt`_ verfügbar. Einige sind im
+`Oekonux-OpenTheory-Projekt`_ zusammen gefasst.
+
+.. _Oekonux-OpenTheory-Projekt: http://www.opentheory.org/oekonux/
+
+Die Texte sind sowohl inhaltlicher als auch organisatorischer Natur.
+Insbesondere für die Vorbereitung der Konferenzen wurden
+OpenTheory-Projekte angelegt.
+
+Wiki
+====
+
+Derzeit nutzt die Oekonux-Community zwei Wiki-Installationen:
+
+* ``co-forum.de``
+
+ Wird technisch von Thomas Kalka betreut und auch gehosteten. Es
+ handelt sich um ein allgemeines Wiki.
+
+* ``de.wiki.oekonux.org.uk``
+
+* ``en.wiki.oekonux.org.uk``
+
+ Diese beiden Wikis sind neueren Datums und explizit als Oekonux-Wiki
+ gedacht. Sie werden technisch von Chris Croome betreut und auch
+ gehostet.
+
+ .. important:: Bislang besteht keine inhaltliche Betreuung.
+
+News-Groups
+===========
+
+Seit Ende 2003 werden die Haupt-\ `Mailing-Listen`_ für die Diskussion
+auch mittels Gmane_ als Usenet-Newsgroups angeboten:
+
+.. _Gmane: http://gmane.org/
+
+* ``news://news.gmane.org/gmane.politics.oekonux.german``
+
+ Spiegelt ``liste AT oekonux DOT de``.
+
+* ``news://news.gmane.org/gmane.politics.oekonux.english``
+
+ Spiegelt ``list-en AT oekonux DOT org``.
+
+Die News-Groups sind so eingestellt, das Antworten über die News nicht
+möglich sind.
+
+.. important:: Zum heutigen Zeitpunkt (2004-01-23) enthalten die
+ News-Group-Archive nur die Mails, die geschrieben wurde, nachdem
+ das News-Group-Feature hinzu genommen wurde. Nachdem das Problem
+ der lesbaren Mail-Adressen gelöst wurde, ist es angestrebt, dass
+ die gesamten Archive in das News-Group-Archiv `importiert
+ <http://gmane.org/import.php>`_ werden.
+
+Features
+~~~~~~~~
+
+Suchmaschine
+------------
+
+Gmane_ verfügt über eine Suchmaschine, die die entsprechenden
+News-Archive durchsuchen.
+
+.. important:: Zumindest übergangsweise wäre es gut, diese
+ Suchmaschine direkt über die `Web-Sites`_ zu verlinken oder
+ anderweitig zu integrieren.
+
+.. LocalWords: reStructuredText Premium page premium oekonux www org Hoster
+.. LocalWords: konferenz conference second third gehosteten MagicPoint Upload
+.. LocalWords: SDF make MHonArc Harvesting ToDo important JavaScript noframes
+.. LocalWords: wget pox Privacy Policy site default html Sitemap FreeFind you
+.. LocalWords: Perlfect clf Search webalizer mail mail chart Referrer co chat
+.. LocalWords: forum Kalka Chris Croome Gmane DOT list en mbox Subversion cvs
+.. LocalWords: StefanMn projekt helfer referenten gepollt Sympa SmartList
+.. LocalWords: MailMan buug SpamAssassin Individual Network vLinux server
+.. LocalWords: Repository QBullets annotate hreflang
diff --git a/sandbox/xml2rst/tests/real/original/WikiRequirements.rst b/sandbox/xml2rst/tests/real/original/WikiRequirements.rst
new file mode 100644
index 000000000..7131f67b6
--- /dev/null
+++ b/sandbox/xml2rst/tests/real/original/WikiRequirements.rst
@@ -0,0 +1,314 @@
+#FORMAT rst
+
+================================
+Requirements for an Oekonux Wiki
+================================
+
+.. contents::
+
+.. ############################################################################
+.. ############################################################################
+
+============
+Introduction
+============
+
+In `Project Oekonux`_ there has been a long discussion about setting
+up a Wiki for the project. Also several attempts to establish a Wiki
+have been made. Most of these discussions took place on |projekt|
+which is the organizing body of the project.
+
+One of the most important questions was which Wiki software to use.
+Finally a decision has been made based upon the requirements being
+raised.
+
+The following lists all the requirements which have been found and
+lists the alternative solutions for them. One reason for this list is
+to document the design decisions / choices taken and their basis in
+the requirements. This way it is easier to
+
+* understand the decisions
+
+* change decisions while not forgetting about reasons for the original
+ decision
+
+.. ############################################################################
+.. ############################################################################
+
+============
+Requirements
+============
+
+Non-functional requirements
+===========================
+
+1. The software must have an active developer community and must be
+ Free
+
+ :Rationale: Only an active developer community of a Free Software
+ project guarantees for a constant development.
+
+ Discussion came down to two candidates which met this requirement:
+ MediaWiki_ and MoinMoin_. The following requirements list
+ alternative solutions only for these two Wiki implementations.
+
+2. The software must be easy to use for people used to Wikipedia
+
+ :Rationale: Because of the overwhelming success of Wikipedia many
+ people are used to the way how Wikipedia is operated.
+
+ :MediaWiki: Given by definition.
+
+ :MoinMoin: The typical use cases need to be identified and a
+ special help page must be created for these users.
+
+.. ############################################################################
+
+Functional requirements
+=======================
+
+1. Email notification must be possible sending diffs and other changes
+
+ :Rationale: Email notification is a basic requirement for any
+ offline processing.
+
+ :MediaWiki: Rumor has it that there is a plug-in for email
+ notification but nobody saw it yet (2005-03-26).
+
+ :MoinMoin: Supports email notification as diffs for arbitrary pages
+ and page groups (regular expression). Only notifies on moves and
+ deletion of pages.
+
+2. It must be possible to limit changeability of a page (for instance
+ for user's pages)
+
+ :Rationale: Some pages are private pages or should not be changes
+ for other reasons.
+
+ :MediaWiki: Don't know whether this can be enforced technically.
+
+ :MoinMoin: Implements access control lists (ACL) allowing for
+ arbitrary rights.
+
+3. Categories must be possible
+
+ :Rationale: With categories can form arbitrary non-hierarchical
+ structures
+
+ :MediaWiki: Available.
+
+ :MoinMoin: Available.
+
+4. Navigation panels must be available
+
+ :Rationale: Useful to create overviews.
+
+ :MediaWiki: Available.
+
+ :MoinMoin: Available as ``Navigation`` macro for hierarchical
+ structures and as ``PageList`` macro for structures based logical
+ expressions on regular expressions over page names.
+
+5. A version history must be available
+
+ :Rationale: Needed to get an overview of the change history of a
+ page.
+
+ :MediaWiki: Available.
+
+ :MoinMoin: Available.
+
+6. List of changes for a given user must be available
+
+ :Rationale: Nice to have.
+
+ :MediaWiki: Available.
+
+ :MoinMoin: Not available.
+
+7. A watch list must be possible reporting about the latest changes
+ for a given set of pages
+
+ :Rationale: Nice to have.
+
+ :MediaWiki: Available.
+
+ :MoinMoin: Can be simulated by email notification.
+
+8. Automatic links by using CamelCase (aka WikiWords) must not be the
+ default
+
+ :Rationale: CamelCase makes sense only in certain language. In
+ particular German is a language where automatic CamelCase links
+ are not too useful.
+
+ :MediaWiki: CamelCase words never create automatic links.
+
+ :MoinMoin: The |NoCamelCase| plug-in makes this the default.
+
+9. Support for other than the standard Wiki syntaxes like
+ reStructuredText_ must be available
+
+ :Rationale: All Wiki languages suck so support for more sane
+ syntaxes is a very useful thing. In particular support for
+ reStructuredText_ being a powerful language and a good candidate
+ for a standard ASCII based markup language.
+
+ :MediaWiki: There is no support for any other syntax than the
+ MediaWiki syntax.
+
+ :MoinMoin: Offers several syntaxes by the concept of parsers. Among
+ the available syntaxes are reStructuredText_ and LaTeX_.
+
+10. Arbitrary attachments must be possible
+
+ :Rationale: Nice to have to attach arbitrary data to a page. In
+ particular it makes possible to include material not marked up in
+ the Wiki syntax.
+
+ :MediaWiki: Unknown but probably available.
+
+ :MoinMoin: Available.
+
+11. Shortcuts for links must be available
+
+ :Rationale: In particular it is useful to be able to reference
+ entries in the Oekonux mailing list archive as easy as possible.
+
+ :MediaWiki: Implements this by templates.
+
+ :MoinMoin: Implements by InterWiki links.
+
+12. Page templates must be available
+
+ :Rationale: Page templates are a good way to support policy
+ decisions by offering standard templates for all page types.
+
+ :MediaWiki: Not available.
+
+ :MoinMoin: Available.
+
+13. It must be possible to revert page changes
+
+ :Rationale: Useful to undo unwanted changes.
+
+ :MediaWiki: Available.
+
+ :MoinMoin: Available.
+
+14. It must be possible to know who did a change in a page
+
+ :Rationale: Nice to have.
+
+ :MediaWiki: Available.
+
+ :MoinMoin: Available.
+
+15. Offline usage must be possible as far as possible
+
+ :Rationale: Not everyone is always online so offline facilities are
+ generally useful. Offline usage includes
+
+ * a push feature for change notification
+
+ * browsing
+
+ * editing
+
+ :MediaWiki: Not available. At most email notification is available.
+
+ :MoinMoin: Email notification allows for monitoring changes and in
+ principle the diffs can be used to update a local copy. A local
+ installation of MoinMoin_ only needs Python and MoinMoin_ so it
+ is easy to accomplish. Because MoinMoin_ uses a file based
+ storage scheme it is at least easy to update a local copy in
+ short online phases for offline use so at least offline browsing
+ is available.
+
+16. Pages must be locked during they are edited
+
+ :Rationale: Page locking prevents parallel editing of a page which
+ is useful in a highly frequented Wiki.
+
+ :MediaWiki: Not available.
+
+ :MoinMoin: Editing a page locks it for 10 minutes and the lock can
+ be renewed.
+
+17. It must be possible to edit sections of a page
+
+ :Rationale: Makes parallel editing of a page less dangerous which
+ is useful in a highly frequented Wiki.
+
+ :MediaWiki: Available.
+
+ :MoinMoin: Not available.
+
+.. ############################################################################
+
+Requirements for policy choices
+===============================
+
+1. Pages standing in a certain close relation to a certain other page
+ must be possible in a sane way
+
+ :Rationale: There are several ways in which a page can have closely
+ related pages (e.g. discussion pages). It makes sense to have a
+ uniform way to express this relation.
+
+ :MediaWiki: Implements discussion pages as one a special type of
+ closely related pages by suffixing ``Discussion`` to the
+ namespace of a page. For other closely related pages there is no
+ fixed implementation.
+
+ :MoinMoin: By making sub-pages possible all types of closely
+ related pages can be implemented by some fixed names being part
+ of a policy and supported by page templates.
+
+2. Structuring of content must be possible by a page hierarchy
+
+ :Rationale: The maintenance policy may decide to have a page
+ hierarchy as a structuring principle.
+
+ :MediaWiki: Implements a top level structure by namespaces and
+ allows for structuring otherwise.
+
+ :MoinMoin: With sub-pages arbitrary hierarchies can be build on any
+ level.
+
+3. Sub-Wikis must be possible
+
+ :Rationale: The maintenance policy may decide this makes sense.
+
+ :MediaWiki: Not available.
+
+ :MoinMoin: Could be done in a page hierarchy on any level.
+
+4. Underscores and white-space in page names must be possible but
+ insignificant
+
+ :Rationale: If the maintenance policy decides that underscores and
+ white-space may be used in arbitrary ways the software must be
+ able to reflect this.
+
+ :MediaWiki: Unknown.
+
+ :MoinMoin: Underscores and white-space is significant.
+
+.. ############################################################################
+.. ############################################################################
+
+.. |projekt| replace:: `the projekt mailing list`_
+.. |NoCamelCase| replace:: NoCamelCase_
+
+.. _`Project Oekonux`: http://www.oekonux.de/
+.. _`the projekt mailing list`: http://www.oekonux.de/projekt/liste/
+.. _MediaWiki: http://wikipedia.sourceforge.net/
+.. _MoinMoin: http://moinmoin.wikiwikiweb.de/
+.. _reStructuredText: http://docutils.sourceforge.net/rst.html
+.. _LaTeX: http://www.latex-project.org/
+.. _NoCamelCase: http://moinmoin.wikiwikiweb.de/ParserMarket/NoCamelCase
+
+.. LocalWords: diffs CamelCase InterWiki MoinMoin rst projekt MediaWiki aka
+.. LocalWords: Wikipedia PageList WikiWords reStructuredText
+.. LocalWords: Wikis NoCamelCase
diff --git a/sandbox/xml2rst/tests/real/readable/Machinery.xml b/sandbox/xml2rst/tests/real/readable/Machinery.xml
new file mode 100644
index 000000000..cf3c0089c
--- /dev/null
+++ b/sandbox/xml2rst/tests/real/readable/Machinery.xml
@@ -0,0 +1,1410 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by Docutils 0.8 -->
+<document source="original/Machinery.rst">
+ <paragraph>
+ #format rst
+#language en
+ </paragraph>
+ <paragraph>
+ <reference anonymous="1" name="Discussion" refuri="/Talk">
+ Discussion
+ </reference>
+ </paragraph>
+ <target anonymous="1" ids="id1" refuri="/Talk"/>
+ <topic classes="contents" ids="contents" names="contents">
+ <title>
+ Contents
+ </title>
+ <bullet_list>
+ <list_item>
+ <paragraph>
+ <reference ids="id5" refid="overview">
+ Overview
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id6" refid="dedicated-oekonux-server">
+ Dedicated Oekonux server
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id7" refid="mailing-lists">
+ Mailing lists
+ </reference>
+ </paragraph>
+ <bullet_list>
+ <list_item>
+ <paragraph>
+ <reference ids="id8" refid="existing-lists">
+ Existing lists
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id9" refid="hosting">
+ Hosting
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id10" refid="features">
+ Features
+ </reference>
+ </paragraph>
+ <bullet_list>
+ <list_item>
+ <paragraph>
+ <reference ids="id11" refid="spam-protection">
+ Spam protection
+ </reference>
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </list_item>
+ </bullet_list>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id12" refid="web-sites">
+ Web sites
+ </reference>
+ </paragraph>
+ <bullet_list>
+ <list_item>
+ <paragraph>
+ <reference ids="id13" refid="id2">
+ Hosting
+ </reference>
+ </paragraph>
+ <bullet_list>
+ <list_item>
+ <paragraph>
+ <reference ids="id14" refid="provider">
+ Provider
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id15" refid="domains">
+ Domains
+ </reference>
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id16" refid="id3">
+ Features
+ </reference>
+ </paragraph>
+ <bullet_list>
+ <list_item>
+ <paragraph>
+ <reference ids="id17" refid="web-space">
+ Web space
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id18" refid="traffic">
+ Traffic
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id19" refid="mail-addresses">
+ Mail addresses
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id20" refid="generation-and-upload">
+ Generation and Upload
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id21" refid="static-pages">
+ Static pages
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id22" refid="navigation">
+ Navigation
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id23" refid="locale-search-engine">
+ Locale search engine
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id24" refid="rss-feed">
+ RSS-Feed
+ </reference>
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id25" refid="content">
+ Content
+ </reference>
+ </paragraph>
+ <bullet_list>
+ <list_item>
+ <paragraph>
+ <reference ids="id26" refid="general">
+ General
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id27" refid="archives">
+ Archives
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id28" refid="texts">
+ Texts
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id29" refid="link-page">
+ Link page
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id30" refid="statistics">
+ Statistics
+ </reference>
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </list_item>
+ </bullet_list>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id31" refid="opentheory">
+ OpenTheory
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id32" refid="wiki">
+ Wiki
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id33" refid="news-groups">
+ News groups
+ </reference>
+ </paragraph>
+ <bullet_list>
+ <list_item>
+ <paragraph>
+ <reference ids="id34" refid="id4">
+ Features
+ </reference>
+ </paragraph>
+ <bullet_list>
+ <list_item>
+ <paragraph>
+ <reference ids="id35" refid="search-engine">
+ Search engine
+ </reference>
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </list_item>
+ </bullet_list>
+ </list_item>
+ </bullet_list>
+ </topic>
+ <paragraph>
+ This page describes the machinery used by the
+ <reference name="Oekonux community" refuri="http://www.oekonux.de/">
+ Oekonux community
+ </reference>
+ .
+This page is motivated by a
+ <reference name="thread about this topic" refuri="http://www.oekonux.de/projekt/liste/archive/msg03333.html">
+ thread about this topic
+ </reference>
+ <target ids="thread-about-this-topic" names="thread\ about\ this\ topic" refuri="http://www.oekonux.de/projekt/liste/archive/msg03333.html"/>
+ on the
+
+ <reference name="project list" refuri="http://www.oekonux.de/projekt/liste/">
+ project list
+ </reference>
+ , which cares about the organization of the project.
+ </paragraph>
+ <paragraph>
+ The intention of this page is to reflect the current state of the
+machinery. It is originally written in German which is available as
+the first version of this page.
+ </paragraph>
+ <section ids="overview" names="overview">
+ <title refid="id5">
+ Overview
+ </title>
+ <paragraph>
+ The
+ <reference name="Oekonux community" refuri="http://www.oekonux.de/">
+ Oekonux community
+ </reference>
+ currently uses the following technical
+facilities:
+ </paragraph>
+ <bullet_list bullet="*">
+ <list_item>
+ <paragraph>
+ <reference name="mailing lists" refid="mailing-lists">
+ mailing lists
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference name="web sites" refid="web-sites">
+ web sites
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference name="OpenTheory" refid="opentheory">
+ OpenTheory
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference name="news groups" refid="news-groups">
+ news groups
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference name="Wiki" refid="wiki">
+ Wiki
+ </reference>
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ <paragraph>
+ As far as I know other facilities such as IRC are currently not used.
+ </paragraph>
+ <target refid="oekonux-server"/>
+ </section>
+ <section ids="dedicated-oekonux-server oekonux-server" names="dedicated\ oekonux\ server oekonux\ server">
+ <title refid="id6">
+ Dedicated Oekonux server
+ </title>
+ <paragraph>
+ There is a dedicated server for the Oekonux project. Currently this is
+a virtual server based on Debian and hosted by
+ <reference name="VD server" refuri="http://www.vd-server.de/">
+ VD server
+ </reference>
+ . This
+dedicated server is paid by the
+ <reference name="Projekt Oekonux e.V." refuri="http://www.oekonux.de/projekt/verein/">
+ Projekt Oekonux e.V.
+ </reference>
+ , a registered
+association in Germany.
+ </paragraph>
+ <paragraph>
+ Today the server runs most of the technical infrastructure of the
+project. It has a fixed IP address and the DNS entries for the domains
+point to this server. The generic address of the server is
+
+ <literal>
+ server.oekonux.de
+ </literal>
+ .
+ </paragraph>
+ <paragraph>
+ The general maintainer of this server is
+ <problematic ids="id37" refid="id36">
+ HolgerWeiss_
+ </problematic>
+ , certain
+facilities are maintained mainly by
+ <problematic ids="id39" refid="id38">
+ StefanMerten_
+ </problematic>
+ .
+ </paragraph>
+ <paragraph>
+ In case it is necessary because the project needs more computing
+resources a real server could be hosted by
+ <reference name="Individual Network Berlin" refuri="http://www.in-berlin.de/">
+ Individual Network
+Berlin
+ </reference>
+ .
+ </paragraph>
+ </section>
+ <section ids="mailing-lists" names="mailing\ lists">
+ <title refid="id7">
+ Mailing lists
+ </title>
+ <section ids="existing-lists" names="existing\ lists">
+ <title refid="id8">
+ Existing lists
+ </title>
+ <paragraph>
+ The following lists exist:
+ </paragraph>
+ <bullet_list bullet="*">
+ <list_item>
+ <paragraph>
+ <literal>
+ liste AT oekonux DOT de
+ </literal>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <literal>
+ list-en AT oekonux DOT org
+ </literal>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <literal>
+ projekt AT oekonux DOT de
+ </literal>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <literal>
+ chat AT oekonux DOT de
+ </literal>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <literal>
+ mitglieder AT oekonux DOT de
+ </literal>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <literal>
+ helfer AT oekonux-konferenz DOT de
+ </literal>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <literal>
+ referenten AT oekonux-konferenz DOT de
+ </literal>
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ <paragraph>
+ For all mailing lists there are
+ <reference name="archives" refid="archives">
+ archives
+ </reference>
+ , which are on the web sites
+of the domain they belong to.
+ </paragraph>
+ </section>
+ <section dupnames="hosting" ids="hosting">
+ <title refid="id9">
+ Hosting
+ </title>
+ <paragraph>
+ All mailing lists are hosted on the
+ <reference name="Oekonux server" refid="oekonux-server">
+ Oekonux server
+ </reference>
+ . The mailing
+lists are all served by a
+ <reference name="Majordomo" refuri="http://www.greatcircle.com/majordomo/">
+ Majordomo
+ </reference>
+ .
+ </paragraph>
+ </section>
+ <section dupnames="features" ids="features">
+ <title refid="id10">
+ Features
+ </title>
+ <section ids="spam-protection" names="spam\ protection">
+ <title refid="id11">
+ Spam protection
+ </title>
+ <paragraph>
+ Mail to all mailing lists is routed over a
+ <reference name="SpamAssassin" refuri="http://www.spamassassin.org/">
+ SpamAssassin
+ </reference>
+ . This is
+indispensable because the addresses of the mailing lists have a wide
+distribution.
+ </paragraph>
+ <paragraph>
+ The SpamAssassin installation needs some maintenance once in a while
+to be ready for the latest ideas of spammers. This maintenance is done
+by
+ <problematic ids="id41" refid="id40">
+ StefanMerten_
+ </problematic>
+ .
+ </paragraph>
+ <paragraph>
+ Unfortunately the spam filtering does not catch all spam :-( .
+Therefore the mailing lists have been closed so only subscribers can
+post to the list unmoderated. The bounces of spam and legitimate mail
+from non-subscribers are handled by
+ <problematic ids="id43" refid="id42">
+ StefanMerten_
+ </problematic>
+ . All other tasks
+necessary for keeping the mailing lists running are also handled by
+
+ <problematic ids="id45" refid="id44">
+ StefanMerten_
+ </problematic>
+ .
+ </paragraph>
+ </section>
+ </section>
+ </section>
+ <section ids="web-sites" names="web\ sites">
+ <title refid="id12">
+ Web sites
+ </title>
+ <section dupnames="hosting" ids="id2">
+ <title refid="id13">
+ Hosting
+ </title>
+ <section ids="provider" names="provider">
+ <title refid="id14">
+ Provider
+ </title>
+ <paragraph>
+ There is no special provider for the web sites. All web sites are
+hosted on the
+ <reference name="Oekonux server" refid="oekonux-server">
+ Oekonux server
+ </reference>
+ .
+ </paragraph>
+ <paragraph>
+ Because of their size the audio files which mainly have been recorded
+during the conferences are kept on web space donated by various
+people.
+ </paragraph>
+ <paragraph>
+ Before conferences resources of the
+ <reference name="OpenTheory project" refuri="http://www.opentheory.org/">
+ OpenTheory project
+ </reference>
+ are used
+for online creation and presentation of the program of the conference.
+ </paragraph>
+ </section>
+ <section ids="domains" names="domains">
+ <title refid="id15">
+ Domains
+ </title>
+ <paragraph>
+ There are four domains for which the
+ <reference name="e.V." refuri="http://www.oekonux.de/projekt/verein/">
+ e.V.
+ </reference>
+ is the owner:
+ </paragraph>
+ <bullet_list bullet="*">
+ <list_item>
+ <paragraph>
+ <literal>
+ oekonux.de
+ </literal>
+ </paragraph>
+ <paragraph>
+ Under
+ <literal>
+ www
+ </literal>
+ the German main page of the project can be found.
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <literal>
+ oekonux.org
+ </literal>
+ </paragraph>
+ <paragraph>
+ Under
+ <literal>
+ www
+ </literal>
+ the international main page of the project can be
+found.
+ </paragraph>
+ <paragraph>
+ Also the Wikis are all hosted here:
+ </paragraph>
+ <bullet_list bullet="*">
+ <list_item>
+ <paragraph>
+ <literal>
+ en.wiki
+ </literal>
+ </paragraph>
+ <paragraph>
+ The English language Wiki.
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <literal>
+ de.wiki
+ </literal>
+ </paragraph>
+ <paragraph>
+ The German language Wiki.
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <literal>
+ oekonux-konferenz.de
+ </literal>
+ </paragraph>
+ <paragraph>
+ The German domain for everything around the Oekonux conferences.
+ </paragraph>
+ <bullet_list bullet="-">
+ <list_item>
+ <paragraph>
+ <literal>
+ www
+ </literal>
+ </paragraph>
+ <paragraph>
+ Entry point for the most recent conference.
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <literal>
+ erste
+ </literal>
+ ,
+ <literal>
+ zweite
+ </literal>
+ ,
+ <literal>
+ dritte
+ </literal>
+ </paragraph>
+ <paragraph>
+ Entry points for the respective conference.
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <literal>
+ oekonux-conference.org
+ </literal>
+ </paragraph>
+ <paragraph>
+ The international domains for everything around the Oekonux
+conferences.
+ </paragraph>
+ <bullet_list bullet="-">
+ <list_item>
+ <paragraph>
+ <literal>
+ www
+ </literal>
+ </paragraph>
+ <paragraph>
+ Entry point for the most recent conference.
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <literal>
+ second
+ </literal>
+ ,
+ <literal>
+ third
+ </literal>
+ </paragraph>
+ <paragraph>
+ Entry points for the respective conference.
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </list_item>
+ </bullet_list>
+ <paragraph>
+ More domains were present before the
+ <reference name="e.V." refuri="http://www.oekonux.de/projekt/verein/">
+ e.V.
+ </reference>
+ took them over but they
+have been abandoned.
+ </paragraph>
+ </section>
+ </section>
+ <section dupnames="features" ids="id3">
+ <title refid="id16">
+ Features
+ </title>
+ <section ids="web-space" names="web\ space">
+ <title refid="id17">
+ Web space
+ </title>
+ <paragraph>
+ The audio files hosted externally sum up to about 4GB.
+ </paragraph>
+ </section>
+ <section ids="traffic" names="traffic">
+ <title refid="id18">
+ Traffic
+ </title>
+ <comment xml:space="preserve">
+ $$$
+ </comment>
+ <paragraph>
+ There are statistics about the
+ <reference name="network traffic" refuri="http://traffic.oekonux.de/">
+ network traffic
+ </reference>
+ <target ids="network-traffic" names="network\ traffic" refuri="http://traffic.oekonux.de/"/>
+ and the
+ <problematic ids="id47" refid="id46">
+ `page hits
+http://www.oekonux.de/projekt/statistik/website/`_
+ </problematic>
+ .
+ </paragraph>
+ </section>
+ <section ids="mail-addresses" names="mail\ addresses">
+ <title refid="id19">
+ Mail addresses
+ </title>
+ <paragraph>
+ All domains support a couple of mail addresses. They are mainly used
+for the
+ <reference name="mailing lists" refid="mailing-lists">
+ mailing lists
+ </reference>
+ .
+ </paragraph>
+ <paragraph>
+ Besides the functional mail addresses there is only one private mail
+address. Generally it is possible to create more private mail
+addresses. Such private mail address must contain the family name of
+the person.
+ </paragraph>
+ </section>
+ <section ids="generation-and-upload" names="generation\ and\ upload">
+ <title refid="id20">
+ Generation and Upload
+ </title>
+ <paragraph>
+ At the moment all content of the web sites is generated by
+
+ <problematic ids="id49" refid="id48">
+ StefanMerten_
+ </problematic>
+ on his private computer and uploaded onto the server.
+Among other facilities the SDF format is used and the whole thing is
+embedded in a
+ <literal>
+ make
+ </literal>
+ based automation.
+ </paragraph>
+ <important>
+ <paragraph>
+ The sources for the static pages have been brought to a
+CVS repository eons ago. However, this has not been used.
+ </paragraph>
+ <paragraph>
+ In general it would be good if a new solution for the web sites
+would be available by CVS. With this many people could work on the
+site.
+ </paragraph>
+ <paragraph>
+ <problematic ids="id51" refid="id50">
+ StefanMerten_
+ </problematic>
+ would appreciate that the sources of the web pages
+are created in a format close to ASCII - at best
+ <reference name="reStructuredText" refuri="http://docutils.sourceforge.net/rst.html">
+ reStructuredText
+ </reference>
+ .
+He is ready to provide a converter from the current format.
+ </paragraph>
+ </important>
+ </section>
+ <section ids="static-pages" names="static\ pages">
+ <title refid="id21">
+ Static pages
+ </title>
+ <paragraph>
+ Apart from the Wiki pages nearly all pages in the Oekonux domains are
+static HTML pages without any JavaScript or other active elements. By
+this they are
+ </paragraph>
+ <bullet_list bullet="*">
+ <list_item>
+ <paragraph>
+ usable by
+ <emphasis>
+ all
+ </emphasis>
+ browsers
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ readable for all times
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ no security risk for the server
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ stable URLs without variable parts
+ </paragraph>
+ <paragraph>
+ Many search engines ignore links containing a
+ <literal>
+ ?
+ </literal>
+ .
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ need no maintenance
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ friendly to external search engines
+ </paragraph>
+ <paragraph>
+ Though navigation is done by frames there is always a
+ <literal>
+ &lt;noframes&gt;
+ </literal>
+
+section which contains the links.
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ can be downloaded with tools like
+ <literal>
+ wget
+ </literal>
+ completely and without
+problems
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ works with every web hosting offer
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </section>
+ <section ids="navigation" names="navigation">
+ <title refid="id22">
+ Navigation
+ </title>
+ <paragraph>
+ Navigation is realized with frames. A narrow frame on the left is
+modeled after a file browser. It permanently presents the current
+position in the site. The right frame contains the selected content.
+If a directory is selected in the navigation the content frame
+
+ <literal>
+ default.html
+ </literal>
+ always appears.
+ </paragraph>
+ <paragraph>
+ Apart from this each third level domain has a separate site map.
+ </paragraph>
+ <paragraph>
+ Links in all pages are followed by
+ <reference name="QBullets" refuri="http://www.matterform.com/qbullets/">
+ QBullets
+ </reference>
+ which roughly give the
+type of the link.
+ </paragraph>
+ </section>
+ <section ids="locale-search-engine" names="locale\ search\ engine">
+ <title refid="id23">
+ Locale search engine
+ </title>
+ <comment xml:space="preserve">
+ $$$ Link ht://dig
+ </comment>
+ <paragraph>
+ Currently the local search engine is replaced by a ht://dig based
+solution.
+ </paragraph>
+ </section>
+ <section ids="rss-feed" names="rss-feed">
+ <title refid="id24">
+ RSS-Feed
+ </title>
+ <important>
+ <paragraph>
+ There is no RSS feed yet but it would be nice to have
+one.
+ </paragraph>
+ </important>
+ </section>
+ </section>
+ <section ids="content" names="content">
+ <title refid="id25">
+ Content
+ </title>
+ <section ids="general" names="general">
+ <title refid="id26">
+ General
+ </title>
+ <important>
+ <paragraph>
+ In general the sites are not maintained really. This is
+bad.
+ </paragraph>
+ </important>
+ <important>
+ <paragraph>
+ In particular it would be good if the international
+site would have more of the content of the German site.
+Particularly it would be good to have the
+ <reference name="Oekonux links" refuri="http://www.oekonux.de/projekt/links.html">
+ Oekonux links
+ </reference>
+ in
+English. Also the structure of the project should be presented on
+the international site.
+ </paragraph>
+ </important>
+ </section>
+ <section ids="archives" names="archives">
+ <title refid="id27">
+ Archives
+ </title>
+ <paragraph>
+ All
+ <reference name="mailing lists" refid="mailing-lists">
+ mailing lists
+ </reference>
+ of the project are archived on the web sites.
+
+ <problematic ids="id53" refid="id52">
+ StefanMerten_
+ </problematic>
+ converts the incoming mails to HTML by
+ <reference name="MHonArc" refuri="http://www.mhonarc.org/">
+ MHonArc
+ </reference>
+ and
+uploaded automatically.
+ </paragraph>
+ <paragraph>
+ HTML pages for the archives are filtered. At the moment
+ </paragraph>
+ <bullet_list bullet="*">
+ <list_item>
+ <paragraph>
+ comments of
+ <reference name="MHonArc" refuri="http://www.mhonarc.org/">
+ MHonArc
+ </reference>
+ are removed
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ phone numbers are replaced by a fixed text
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ names of certain people who decided to late that they not want to be
+found in Oekonux by Google are shortened
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ all URLs pointing to mail addresses are obfuscated a bit
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ mail addresses are obfuscated
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ <important>
+ <paragraph>
+ There is a request to have the archives on the
+ <reference name="web sites" refid="web-sites">
+ web
+sites
+ </reference>
+ in mbox format. For this it must be clarified what can be
+done against mail address harvesting.
+ </paragraph>
+ </important>
+ <paragraph>
+ Removal of archived pages is also widely automated. However, it needs
+an explicit call with the number of the mail to remove.
+ </paragraph>
+ <important>
+ <paragraph>
+ Right now the removed mail is removed only from the
+indexes but
+ <emphasis>
+ not
+ </emphasis>
+ from the server. By this it is no longer
+reachable by neighboring mails or an index but the are generally
+accessible. This must be changed.
+ </paragraph>
+ </important>
+ </section>
+ <section ids="texts" names="texts">
+ <title refid="id28">
+ Texts
+ </title>
+ <paragraph>
+ Several texts of the project are available on the
+ <reference name="web sites" refid="web-sites">
+ web sites
+ </reference>
+ .
+ </paragraph>
+ <paragraph>
+ Among them is an introduction for which MagicPoint sources are
+available.
+ </paragraph>
+ </section>
+ <section ids="link-page" names="link\ page">
+ <title refid="id29">
+ Link page
+ </title>
+ <paragraph>
+ One of the most important content resources of the
+ <reference name="Oekonux community" refuri="http://www.oekonux.de/">
+ Oekonux
+community
+ </reference>
+ are the
+ <reference name="Oekonux links" refuri="http://www.oekonux.de/projekt/links.html">
+ Oekonux links
+ </reference>
+ , where interesting links are
+entered with a short comment. The page is structured.
+ </paragraph>
+ <important>
+ <paragraph>
+ It would be good if each of the
+ <reference name="Oekonux links" refuri="http://www.oekonux.de/projekt/links.html">
+ Oekonux links
+ </reference>
+ would
+get a creation date. Meanwhile this would have some historical
+value.
+ </paragraph>
+ <paragraph>
+ In general for existing links this would be possible by
+ <literal>
+ cvs
+annotate
+ </literal>
+ .
+ </paragraph>
+ </important>
+ <important>
+ <paragraph>
+ It would be useful if the language of the page behind
+the link would be given. This can be done by the HTML attribute
+
+ <literal>
+ hreflang
+ </literal>
+ .
+ </paragraph>
+ </important>
+ </section>
+ <section ids="statistics" names="statistics">
+ <title refid="id30">
+ Statistics
+ </title>
+ <paragraph>
+ Statistics are available about the usage of the
+ <reference name="mailing lists" refid="mailing-lists">
+ mailing lists
+ </reference>
+ as
+well as about the
+ <reference name="web sites" refid="web-sites">
+ web sites
+ </reference>
+ usage on the
+ <reference name="web sites" refid="web-sites">
+ web sites
+ </reference>
+ . All
+statistics are created weekly by some Free Software (
+ <reference name="webalizer" refuri="http://www.webalizer.org/">
+ webalizer
+ </reference>
+ ,
+
+ <reference name="mail2clf" refuri="http://www.merten-home.de/FreeSoftware/mail2clf/">
+ mail2clf
+ </reference>
+ ,
+ <reference name="mail2chart" refuri="http://www.merten-home.de/FreeSoftware/mail2chart/">
+ mail2chart
+ </reference>
+ ) automatically by
+ <problematic ids="id55" refid="id54">
+ StefanMerten_
+ </problematic>
+ and uploaded.
+ </paragraph>
+ </section>
+ </section>
+ </section>
+ <section ids="opentheory" names="opentheory">
+ <title refid="id31">
+ OpenTheory
+ </title>
+ <paragraph>
+ Many texts from the project and from its environment are available in
+the
+ <reference name="OpenTheory project" refuri="http://www.opentheory.org/">
+ OpenTheory project
+ </reference>
+ . Some of them are gathered in the
+ <reference name="Oekonux OpenTheory project" refuri="http://www.opentheory.org/oekonux/">
+ Oekonux
+OpenTheory project
+ </reference>
+ .
+ </paragraph>
+ <paragraph>
+ The texts are about Oekonux content as well as for organizational
+purposes. In particular the conference preparation has been done
+there.
+ </paragraph>
+ </section>
+ <section ids="wiki" names="wiki">
+ <title refid="id32">
+ Wiki
+ </title>
+ <paragraph>
+ Currently there are two Oekonux Wikis at
+ </paragraph>
+ <bullet_list bullet="*">
+ <list_item>
+ <paragraph>
+ <reference refuri="http://en.wiki.oekonux.org/">
+ http://en.wiki.oekonux.org/
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference refuri="http://de.wiki.oekonux.org/">
+ http://de.wiki.oekonux.org/
+ </reference>
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ <paragraph>
+ They are based on the
+ <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">
+ MoinMoin
+ </reference>
+ Wiki engine.
+ </paragraph>
+ <paragraph>
+ The content is maintained by a group of maintainers (
+ <reference name="English" refuri="http://en.wiki.oekonux.org/MaintainerGroup">
+ English
+ </reference>
+ <target ids="english" names="english" refuri="http://en.wiki.oekonux.org/MaintainerGroup"/>
+ ,
+ <reference name="German" refuri="http://de.wiki.oekonux.org/MaintainerGruppe">
+ German
+ </reference>
+ <target ids="german" names="german" refuri="http://de.wiki.oekonux.org/MaintainerGruppe"/>
+ . The technical part
+of the Wikis is maintained by
+ <problematic ids="id57" refid="id56">
+ StefanMerten_
+ </problematic>
+ .
+ </paragraph>
+ </section>
+ <section ids="news-groups" names="news\ groups">
+ <title refid="id33">
+ News groups
+ </title>
+ <paragraph>
+ Since end of 2003 the main discussion
+ <reference name="mailing lists" refid="mailing-lists">
+ mailing lists
+ </reference>
+ are available
+through
+ <reference name="Gmane" refuri="http://gmane.org/">
+ Gmane
+ </reference>
+ as Usenet newsgroups:
+ </paragraph>
+ <bullet_list bullet="*">
+ <list_item>
+ <paragraph>
+ <reference refuri="news://news.gmane.org/gmane.politics.oekonux.german">
+ news://news.gmane.org/gmane.politics.oekonux.german
+ </reference>
+ </paragraph>
+ <paragraph>
+ Mirrors
+ <literal>
+ liste AT oekonux DOT de
+ </literal>
+ .
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference refuri="news://news.gmane.org/gmane.politics.oekonux.english">
+ news://news.gmane.org/gmane.politics.oekonux.english
+ </reference>
+ </paragraph>
+ <paragraph>
+ Mirrors
+ <literal>
+ list-en AT oekonux DOT org
+ </literal>
+ .
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ <paragraph>
+ The newsgroups are configured in a way replies by news are not
+possible.
+ </paragraph>
+ <important>
+ <paragraph>
+ For now the newsgroup archives contain only those mails
+written after the newsgroup feature was in place. After the problem
+of readable mail addresses has been solved the whole archive shall
+be
+ <reference name="brought" refuri="http://gmane.org/import.php">
+ brought
+ </reference>
+ <target ids="brought" names="brought" refuri="http://gmane.org/import.php"/>
+ to the newsgroup archive
+ </paragraph>
+ </important>
+ <section dupnames="features" ids="id4">
+ <title refid="id34">
+ Features
+ </title>
+ <section ids="search-engine" names="search\ engine">
+ <title refid="id35">
+ Search engine
+ </title>
+ <paragraph>
+ <reference name="Gmane" refuri="http://gmane.org/">
+ Gmane
+ </reference>
+ has a search engine which searches the newsgroups.
+ </paragraph>
+ <comment xml:space="preserve">
+ ############################################################################
+ </comment>
+ <target ids="restructuredtext" names="restructuredtext" refuri="http://docutils.sourceforge.net/rst.html"/>
+ <target ids="oekonux-community" names="oekonux\ community" refuri="http://www.oekonux.de/"/>
+ <target ids="project-list" names="project\ list" refuri="http://www.oekonux.de/projekt/liste/"/>
+ <target ids="majordomo" names="majordomo" refuri="http://www.greatcircle.com/majordomo/"/>
+ <target ids="spamassassin" names="spamassassin" refuri="http://www.spamassassin.org/"/>
+ <target refid="projekt-oekonux-e-v"/>
+ <target ids="e-v projekt-oekonux-e-v" names="e.v. projekt\ oekonux\ e.v." refuri="http://www.oekonux.de/projekt/verein/"/>
+ <target ids="opentheory-project" names="opentheory\ project" refuri="http://www.opentheory.org/"/>
+ <target ids="individual-network-berlin" names="individual\ network\ berlin" refuri="http://www.in-berlin.de/"/>
+ <target ids="qbullets" names="qbullets" refuri="http://www.matterform.com/qbullets/"/>
+ <target ids="mhonarc" names="mhonarc" refuri="http://www.mhonarc.org/"/>
+ <target ids="oekonux-links" names="oekonux\ links" refuri="http://www.oekonux.de/projekt/links.html"/>
+ <target ids="webalizer" names="webalizer" refuri="http://www.webalizer.org/"/>
+ <target ids="mail2clf" names="mail2clf" refuri="http://www.merten-home.de/FreeSoftware/mail2clf/"/>
+ <target ids="mail2chart" names="mail2chart" refuri="http://www.merten-home.de/FreeSoftware/mail2chart/"/>
+ <target ids="oekonux-opentheory-project" names="oekonux\ opentheory\ project" refuri="http://www.opentheory.org/oekonux/"/>
+ <target ids="gmane" names="gmane" refuri="http://gmane.org/"/>
+ <target ids="vd-server" names="vd\ server" refuri="http://www.vd-server.de/"/>
+ <target ids="moinmoin" names="moinmoin" refuri="http://moinmoin.wikiwikiweb.de/"/>
+ <comment xml:space="preserve">
+ ############################################################################
+ </comment>
+ <comment xml:space="preserve">
+ LocalWords: reStructuredText Premium page premium oekonux www org Hoster
+ </comment>
+ <comment xml:space="preserve">
+ LocalWords: konferenz conference second third gehosteten MagicPoint Upload
+ </comment>
+ <comment xml:space="preserve">
+ LocalWords: SDF make MHonArc Harvesting ToDo important JavaScript noframes
+ </comment>
+ <comment xml:space="preserve">
+ LocalWords: wget pox Privacy Policy site default html Sitemap FreeFind you
+ </comment>
+ <comment xml:space="preserve">
+ LocalWords: Perlfect clf Search webalizer mail mail chart Referrer co chat
+ </comment>
+ <comment xml:space="preserve">
+ LocalWords: forum Kalka Chris Croome Gmane DOT list en mbox Subversion cvs
+ </comment>
+ <comment xml:space="preserve">
+ LocalWords: StefanMn projekt helfer referenten gepollt Sympa SmartList rst
+ </comment>
+ <comment xml:space="preserve">
+ LocalWords: MailMan buug SpamAssassin Individual Network vLinux server IRC
+ </comment>
+ <comment xml:space="preserve">
+ LocalWords: Repository QBullets annotate hreflang OpenTheory Debian VD DNS
+ </comment>
+ <comment xml:space="preserve">
+ LocalWords: HolgerWeiss StefanMerten mitglieder erste zweite dritte RSS
+ </comment>
+ <comment xml:space="preserve">
+ LocalWords: MoinMoin
+ </comment>
+ </section>
+ </section>
+ </section>
+ <section classes="system-messages">
+ <title>
+ Docutils System Messages
+ </title>
+ <system_message backrefs="id37" ids="id36" level="3" line="52" source="original/Machinery.rst" type="ERROR">
+ <paragraph>
+ Unknown target name: &quot;holgerweiss&quot;.
+ </paragraph>
+ </system_message>
+ <system_message backrefs="id39" ids="id38" level="3" line="52" source="original/Machinery.rst" type="ERROR">
+ <paragraph>
+ Unknown target name: &quot;stefanmerten&quot;.
+ </paragraph>
+ </system_message>
+ <system_message backrefs="id41" ids="id40" level="3" line="100" source="original/Machinery.rst" type="ERROR">
+ <paragraph>
+ Unknown target name: &quot;stefanmerten&quot;.
+ </paragraph>
+ </system_message>
+ <system_message backrefs="id43" ids="id42" level="3" line="104" source="original/Machinery.rst" type="ERROR">
+ <paragraph>
+ Unknown target name: &quot;stefanmerten&quot;.
+ </paragraph>
+ </system_message>
+ <system_message backrefs="id45" ids="id44" level="3" line="104" source="original/Machinery.rst" type="ERROR">
+ <paragraph>
+ Unknown target name: &quot;stefanmerten&quot;.
+ </paragraph>
+ </system_message>
+ <system_message backrefs="id47" ids="id46" level="3" line="195" source="original/Machinery.rst" type="ERROR">
+ <paragraph>
+ Unknown target name: &quot;page hits http://www.oekonux.de/projekt/statistik/website/&quot;.
+ </paragraph>
+ </system_message>
+ <system_message backrefs="id49" ids="id48" level="3" line="213" source="original/Machinery.rst" type="ERROR">
+ <paragraph>
+ Unknown target name: &quot;stefanmerten&quot;.
+ </paragraph>
+ </system_message>
+ <system_message backrefs="id51" ids="id50" level="3" line="225" source="original/Machinery.rst" type="ERROR">
+ <paragraph>
+ Unknown target name: &quot;stefanmerten&quot;.
+ </paragraph>
+ </system_message>
+ <system_message backrefs="id53" ids="id52" level="3" line="304" source="original/Machinery.rst" type="ERROR">
+ <paragraph>
+ Unknown target name: &quot;stefanmerten&quot;.
+ </paragraph>
+ </system_message>
+ <system_message backrefs="id55" ids="id54" level="3" line="362" source="original/Machinery.rst" type="ERROR">
+ <paragraph>
+ Unknown target name: &quot;stefanmerten&quot;.
+ </paragraph>
+ </system_message>
+ <system_message backrefs="id57" ids="id56" level="3" line="389" source="original/Machinery.rst" type="ERROR">
+ <paragraph>
+ Unknown target name: &quot;stefanmerten&quot;.
+ </paragraph>
+ </system_message>
+ </section>
+</document>
diff --git a/sandbox/xml2rst/tests/real/readable/MediaWikiFAQ.xml b/sandbox/xml2rst/tests/real/readable/MediaWikiFAQ.xml
new file mode 100644
index 000000000..17ee89893
--- /dev/null
+++ b/sandbox/xml2rst/tests/real/readable/MediaWikiFAQ.xml
@@ -0,0 +1,834 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by Docutils 0.8 -->
+<document source="original/MediaWikiFAQ.rst">
+ <paragraph>
+ #format rst
+ </paragraph>
+ <section ids="faq-for-people-used-to-wikipedia-and-other-mediawiki-wikis" names="faq\ for\ people\ used\ to\ wikipedia\ and\ other\ mediawiki\ wikis">
+ <title refid="id14">
+ FAQ for people used to Wikipedia and other MediaWiki wikis
+ </title>
+ <topic classes="contents" ids="contents" names="contents">
+ <title>
+ Contents
+ </title>
+ <bullet_list>
+ <list_item>
+ <paragraph>
+ <reference ids="id14" refid="faq-for-people-used-to-wikipedia-and-other-mediawiki-wikis">
+ FAQ for people used to Wikipedia and other MediaWiki wikis
+ </reference>
+ </paragraph>
+ <bullet_list>
+ <list_item>
+ <paragraph>
+ <reference ids="id15" refid="introduction">
+ Introduction
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id16" refid="question-and-answers">
+ Question and answers
+ </reference>
+ </paragraph>
+ <bullet_list>
+ <list_item>
+ <paragraph>
+ <reference ids="id17" refid="of-all-users">
+ Of all users
+ </reference>
+ </paragraph>
+ <bullet_list>
+ <list_item>
+ <paragraph>
+ <reference ids="id18" refid="what-about-the-namespace-concept">
+ What about the namespace concept?
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id19" refid="what-about-the-users-namespace">
+ What about the
+ <literal>
+ Users:
+ </literal>
+ namespace?
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id20" refid="what-about-the-special-namespace">
+ What about the
+ <literal>
+ Special:
+ </literal>
+ namespace?
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id21" refid="what-about-the-talk-namespace">
+ What about the
+ <literal>
+ Talk:
+ </literal>
+ namespace?
+ </reference>
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id22" refid="of-editors">
+ Of editors
+ </reference>
+ </paragraph>
+ <bullet_list>
+ <list_item>
+ <paragraph>
+ <reference ids="id23" refid="i-m-used-to-mediawiki-syntax-can-i-use-it-in-this-wiki">
+ I'm used to
+ MediaWiki syntax
+ . Can I use it in this Wiki?
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id24" refid="though-i-m-used-to-mediawiki-syntax-i-think-it-sucks-any-alternatives">
+ Though I'm used to
+ MediaWiki syntax
+ I think it sucks. Any alternatives?
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id25" refid="i-tried-to-create-a-new-page-and-ended-up-on-this-page-offering-templates-what-s-this">
+ I tried to create a new page and ended up on this page offering templates. What's this?
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id26" refid="page-templates-ok-what-about-the-mediawiki-templates">
+ Page templates, ok. What about the
+ MediaWiki
+ templates?
+ </reference>
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </list_item>
+ </bullet_list>
+ </list_item>
+ </bullet_list>
+ </list_item>
+ </bullet_list>
+ </topic>
+ <section ids="introduction" names="introduction">
+ <title refid="id15">
+ Introduction
+ </title>
+ <paragraph>
+ This page is a FAQ page for users used to Wikipedia and other
+
+ <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">
+ MediaWiki
+ </reference>
+
+ <footnote_reference auto="1" ids="id1" refid="id2">
+ 1
+ </footnote_reference>
+ wikis. In Project Oekonux we chose
+ <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">
+ MoinMoin
+ </reference>
+ because
+at the time of the decision there was a slight technological
+superiority opening more options for its use. If you are interested in
+the reasons you may want to consult the
+ <reference name="requirements" refuri="Oekonux/Project/Wiki/Requirements_">
+ requirements
+ </reference>
+ which have been
+found then.
+ </paragraph>
+ <footnote auto="1" backrefs="id1" ids="id2" names="1">
+ <label>
+ 1
+ </label>
+ <paragraph>
+ <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">
+ MediaWiki
+ </reference>
+ is the name of the software used for Wikipedia and
+other Wikis. The software running this Wiki is called
+
+ <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">
+ MoinMoin
+ </reference>
+ .
+ </paragraph>
+ </footnote>
+ <paragraph>
+ However,
+ <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">
+ MediaWiki
+ </reference>
+ and it's use is widely known and thus Project
+Oekonux strives to make the use of this
+ <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">
+ MoinMoin
+ </reference>
+ wiki as easy to
+
+ <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">
+ MediaWiki
+ </reference>
+ users as possible. This FAQ is one attempt to do so. If you
+are a
+ <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">
+ MediaWiki
+ </reference>
+ user and have questions not covered here feel free to
+contact
+ <reference refuri="mailto:projekt@oekonux.de">
+ projekt@oekonux.de
+ </reference>
+ .
+ </paragraph>
+ <comment xml:space="preserve">
+ ############################################################################
+ </comment>
+ <comment xml:space="preserve">
+ ############################################################################
+ </comment>
+ </section>
+ <section ids="question-and-answers" names="question\ and\ answers">
+ <title refid="id16">
+ Question and answers
+ </title>
+ <section ids="of-all-users" names="of\ all\ users">
+ <title refid="id17">
+ Of all users
+ </title>
+ <section ids="what-about-the-namespace-concept" names="what\ about\ the\ namespace\ concept?">
+ <title refid="id18">
+ What about the namespace concept?
+ </title>
+ <paragraph>
+ Most of the namespaces in
+ <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">
+ MediaWiki
+ </reference>
+ are nothing else than a
+structuring facility establishing structure on a top level.
+ </paragraph>
+ <paragraph>
+ In
+ <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">
+ MoinMoin
+ </reference>
+ there is no concept of namespaces in the sense of
+
+ <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">
+ MediaWiki
+ </reference>
+ . However, there is the concept of
+ <reference name="sub pages" refuri="HelpOnEditing/SubPages_">
+ sub pages
+ </reference>
+
+ <footnote_reference auto="1" ids="id3" refid="id4">
+ 2
+ </footnote_reference>
+ which
+have names containing one or more slashes (
+ <literal>
+ /
+ </literal>
+ ).
+ </paragraph>
+ <footnote auto="1" backrefs="id3" ids="id4" names="2">
+ <label>
+ 2
+ </label>
+ <paragraph>
+ There are also sub pages in
+ <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">
+ MediaWiki
+ </reference>
+ but they are rarely used
+in any area but the
+ <literal>
+ Users:
+ </literal>
+ namespace.
+ </paragraph>
+ </footnote>
+ <paragraph>
+ In
+ <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">
+ MoinMoin
+ </reference>
+ we map the concept of namespaces to the top level
+ <reference name="sub pages" refuri="HelpOnEditing/SubPages_">
+ sub
+pages
+ </reference>
+ of the wiki. So if you have a page named
+ <literal>
+ Oekonux:Project
+ </literal>
+
+in
+ <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">
+ MediaWiki
+ </reference>
+ it would be named
+ <literal>
+ Oekonux/Project
+ </literal>
+ in
+ <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">
+ MoinMoin
+ </reference>
+ .
+ </paragraph>
+ <paragraph>
+ Please note that
+ <reference name="sub pages" refuri="HelpOnEditing/SubPages_">
+ sub pages
+ </reference>
+ are more flexible than namespaces
+because they allow for more than one level or semantic hierarchy.
+ </paragraph>
+ </section>
+ <section ids="what-about-the-users-namespace" names="what\ about\ the\ users:\ namespace?">
+ <title refid="id19">
+ What about the
+ <literal>
+ Users:
+ </literal>
+ namespace?
+ </title>
+ <paragraph>
+ Unfortunately the
+ <literal>
+ Users:
+ </literal>
+ namespace as such can not be easily
+modeled into
+ <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">
+ MoinMoin
+ </reference>
+ . The homepages of users need to stay on the
+top level so the
+ <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">
+ MediaWiki
+ </reference>
+ page
+ <literal>
+ Users:JohnDoe
+ </literal>
+ is mapped to
+
+ <literal>
+ JohnDoe
+ </literal>
+ in
+ <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">
+ MoinMoin
+ </reference>
+ .
+ </paragraph>
+ </section>
+ <section ids="what-about-the-special-namespace" names="what\ about\ the\ special:\ namespace?">
+ <title refid="id20">
+ What about the
+ <literal>
+ Special:
+ </literal>
+ namespace?
+ </title>
+ <paragraph>
+ The
+ <literal>
+ Special:
+ </literal>
+ namespace in
+ <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">
+ MediaWiki
+ </reference>
+ does not lead to normal pages
+but to pages which are generated dynamically by the software.
+ </paragraph>
+ <paragraph>
+ In
+ <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">
+ MoinMoin
+ </reference>
+ such pages (and a lot more) are modeled by
+ <problematic ids="id12" refid="id11">
+ macros_
+ </problematic>
+ . So
+what in
+ <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">
+ MediaWiki
+ </reference>
+ reads
+ <literal>
+ Special:RecentChanges
+ </literal>
+ in
+ <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">
+ MoinMoin
+ </reference>
+ is
+written
+ <literal>
+ [[RecentChanges]]
+ </literal>
+ .
+ </paragraph>
+ </section>
+ <section ids="what-about-the-talk-namespace" names="what\ about\ the\ talk:\ namespace?">
+ <title refid="id21">
+ What about the
+ <literal>
+ Talk:
+ </literal>
+ namespace?
+ </title>
+ <paragraph>
+ Actually the
+ <literal>
+ Talk:
+ </literal>
+ namespace in
+ <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">
+ MediaWiki
+ </reference>
+ reachable by the
+
+ <literal>
+ Discussion
+ </literal>
+ tab is not a namespace in the sense of the other
+namespaces. Instead it is an add-on for pages in all namespaces.
+ </paragraph>
+ <paragraph>
+ In
+ <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">
+ MoinMoin
+ </reference>
+ this is modeled by
+ <reference name="sub pages" refuri="HelpOnEditing/SubPages_">
+ sub pages
+ </reference>
+ . However, instead of
+tagging the term
+ <literal>
+ Talk
+ </literal>
+ in the very front of the name of a page in
+
+ <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">
+ MoinMoin
+ </reference>
+ this is added to the end. So for the
+ <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">
+ MediaWiki
+ </reference>
+ page name
+
+ <literal>
+ Oekonux_Talk:Project
+ </literal>
+ in
+ <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">
+ MoinMoin
+ </reference>
+ the name
+
+ <literal>
+ Oekonux/Project/Talk
+ </literal>
+ is used.
+ </paragraph>
+ <paragraph>
+ To foster similarity to
+ <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">
+ MediaWiki
+ </reference>
+ wikis most of the page templates
+for this wiki contain a link to a
+ <literal>
+ /Talk
+ </literal>
+
+ <reference name="sub page" refuri="HelpOnEditing/SubPages_">
+ sub page
+ </reference>
+ .
+ </paragraph>
+ <comment xml:space="preserve">
+ ############################################################################
+ </comment>
+ </section>
+ </section>
+ <section ids="of-editors" names="of\ editors">
+ <title refid="id22">
+ Of editors
+ </title>
+ <section ids="i-m-used-to-mediawiki-syntax-can-i-use-it-in-this-wiki" names="i'm\ used\ to\ mediawiki\ syntax.\ can\ i\ use\ it\ in\ this\ wiki?">
+ <title>
+ I'm used to
+ <reference name="MediaWiki syntax" refuri="http://meta.wikimedia.org/wiki/Help:Editing#The_wiki_markup">
+ MediaWiki syntax
+ </reference>
+ . Can I use it in this Wiki?
+ </title>
+ <paragraph>
+ By default
+ <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">
+ MoinMoin
+ </reference>
+ has a slightly
+ <problematic ids="id8" refid="id7">
+ `different syntax`_
+ </problematic>
+ then
+
+ <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">
+ MediaWiki
+ </reference>
+ . However,
+ <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">
+ MoinMoin
+ </reference>
+ can support many languages if only a
+parser is available for it. There is a parser for
+ <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">
+ MediaWiki
+ </reference>
+ syntax
+which can be used for this Wiki. All you have to do is to put
+ </paragraph>
+ <literal_block xml:space="preserve">
+ #format media
+ </literal_block>
+ <paragraph>
+ in the very first line of your document. From that point on
+ <reference name="MediaWiki syntax" refuri="http://meta.wikimedia.org/wiki/Help:Editing#The_wiki_markup">
+ MediaWiki
+syntax
+ </reference>
+ is recognized.
+ </paragraph>
+ <paragraph>
+ Currently the parser does not support the full
+ <reference name="MediaWiki syntax" refuri="http://meta.wikimedia.org/wiki/Help:Editing#The_wiki_markup">
+ MediaWiki syntax
+ </reference>
+ but
+a considerable subset of it. For most pages this subset is completely
+sufficient. For an extensive list of supported and unsupported
+features please check the
+ <reference name="documentation of the parser" refuri="http://www.merten-home.de/FreeSoftware/media4moin/manual.html">
+ documentation of the parser
+ </reference>
+ .
+ </paragraph>
+ </section>
+ <section ids="though-i-m-used-to-mediawiki-syntax-i-think-it-sucks-any-alternatives" names="though\ i'm\ used\ to\ mediawiki\ syntax\ i\ think\ it\ sucks.\ any\ alternatives?">
+ <title>
+ Though I'm used to
+ <reference name="MediaWiki syntax" refuri="http://meta.wikimedia.org/wiki/Help:Editing#The_wiki_markup">
+ MediaWiki syntax
+ </reference>
+ I think it sucks. Any alternatives?
+ </title>
+ <paragraph>
+ Because in principle
+ <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">
+ MoinMoin
+ </reference>
+ supports different syntaxes the general
+answer is: Yes, you can use other syntaxes if and when the parser
+plug-in for it exists and is installed. The default parser for
+
+ <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">
+ MoinMoin
+ </reference>
+ parses the
+ <problematic ids="id10" refid="id9">
+ `MoinMoin syntax`_
+ </problematic>
+ .
+ </paragraph>
+ <paragraph>
+ In this Wiki by default we use a variant without automatic CamelCase
+links and without
+ <problematic ids="id28" refid="id27">
+ InterWiki_
+ </problematic>
+ links without special markup. If you want
+CamelCase and
+ <problematic ids="id30" refid="id29">
+ InterWiki_
+ </problematic>
+ links put
+ </paragraph>
+ <literal_block xml:space="preserve">
+ #format wiki
+ </literal_block>
+ <paragraph>
+ in the first line of your page. The MoinMoin wiki markup language has
+more options than the MediaWiki markup language but still is quite
+illogical.
+ </paragraph>
+ <paragraph>
+ Otherwise a very promising ASCII based markup is
+ <reference name="reStructuredText" refuri="http://docutils.sourceforge.net/rst.html">
+ reStructuredText
+ </reference>
+ . It
+is far more logical than any wiki markup language and it has a set of
+nice features. If you want to use it put
+ </paragraph>
+ <literal_block xml:space="preserve">
+ #format rst
+ </literal_block>
+ <paragraph>
+ in the first line of your page.
+ </paragraph>
+ </section>
+ <section ids="i-tried-to-create-a-new-page-and-ended-up-on-this-page-offering-templates-what-s-this" names="i\ tried\ to\ create\ a\ new\ page\ and\ ended\ up\ on\ this\ page\ offering\ templates.\ what's\ this?">
+ <title refid="id25">
+ I tried to create a new page and ended up on this page offering templates. What's this?
+ </title>
+ <paragraph>
+ In
+ <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">
+ MoinMoin
+ </reference>
+ it is possible to have page templates. A page templates
+are an easy way to help people to conform to some style guide lines
+established for the given wiki. They are created by the maintainers of
+the wiki.
+ </paragraph>
+ <paragraph>
+ The name of a page template is build from the type of page the page
+template is for and the suffix
+ <literal>
+ Template
+ </literal>
+ (in English). So for
+instance a page template meant for talk pages is named
+
+ <literal>
+ TalkTemplate
+ </literal>
+ .
+ </paragraph>
+ <paragraph>
+ In a sense a page template bundles some general knowledge about the
+wiki ready to be used by the users of the wiki. Of course you can
+start a new page from scratch but usually it makes more sense to use
+an existing page template.
+ </paragraph>
+ </section>
+ <section ids="page-templates-ok-what-about-the-mediawiki-templates" names="page\ templates,\ ok.\ what\ about\ the\ mediawiki\ templates?">
+ <title>
+ Page templates, ok. What about the
+ <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">
+ MediaWiki
+ </reference>
+ templates?
+ </title>
+ <paragraph>
+ In
+ <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">
+ MoinMoin
+ </reference>
+ the term &quot;template&quot; is used differently than in
+
+ <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">
+ MediaWiki
+ </reference>
+ . In
+ <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">
+ MoinMoin
+ </reference>
+ a template is a
+ <emphasis>
+ page
+ </emphasis>
+ template
+ <footnote_reference auto="1" ids="id5" refid="id6">
+ 3
+ </footnote_reference>
+ while in
+
+ <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">
+ MediaWiki
+ </reference>
+ it is more like a function call in a programming language.
+ </paragraph>
+ <footnote auto="1" backrefs="id5" ids="id6" names="3">
+ <label>
+ 3
+ </label>
+ <paragraph>
+ The concept of page templates is probably not known in
+
+ <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">
+ MediaWiki
+ </reference>
+ .
+ </paragraph>
+ </footnote>
+ <paragraph>
+ In general there are two ways to get the functionality of
+ <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">
+ MediaWiki
+ </reference>
+
+templates in
+ <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">
+ MoinMoin
+ </reference>
+ .
+ <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">
+ MediaWiki
+ </reference>
+ templates which are used as
+shortcuts for links are mapped to
+ <problematic ids="id32" refid="id31">
+ InterWiki_
+ </problematic>
+ links. For instance a
+link to the posting containing the
+ <reference name="requirements" refuri="Oekonux/Project/Wiki/Requirements_">
+ requirements
+ </reference>
+ for this wiki in the
+archive of the project mailing list
+ <literal>
+ [pox]
+ </literal>
+ is named
+
+ <literal>
+ poxArchive:04957
+ </literal>
+ which expands to the rather long link
+
+ <reference refuri="http://www.oekonux.de/projekt/liste/archive/msg04957.html">
+ http://www.oekonux.de/projekt/liste/archive/msg04957.html
+ </reference>
+ . You
+probably agree that the former is easier to type :-) . Such a link can
+be used as any other link. In particular it can be used together with
+a display text. If your favorite link target is not yet supported by
+this wiki please contact
+ <reference refuri="mailto:projekt@oekonux.de">
+ projekt@oekonux.de
+ </reference>
+ about it.
+ </paragraph>
+ <paragraph>
+ <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">
+ MediaWiki
+ </reference>
+ templates not building shortcuts for links generally can be
+mapped to
+ <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">
+ MoinMoin
+ </reference>
+
+ <problematic ids="id13" refid="id11">
+ macros_
+ </problematic>
+ . If the functionality you need is not yet
+supported by this wiki please contact
+ <reference refuri="mailto:projekt@oekonux.de">
+ projekt@oekonux.de
+ </reference>
+ about it.
+ </paragraph>
+ <comment xml:space="preserve">
+ ############################################################################
+ </comment>
+ <comment xml:space="preserve">
+ ############################################################################
+ </comment>
+ <target ids="mediawiki" names="mediawiki" refuri="http://wikipedia.sourceforge.net/"/>
+ <target ids="moinmoin" names="moinmoin" refuri="http://moinmoin.wikiwikiweb.de/"/>
+ <target ids="requirements" names="requirements" refuri="Oekonux/Project/Wiki/Requirements_"/>
+ <target ids="mediawiki-syntax" names="mediawiki\ syntax" refuri="http://meta.wikimedia.org/wiki/Help:Editing#The_wiki_markup"/>
+ <target ids="different-syntax" names="different\ syntax" refname="helponediting"/>
+ <target ids="moinmoin-syntax" names="moinmoin\ syntax" refname="helponediting"/>
+ <target ids="documentation-of-the-parser" names="documentation\ of\ the\ parser" refuri="http://www.merten-home.de/FreeSoftware/media4moin/manual.html"/>
+ <target refid="sub-page"/>
+ <target ids="sub-pages sub-page" names="sub\ pages sub\ page" refuri="HelpOnEditing/SubPages_"/>
+ <target ids="macros" names="macros" refname="helponmacros"/>
+ <target ids="restructuredtext" names="restructuredtext" refuri="http://docutils.sourceforge.net/rst.html"/>
+ <comment xml:space="preserve">
+ LocalWords: rst Wikipedia MediaWiki MoinMoin homepages JohnDoe CamelCase
+ </comment>
+ <comment xml:space="preserve">
+ LocalWords: RecentChanges InterWiki reStructuredText TalkTemplate SubPages
+ </comment>
+ <comment xml:space="preserve">
+ LocalWords: poxArchive HelpOnEditing HelpOnMacros
+ </comment>
+ </section>
+ </section>
+ </section>
+ </section>
+ <section classes="system-messages">
+ <title>
+ Docutils System Messages
+ </title>
+ <system_message backrefs="id8" ids="id7" level="3" line="197" source="original/MediaWikiFAQ.rst" type="ERROR">
+ <paragraph>
+ Indirect hyperlink target &quot;different syntax&quot; (id=&quot;different-syntax&quot;) refers to target &quot;helponediting&quot;, which does not exist.
+ </paragraph>
+ </system_message>
+ <system_message backrefs="id10" ids="id9" level="3" line="198" source="original/MediaWikiFAQ.rst" type="ERROR">
+ <paragraph>
+ Indirect hyperlink target &quot;moinmoin syntax&quot; (id=&quot;moinmoin-syntax&quot;) refers to target &quot;helponediting&quot;, which does not exist.
+ </paragraph>
+ </system_message>
+ <system_message backrefs="id12 id13" ids="id11" level="3" line="205" source="original/MediaWikiFAQ.rst" type="ERROR">
+ <paragraph>
+ Indirect hyperlink target &quot;macros&quot; (id=&quot;macros&quot;) refers to target &quot;helponmacros&quot;, which does not exist.
+ </paragraph>
+ </system_message>
+ <system_message backrefs="id28" ids="id27" level="3" line="123" source="original/MediaWikiFAQ.rst" type="ERROR">
+ <paragraph>
+ Unknown target name: &quot;interwiki&quot;.
+ </paragraph>
+ </system_message>
+ <system_message backrefs="id30" ids="id29" level="3" line="123" source="original/MediaWikiFAQ.rst" type="ERROR">
+ <paragraph>
+ Unknown target name: &quot;interwiki&quot;.
+ </paragraph>
+ </system_message>
+ <system_message backrefs="id32" ids="id31" level="3" line="169" source="original/MediaWikiFAQ.rst" type="ERROR">
+ <paragraph>
+ Unknown target name: &quot;interwiki&quot;.
+ </paragraph>
+ </system_message>
+ </section>
+</document>
diff --git a/sandbox/xml2rst/tests/real/readable/Technik.xml b/sandbox/xml2rst/tests/real/readable/Technik.xml
new file mode 100644
index 000000000..9487dcd8d
--- /dev/null
+++ b/sandbox/xml2rst/tests/real/readable/Technik.xml
@@ -0,0 +1,1214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by Docutils 0.8 -->
+<document source="original/Technik.rst">
+ <note>
+ <paragraph>
+ Sorry, wegen kaputter Formatierung, aber ich habe keine
+Ahnung, wie das geht und es gibt leider keine Hilfe. Ich verwende
+einfach mal
+ <reference name="reStructuredText" refuri="http://docutils.sourceforge.net/rst.html">
+ reStructuredText
+ </reference>
+ .
+ </paragraph>
+ </note>
+ <target ids="restructuredtext" names="restructuredtext" refuri="http://docutils.sourceforge.net/rst.html"/>
+ <paragraph>
+ Diese Seite beschäftigt sich mit der Technik, die die
+
+ <reference name="Oekonux-Community" refuri="http://www.oekonux.de/">
+ Oekonux-Community
+ </reference>
+ nutzt. Ausgelöst wurde dies durch einen
+ <reference name="Thread zum Thema" refuri="http://www.oekonux.de/projekt/liste/archive/msg03333.html">
+ Thread
+zum Thema
+ </reference>
+ <target ids="thread-zum-thema" names="thread\ zum\ thema" refuri="http://www.oekonux.de/projekt/liste/archive/msg03333.html"/>
+ auf der
+
+ <reference name="Projekt-Liste" refuri="http://www.oekonux.de/projekt/liste/">
+ Projekt-Liste
+ </reference>
+ , die sich um die Organisation des Projekts kümmert.
+ </paragraph>
+ <target ids="oekonux-community" names="oekonux-community" refuri="http://www.oekonux.de/"/>
+ <target ids="projekt-liste" names="projekt-liste" refuri="http://www.oekonux.de/projekt/liste/"/>
+ <section ids="uberblick" names="überblick">
+ <title>
+ Überblick
+ </title>
+ <paragraph>
+ Die Oekonux-Community nutzt derzeit die folgenden technischen
+Einrichtungen:
+ </paragraph>
+ <bullet_list bullet="*">
+ <list_item>
+ <paragraph>
+ <reference name="Mailing-Listen" refid="mailing-listen">
+ Mailing-Listen
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference name="Web-Sites" refid="web-sites">
+ Web-Sites
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference name="OpenTheory" refid="opentheory">
+ OpenTheory
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference name="News-Groups" refid="news-groups">
+ News-Groups
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference name="Wiki" refid="wiki">
+ Wiki
+ </reference>
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ <paragraph>
+ Weitere Einrichtungen wie IRC werden nach meiner Kenntnis derzeit
+nicht genutzt.
+ </paragraph>
+ </section>
+ <section ids="mailing-listen" names="mailing-listen">
+ <title>
+ Mailing-Listen
+ </title>
+ <section ids="existierende-listen" names="existierende\ listen">
+ <title>
+ Existierende Listen
+ </title>
+ <paragraph>
+ Folgende Listen existieren:
+ </paragraph>
+ <bullet_list bullet="*">
+ <list_item>
+ <paragraph>
+ <literal>
+ liste AT oekonux DOT de
+ </literal>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <literal>
+ list-en AT oekonux DOT org
+ </literal>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <literal>
+ projekt AT oekonux DOT de
+ </literal>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <literal>
+ chat AT oekonux DOT de
+ </literal>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <literal>
+ mitglieder AT oekonux DOT de
+ </literal>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <literal>
+ helfer AT oekonux-konferenz DOT de
+ </literal>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <literal>
+ referenten AT oekonux-konferenz DOT de
+ </literal>
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ <paragraph>
+ Für alle Mailing-Listen existieren
+ <reference name="Archive" refid="archive">
+ Archive
+ </reference>
+ , die auf der Web-Site
+stehen, zu deren Domain sie gehören.
+ </paragraph>
+ </section>
+ <section dupnames="hosting" ids="hosting">
+ <title>
+ Hosting
+ </title>
+ <paragraph>
+ Außer
+ <literal>
+ liste AT oekonux DOT de
+ </literal>
+ werden alle Mailing-Listen bei
+StefanMn gehostet. Für diese sind POP-Boxen eingerichtet, die
+regelmäßig gepollt werden. Diese Mailing-Listen werden von einem
+
+ <reference name="Majordomo" refuri="http://www.greatcircle.com/majordomo/">
+ Majordomo
+ </reference>
+ betreut.
+ </paragraph>
+ <target ids="majordomo" names="majordomo" refuri="http://www.greatcircle.com/majordomo/"/>
+ <important>
+ <paragraph>
+ Da
+ <reference name="Majordomo" refuri="http://www.greatcircle.com/majordomo/">
+ Majordomo
+ </reference>
+ keine völlig Freie Software ist, gab es
+den Vorschlag eine Alternative zu benutzen. Vorschläge waren Sympa
+oder SmartList. Mit einer ganz neuen Lösung würde vermutlich
+
+ <reference name="MailMan" refuri="http://www.list.org/">
+ MailMan
+ </reference>
+ zum Einsatz kommen.
+ </paragraph>
+ </important>
+ <paragraph>
+ <literal>
+ liste AT oekonux DOT de
+ </literal>
+ wird aus historischen Gründen von
+ <reference name="buug" refuri="http://post.openoffice.de/">
+ buug
+ </reference>
+
+gehostet. Dort kommt seit einiger Zeit
+ <reference name="MailMan" refuri="http://www.list.org/">
+ MailMan
+ </reference>
+ als
+Verwaltungs-Software zum Einsatz.
+ </paragraph>
+ <target ids="buug" names="buug" refuri="http://post.openoffice.de/"/>
+ <target ids="mailman" names="mailman" refuri="http://www.list.org/"/>
+ <important>
+ <paragraph>
+ In einer integrierten Lösung mit einem dedizierten
+Server könnten und sollten auch die Mailing-Listen auf diesem
+Server gehostet werden.
+ </paragraph>
+ </important>
+ </section>
+ <section dupnames="features" ids="features">
+ <title>
+ Features
+ </title>
+ <section ids="spam-schutz" names="spam-schutz">
+ <title>
+ Spam-Schutz
+ </title>
+ <paragraph>
+ Mail an sämtliche Mailing-Listen wird über einen
+ <reference name="SpamAssassin" refuri="http://www.spamassassin.org/">
+ SpamAssassin
+ </reference>
+
+geleitet. Dies ist absolut unverzichtbar, da die Adressen der
+Mailing-Listen mittlerweile sehr weit verbreitet sind. Die
+SpamAssassin-Installation benötigt gelegentliche Wartung um gegen die
+neuesten Ideen der SpammerInnen gewappnet zu sein.
+ </paragraph>
+ <target ids="spamassassin" names="spamassassin" refuri="http://www.spamassassin.org/"/>
+ </section>
+ </section>
+ </section>
+ <section ids="web-sites" names="web-sites">
+ <title>
+ Web-Sites
+ </title>
+ <section dupnames="hosting" ids="id1">
+ <title>
+ Hosting
+ </title>
+ <section ids="provider" names="provider">
+ <title>
+ Provider
+ </title>
+ <paragraph>
+ Im Moment bezahlt der
+ <reference name="e.V." refuri="http://www.oekonux.de/projekt/verein/">
+ e.V.
+ </reference>
+ bei
+ <reference name="1&amp;1" refuri="http://hosting.1und1.de/">
+ 1&amp;1
+ </reference>
+ ein
+ <reference name="Premium-Paket" refuri="http://hosting.1und1.de/xml/static?__page=premium">
+ Premium-Paket
+ </reference>
+ <target ids="premium-paket" names="premium-paket" refuri="http://hosting.1und1.de/xml/static?__page=premium"/>
+ .
+ </paragraph>
+ <target ids="e-v" names="e.v." refuri="http://www.oekonux.de/projekt/verein/"/>
+ <target ids="id2" names="1&amp;1" refuri="http://hosting.1und1.de/"/>
+ <paragraph>
+ Die Möglichkeiten dieses Pakets treffen nicht ganz die Bedürfnisse.
+Einerseits beinhaltet es ungenutzte Features (z.B. Datenbank,
+
+ <reference name="in2site" refuri="http://www.in2site.de/">
+ in2site
+ </reference>
+ ), andererseits fehlen erwünschte Features (Möglichkeit für
+lokale Suchmaschine, die auf dem Server den Index erstellt).
+ </paragraph>
+ <important>
+ <paragraph>
+ Es gibt ein
+ <reference name="Angebot" refuri="http://www.oekonux.de/projekt/liste/archive/msg03128.html">
+ Angebot
+ </reference>
+ <target ids="angebot" names="angebot" refuri="http://www.oekonux.de/projekt/liste/archive/msg03128.html"/>
+ von
+
+ <reference name="Hostsharing" refuri="http://www.hostsharing.net/">
+ Hostsharing
+ </reference>
+ e.G., die das Hosting übernehmen könnten.
+ </paragraph>
+ </important>
+ <target ids="hostsharing" names="hostsharing" refuri="http://www.hostsharing.net/"/>
+ <paragraph>
+ Die Audio-Dateien, die vor allem bei den Konferenzen aufgezeichnet
+worden sind, liegen wegen ihrer Größe auf anderen Servern.
+ </paragraph>
+ <paragraph>
+ Mit Ressourcen aus dem
+ <reference name="OpenTheory-Projekt" refuri="http://www.opentheory.org/">
+ OpenTheory-Projekt
+ </reference>
+ wird im Vorfeld der
+Konferenz das Programm der Konferenz online erstellt und präsentiert.
+ </paragraph>
+ <target ids="opentheory-projekt" names="opentheory-projekt" refuri="http://www.opentheory.org/"/>
+ <important>
+ <paragraph>
+ Es gibt Überlegungen, alle von der Oekonux-Community
+genutzten Ressourcen zu zentralisieren. Dazu würde vermutlich ein
+dedizierter Server benötigt.
+ </paragraph>
+ </important>
+ <important>
+ <paragraph>
+ Als weiterer Hoster käme das
+ <reference name="Individual Network Berlin" refuri="http://www.in-berlin.de/">
+ Individual Network
+Berlin
+ </reference>
+ in Frage.
+ </paragraph>
+ <paragraph>
+ <reference name="vLinux.de" refuri="http://vlinux.de/">
+ vLinux.de
+ </reference>
+ oder
+ <reference name="server4you" refuri="http://www.server4you.de/de/v/">
+ server4you
+ </reference>
+ könnten weitere, vor allem preisgünstige
+Alternative sein.
+ </paragraph>
+ </important>
+ <target ids="individual-network-berlin" names="individual\ network\ berlin" refuri="http://www.in-berlin.de/"/>
+ <target ids="vlinux-de" names="vlinux.de" refuri="http://vlinux.de/"/>
+ <target ids="server4you" names="server4you" refuri="http://www.server4you.de/de/v/"/>
+ <important>
+ <paragraph>
+ Holger hat sich grundsätzlich bereit erklärt, einen
+dedizierten Server zu betreuen.
+ </paragraph>
+ </important>
+ </section>
+ <section ids="domains" names="domains">
+ <title>
+ Domains
+ </title>
+ <paragraph>
+ Die fünf Domains, die auf den Verein laufen, sind:
+ </paragraph>
+ <bullet_list bullet="*">
+ <list_item>
+ <paragraph>
+ <literal>
+ oekonux.de
+ </literal>
+ </paragraph>
+ <paragraph>
+ Unter
+ <literal>
+ www
+ </literal>
+ liegt hier die deutsche Hauptseite des Projekts.
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <literal>
+ oekonux.org
+ </literal>
+ </paragraph>
+ <paragraph>
+ Unter
+ <literal>
+ www
+ </literal>
+ liegt hier die internationale Hauptseite des Projekts.
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <literal>
+ oekonux-konferenz.de
+ </literal>
+ </paragraph>
+ <paragraph>
+ Die deutsche Domain für alles rund um die Oekonux-Konferenzen.
+ </paragraph>
+ <bullet_list bullet="-">
+ <list_item>
+ <paragraph>
+ <literal>
+ www
+ </literal>
+ </paragraph>
+ <paragraph>
+ Einstiegsseite für die jeweils aktuelle Konferenz.
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <literal>
+ erste
+ </literal>
+ ,
+ <literal>
+ zweite
+ </literal>
+ ,
+ <literal>
+ dritte
+ </literal>
+ </paragraph>
+ <paragraph>
+ Einstiegsseiten für die jeweilige spezifische Konferenz.
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <literal>
+ oekonux-konferenz.org
+ </literal>
+ ,
+ <literal>
+ oekonux-conference.org
+ </literal>
+ </paragraph>
+ <paragraph>
+ Die internationalen Domains für alles rund um die
+Oekonux-Konferenzen.
+ </paragraph>
+ <bullet_list bullet="-">
+ <list_item>
+ <paragraph>
+ <literal>
+ www
+ </literal>
+ </paragraph>
+ <paragraph>
+ Einstiegsseite für die jeweils aktuelle Konferenz.
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <literal>
+ second
+ </literal>
+ ,
+ <literal>
+ third
+ </literal>
+ </paragraph>
+ <paragraph>
+ Einstiegsseiten für die jeweilige spezifische Konferenz.
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ <important>
+ <paragraph>
+ <literal>
+ oekonux-konferenz.org
+ </literal>
+ kann wahrscheinlich
+mittelfristig entfallen.
+ </paragraph>
+ </important>
+ </list_item>
+ </bullet_list>
+ <paragraph>
+ Weitere Domains waren vor der Übernahme durch den
+ <reference name="e.V." refuri="http://www.oekonux.de/projekt/verein/">
+ e.V.
+ </reference>
+ vorhanden,
+diese sind aber zurück gegeben worden.
+ </paragraph>
+ </section>
+ </section>
+ <section dupnames="features" ids="id3">
+ <title>
+ Features
+ </title>
+ <section ids="web-space" names="web-space">
+ <title>
+ Web-Space
+ </title>
+ <paragraph>
+ Derzeit sind in allen vier Web-Präsenzen insgesamt knapp 200MB von ca.
+17000 Files belegt. Die extern gehosteten Audio-Files umfassen ca.
+1GB.
+ </paragraph>
+ </section>
+ <section ids="traffic" names="traffic">
+ <title>
+ Traffic
+ </title>
+ <paragraph>
+ Derzeit generieren die Web-Sites ca. 2GB Traffic pro Monat.
+ </paragraph>
+ </section>
+ <section ids="formulare" names="formulare">
+ <title>
+ Formulare
+ </title>
+ <paragraph>
+ Die von
+ <reference name="1&amp;1" refuri="http://hosting.1und1.de/">
+ 1&amp;1
+ </reference>
+ angebotenen so genannten Web-Elements werden im Vorfeld
+einer Konferenz für Anmeldungsformulare verwendet.
+ </paragraph>
+ <paragraph>
+ Weitere Formulare werden nicht genutzt.
+ </paragraph>
+ </section>
+ <section ids="mail-adressen" names="mail-adressen">
+ <title>
+ Mail-Adressen
+ </title>
+ <paragraph>
+ Derzeit verteilen sich rund 80 Mail-Adressen auf die verschiedenen
+
+ <reference name="Domains" refid="domains">
+ Domains
+ </reference>
+ . Nur ein Teil von ihnen ist als POP-Box realisiert -
+insbesondere die Adressen, die für die
+ <reference name="Mailing-Listen" refid="mailing-listen">
+ Mailing-Listen
+ </reference>
+ verwendet
+werden. Weitere Mail-Adressen sind als Alias eingerichtet.
+ </paragraph>
+ <paragraph>
+ Neben den funktionsbezogenen Mail-Adressen gibt es derzeit lediglich
+eine persönliche Mail-Adresse in den
+ <reference name="Domains" refid="domains">
+ Domains
+ </reference>
+ . Grundsätzlich können
+weitere private Mail-Adressen vergeben werden. Vor langer Zeit wurde
+beschlossen, dass der Nachname der Person in der Mail-Adresse
+enthalten sein muss.
+ </paragraph>
+ </section>
+ <section ids="generierung-und-upload" names="generierung\ und\ upload">
+ <title>
+ Generierung und Upload
+ </title>
+ <paragraph>
+ Derzeit werden alle Inhalte von StefanMn u.a. aus SDF-Quellen auf
+seinem privaten Rechner generiert und per FTP auf die Web-Sites
+geladen. Das Ganze ist in eine
+ <literal>
+ make
+ </literal>
+ -basierte Automatisierung
+eingebettet.
+ </paragraph>
+ <important>
+ <paragraph>
+ Die Quellen für die statischen Anteile der jetzigen
+Lösung sind vor Ewigkeiten mal in ein CVS-Repository gestellt
+worden. Allerdings hat sich niemensch jemals dafür interessiert -
+geschweige denn Hilfe angeboten.
+ </paragraph>
+ <paragraph>
+ Es wäre aber grundsätzlich gut, wenn eine neue Lösung für die
+Web-Sites mittels CVS (oder Subversion) zugänglich wäre. Damit
+könnten viele Leute an der Site arbeiten.
+ </paragraph>
+ <paragraph>
+ StefanMn hätte gerne, dass die Quellen der Web-Seiten mittels einem
+ASCII-nahen Format - möglichst
+ <reference name="reStructuredText" refuri="http://docutils.sourceforge.net/rst.html">
+ reStructuredText
+ </reference>
+ - erstellt werden
+könnten. Er würde (auch) dafür einen Konverter vom jetzigen Format
+zur Verfügung stellen.
+ </paragraph>
+ </important>
+ </section>
+ <section ids="statische-seiten" names="statische\ seiten">
+ <title>
+ Statische Seiten
+ </title>
+ <paragraph>
+ Praktisch sämtliche Seiten in den Oekonux-Domains sind statische
+HTML-Seiten ohne jegliches JavaScript oder andere aktive Elemente. Sie
+sind damit
+ </paragraph>
+ <bullet_list bullet="*">
+ <list_item>
+ <paragraph>
+ für
+ <emphasis>
+ alle
+ </emphasis>
+ Browser zugänglich
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ wird für alle Zeiten lesbar sein
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ kein Sicherheitsproblem für den Server
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ stabile URLs ohne Variablen
+ </paragraph>
+ <paragraph>
+ Viele Suchmaschinen ignorieren Links mit
+ <literal>
+ ?
+ </literal>
+ .
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ bedürfen keinerlei Wartung
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ freundlich für externe Suchmaschinen
+ </paragraph>
+ <paragraph>
+ Zwar werden für die Navigation Frames eingesetzt, es gibt jedoch
+immer einen
+ <literal>
+ &lt;noframes&gt;
+ </literal>
+ -Bereich, der die entsprechenden Links
+enthält.
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ mit Tools wie z.B.
+ <literal>
+ wget
+ </literal>
+ komplett und problemlos zu saugen
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ funktioniert mit jedem Web-Hosting-Angebot
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </section>
+ <section ids="privacy" names="privacy">
+ <title>
+ Privacy
+ </title>
+ <paragraph>
+ <reference name="1&amp;1" refuri="http://hosting.1und1.de/">
+ 1&amp;1
+ </reference>
+ stellt praktisch in allen Tarifen die Log-Files des Web-Servers
+zur Verfügung. Darin sind die Zugriffe auf die einzelnen Domains
+unterschieden. Diese Logs werden ausgewertet und ohne die zugreifenden
+IP-Adressen und weitere, tendenziell Privacy-gefährdende Details auf
+den Web-Seiten zur Verfügung gestellt.
+ </paragraph>
+ <important>
+ <paragraph>
+ Wie StefanMn in einer
+ <reference name="Mail an [pox]" refuri="http://www.oekonux.de/projekt/liste/archive/msg02683.html">
+ Mail an [pox]
+ </reference>
+ <target ids="mail-an-pox" names="mail\ an\ [pox]" refuri="http://www.oekonux.de/projekt/liste/archive/msg02683.html"/>
+
+vorgeschlagen hat, sollte die Privacy-Policy auf den Web-Sites
+veröffentlicht sein.
+ </paragraph>
+ <paragraph>
+ Insbesondere sollte klar gemacht werden, dass
+ <reference name="in2site" refuri="http://www.in2site.de/">
+ in2site
+ </reference>
+
+ <strong>
+ nicht
+ </strong>
+
+verwendet wird.
+ </paragraph>
+ </important>
+ <target ids="in2site" names="in2site" refuri="http://www.in2site.de/"/>
+ </section>
+ <section ids="navigation" names="navigation">
+ <title>
+ Navigation
+ </title>
+ <paragraph>
+ Die Navigation wird mit Hilfe von Frames realisiert. Ein schmaler
+Frame auf der linken Seite ist einem File-Browser nachempfunden. Er
+zeigt ständig die aktuelle Position innerhalb der Site an. Der rechte
+Frame enthält den angewählten Inhalt. Wird in der Navigation ein
+Verzeichnis angewählt, so erscheint im Inhalts-Frame stets
+
+ <literal>
+ default.html
+ </literal>
+ .
+ </paragraph>
+ <paragraph>
+ Außerdem hat jede Third-Level-Domain eine eigene Sitemap.
+Links auf allen Seiten werden von
+ <reference name="QBullets" refuri="http://www.matterform.com/qbullets/">
+ QBullets
+ </reference>
+ gefolgt, die grob den Typ
+des Links angeben.
+ </paragraph>
+ <target ids="qbullets" names="qbullets" refuri="http://www.matterform.com/qbullets/"/>
+ </section>
+ <section ids="lokale-suchmaschine" names="lokale\ suchmaschine">
+ <title>
+ Lokale Suchmaschine
+ </title>
+ <paragraph>
+ Mittels
+ <reference name="FreeFind" refuri="http://www.freefind.com/">
+ FreeFind
+ </reference>
+ wurde auf
+ <literal>
+ www.oekonux.de
+ </literal>
+ eine lokale,
+kostenlose, durch Werbung finanzierte Suchmaschine eingerichtet.
+ </paragraph>
+ <target ids="freefind" names="freefind" refuri="http://www.freefind.com/"/>
+ <important>
+ <paragraph>
+ Nachdem das Größenlimit für kostenlosen Service im
+2003-05 bereits zum zweiten Mal überschritten wurde, indexiert
+diese Suchmaschine seit einiger Zeit nicht mehr die gesamte Site.
+ </paragraph>
+ <paragraph>
+ Eine lokale Suchmaschine wie
+ <reference name="Perlfect Search" refuri="http://perlfect.com/freescripts/search/">
+ Perlfect Search
+ </reference>
+ scheitert daran,
+dass im derzeitigen Tarif einem Prozess zu wenig Rechenzeit zur
+Verfügung steht um die Site zu indexieren.
+ </paragraph>
+ <paragraph>
+ Es besteht Handlungsbedarf.
+ </paragraph>
+ </important>
+ <target ids="perlfect-search" names="perlfect\ search" refuri="http://perlfect.com/freescripts/search/"/>
+ </section>
+ <section ids="rss-feed" names="rss-feed">
+ <title>
+ RSS-Feed
+ </title>
+ <important>
+ <paragraph>
+ Es wäre nett, einen RSS-Feed auf einem eigenen Server
+zu haben.
+ </paragraph>
+ </important>
+ </section>
+ <section ids="datenbanken" names="datenbanken">
+ <title>
+ Datenbanken
+ </title>
+ <important>
+ <paragraph>
+ Derzeit werden Datenbanken nicht genutzt, aber es wäre
+sinnvoll, diese Option bei einer neuen Lösung zu haben.
+(vorzugsweise mySGL).
+ </paragraph>
+ </important>
+ </section>
+ <section ids="apache" names="apache">
+ <title>
+ Apache
+ </title>
+ <important>
+ <paragraph>
+ Eine neue Hosting-Lösung sollte uns in möglichst großem
+Umfang Zugang zum Web-Server geben.
+ </paragraph>
+ </important>
+ </section>
+ </section>
+ <section ids="inhalte" names="inhalte">
+ <title>
+ Inhalte
+ </title>
+ <section ids="allgemeines" names="allgemeines">
+ <title>
+ Allgemeines
+ </title>
+ <important>
+ <paragraph>
+ Generell werden die Sites nicht sehr intensiv gepflegt.
+Dies ist nicht gut.
+ </paragraph>
+ </important>
+ <important>
+ <paragraph>
+ Insbesondere wäre es super, wenn die internationale
+Site mehr von den Inhalten der deutschen Site hätte. Besonders
+wünschenswert wäre es, wenn die
+ <reference name="Oekonux-Links" refuri="http://www.oekonux.de/projekt/links.html">
+ Oekonux-Links
+ </reference>
+ auf Englisch
+verfügbar wären.
+ </paragraph>
+ </important>
+ </section>
+ <section ids="archive" names="archive">
+ <title>
+ Archive
+ </title>
+ <paragraph>
+ Sämtliche
+ <reference name="Mailing-Listen" refid="mailing-listen">
+ Mailing-Listen
+ </reference>
+ des Projekts werden auf den Web-Sites
+archiviert. Die Mails werden bei Eingang bei StefanMn mittels
+ <reference name="MHonArc" refuri="http://www.mhonarc.org/">
+ MHonArc
+ </reference>
+
+in HTML konvertiert und automatisch hochgeladen.
+ </paragraph>
+ <target ids="mhonarc" names="mhonarc" refuri="http://www.mhonarc.org/"/>
+ <paragraph>
+ Die HTML-Seiten für die Mails werden noch gefiltert. Momentan werden
+ </paragraph>
+ <bullet_list bullet="*">
+ <list_item>
+ <paragraph>
+ Kommentare von
+ <reference name="MHonArc" refuri="http://www.mhonarc.org/">
+ MHonArc
+ </reference>
+ entfernt
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Telefon-Nummern
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Einzelne Personen, die sich zu spät entschieden haben, dass sie
+nicht per Google bei Oekonux gefunden werden wollen
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Alle URLs, die auf Mail-Adressen verweisen
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Mail-Adressen werden unkenntlich gemacht
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ <important>
+ <paragraph>
+ Weiter werden ASCII-Äquivalente der Archive in Paketen
+zu 40 Stück auf die Web-Site gestellt. Dieses Feature ist obsolet.
+ </paragraph>
+ </important>
+ <important>
+ <paragraph>
+ Es besteht der Wunsch, die Archive auch im mbox-Format
+auf die
+ <reference name="Web-Sites" refid="web-sites">
+ Web-Sites
+ </reference>
+ zu bringen. Hier muss noch überlegt werden,
+was gegen Mail-Adressen-Harvesting getan werden kann.
+ </paragraph>
+ </important>
+ <paragraph>
+ Das Löschen aus den Archiven ist ebenfalls weit gehend automatisiert.
+Es erfordert aber einen expliziten Aufruf, der die Nummer der
+entsprechenden Mail nennt.
+ </paragraph>
+ <important>
+ <paragraph>
+ Momentan wird die gelöschte Mail nur aus den Indexen
+entfernt, sie wird aber
+ <emphasis>
+ nicht
+ </emphasis>
+ vom Server gelöscht. Dadurch ist
+sie zwar nicht mehr über Indexe oder benachbarte Mails verlinkt,
+bleibt aber grundsätzlich zugreifbar. Das muss geändert werden.
+ </paragraph>
+ </important>
+ </section>
+ <section ids="texte" names="texte">
+ <title>
+ Texte
+ </title>
+ <paragraph>
+ Verschiedene Texte des Projekts sind auf den Web-Sites verfügbar.
+ </paragraph>
+ <paragraph>
+ Darunter befindet sich eine Einführung, deren Quellen auch für
+MagicPoint vorliegen
+ </paragraph>
+ </section>
+ <section ids="link-seite" names="link-seite">
+ <title>
+ Link-Seite
+ </title>
+ <paragraph>
+ Eine wichtige inhaltliche Ressource der Oekonux-Community sind die
+
+ <reference name="Oekonux-Links" refuri="http://www.oekonux.de/projekt/links.html">
+ Oekonux-Links
+ </reference>
+ , in die interessante Links mit einem kurzen Kommentar
+aufgenommen werden. Die Seite ist strukturiert.
+ </paragraph>
+ <target ids="oekonux-links" names="oekonux-links" refuri="http://www.oekonux.de/projekt/links.html"/>
+ <important>
+ <paragraph>
+ Es wäre sehr gut, wenn jeder der
+ <reference name="Oekonux-Links" refuri="http://www.oekonux.de/projekt/links.html">
+ Oekonux-Links
+ </reference>
+ das
+Datum bekäme, zu dem er erstellt wurde. Mittlerweile hätte dies
+einen gewissen dokumentarischen Wert (&quot;Aha, damals war das also von
+Bedeutung&quot;).
+ </paragraph>
+ <paragraph>
+ Dies wäre mittels
+ <literal>
+ cvs annotate
+ </literal>
+ grundsätzlich auch für schon
+vorhandene Links machbar.
+ </paragraph>
+ </important>
+ <important>
+ <paragraph>
+ Es wäre gut, wenn die Sprache der Site angegeben wäre,
+die durch den Link referenziert wird. Dies ist mittels des
+HTML-Attributs
+ <literal>
+ hreflang
+ </literal>
+ machbar.
+ </paragraph>
+ </important>
+ </section>
+ <section ids="statistiken" names="statistiken">
+ <title>
+ Statistiken
+ </title>
+ <paragraph>
+ Statistiken sowohl über die Nutzung der
+ <reference name="Mailing-Listen" refid="mailing-listen">
+ Mailing-Listen
+ </reference>
+ als auch
+über die Nutzung der
+ <reference name="Web-Sites" refid="web-sites">
+ Web-Sites
+ </reference>
+ werden auf den
+ <reference name="Web-Sites" refid="web-sites">
+ Web-Sites
+ </reference>
+ zur
+Verfügung gestellt. Alle Statistiken werden mit Freien Tools
+(
+ <reference name="webalizer" refuri="http://www.webalizer.org/">
+ webalizer
+ </reference>
+ ,
+ <reference name="mail2clf" refuri="http://www.merten-home.de/FreeSoftware/mail2clf/">
+ mail2clf
+ </reference>
+ ,
+ <reference name="mail2chart" refuri="http://www.merten-home.de/FreeSoftware/mail2chart/">
+ mail2chart
+ </reference>
+ ) mindestens einmal wöchentlich von
+StefanMn automatisch erstellt und hochgeladen. Die
+Web-Site-Statistiken werden einmal monatlich um Referrer-Links
+bereinigt, die von Porno-Sites stammen.
+ </paragraph>
+ <target ids="webalizer" names="webalizer" refuri="http://www.webalizer.org/"/>
+ <target ids="mail2clf" names="mail2clf" refuri="http://www.merten-home.de/FreeSoftware/mail2clf/"/>
+ <target ids="mail2chart" names="mail2chart" refuri="http://www.merten-home.de/FreeSoftware/mail2chart/"/>
+ </section>
+ </section>
+ </section>
+ <section ids="opentheory" names="opentheory">
+ <title>
+ OpenTheory
+ </title>
+ <paragraph>
+ Viele Texte aus und rund um das Oekonux-Projekt sind auch im
+
+ <reference name="OpenTheory-Projekt" refuri="http://www.opentheory.org/">
+ OpenTheory-Projekt
+ </reference>
+ verfügbar. Einige sind im
+
+ <reference name="Oekonux-OpenTheory-Projekt" refuri="http://www.opentheory.org/oekonux/">
+ Oekonux-OpenTheory-Projekt
+ </reference>
+ zusammen gefasst.
+ </paragraph>
+ <target ids="oekonux-opentheory-projekt" names="oekonux-opentheory-projekt" refuri="http://www.opentheory.org/oekonux/"/>
+ <paragraph>
+ Die Texte sind sowohl inhaltlicher als auch organisatorischer Natur.
+Insbesondere für die Vorbereitung der Konferenzen wurden
+OpenTheory-Projekte angelegt.
+ </paragraph>
+ </section>
+ <section ids="wiki" names="wiki">
+ <title>
+ Wiki
+ </title>
+ <paragraph>
+ Derzeit nutzt die Oekonux-Community zwei Wiki-Installationen:
+ </paragraph>
+ <bullet_list bullet="*">
+ <list_item>
+ <paragraph>
+ <literal>
+ co-forum.de
+ </literal>
+ </paragraph>
+ <paragraph>
+ Wird technisch von Thomas Kalka betreut und auch gehosteten. Es
+handelt sich um ein allgemeines Wiki.
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <literal>
+ de.wiki.oekonux.org.uk
+ </literal>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <literal>
+ en.wiki.oekonux.org.uk
+ </literal>
+ </paragraph>
+ <paragraph>
+ Diese beiden Wikis sind neueren Datums und explizit als Oekonux-Wiki
+gedacht. Sie werden technisch von Chris Croome betreut und auch
+gehostet.
+ </paragraph>
+ <important>
+ <paragraph>
+ Bislang besteht keine inhaltliche Betreuung.
+ </paragraph>
+ </important>
+ </list_item>
+ </bullet_list>
+ </section>
+ <section ids="news-groups" names="news-groups">
+ <title>
+ News-Groups
+ </title>
+ <paragraph>
+ Seit Ende 2003 werden die Haupt-
+ <reference name="Mailing-Listen" refid="mailing-listen">
+ Mailing-Listen
+ </reference>
+ für die Diskussion
+auch mittels
+ <reference name="Gmane" refuri="http://gmane.org/">
+ Gmane
+ </reference>
+ als Usenet-Newsgroups angeboten:
+ </paragraph>
+ <target ids="gmane" names="gmane" refuri="http://gmane.org/"/>
+ <bullet_list bullet="*">
+ <list_item>
+ <paragraph>
+ <literal>
+ news://news.gmane.org/gmane.politics.oekonux.german
+ </literal>
+ </paragraph>
+ <paragraph>
+ Spiegelt
+ <literal>
+ liste AT oekonux DOT de
+ </literal>
+ .
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <literal>
+ news://news.gmane.org/gmane.politics.oekonux.english
+ </literal>
+ </paragraph>
+ <paragraph>
+ Spiegelt
+ <literal>
+ list-en AT oekonux DOT org
+ </literal>
+ .
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ <paragraph>
+ Die News-Groups sind so eingestellt, das Antworten über die News nicht
+möglich sind.
+ </paragraph>
+ <important>
+ <paragraph>
+ Zum heutigen Zeitpunkt (2004-01-23) enthalten die
+News-Group-Archive nur die Mails, die geschrieben wurde, nachdem
+das News-Group-Feature hinzu genommen wurde. Nachdem das Problem
+der lesbaren Mail-Adressen gelöst wurde, ist es angestrebt, dass
+die gesamten Archive in das News-Group-Archiv
+ <reference name="importiert" refuri="http://gmane.org/import.php">
+ importiert
+ </reference>
+ <target ids="importiert" names="importiert" refuri="http://gmane.org/import.php"/>
+ werden.
+ </paragraph>
+ </important>
+ <section dupnames="features" ids="id4">
+ <title>
+ Features
+ </title>
+ <section ids="suchmaschine" names="suchmaschine">
+ <title>
+ Suchmaschine
+ </title>
+ <paragraph>
+ <reference name="Gmane" refuri="http://gmane.org/">
+ Gmane
+ </reference>
+ verfügt über eine Suchmaschine, die die entsprechenden
+News-Archive durchsuchen.
+ </paragraph>
+ <important>
+ <paragraph>
+ Zumindest übergangsweise wäre es gut, diese
+Suchmaschine direkt über die
+ <reference name="Web-Sites" refid="web-sites">
+ Web-Sites
+ </reference>
+ zu verlinken oder
+anderweitig zu integrieren.
+ </paragraph>
+ </important>
+ <comment xml:space="preserve">
+ LocalWords: reStructuredText Premium page premium oekonux www org Hoster
+ </comment>
+ <comment xml:space="preserve">
+ LocalWords: konferenz conference second third gehosteten MagicPoint Upload
+ </comment>
+ <comment xml:space="preserve">
+ LocalWords: SDF make MHonArc Harvesting ToDo important JavaScript noframes
+ </comment>
+ <comment xml:space="preserve">
+ LocalWords: wget pox Privacy Policy site default html Sitemap FreeFind you
+ </comment>
+ <comment xml:space="preserve">
+ LocalWords: Perlfect clf Search webalizer mail mail chart Referrer co chat
+ </comment>
+ <comment xml:space="preserve">
+ LocalWords: forum Kalka Chris Croome Gmane DOT list en mbox Subversion cvs
+ </comment>
+ <comment xml:space="preserve">
+ LocalWords: StefanMn projekt helfer referenten gepollt Sympa SmartList
+ </comment>
+ <comment xml:space="preserve">
+ LocalWords: MailMan buug SpamAssassin Individual Network vLinux server
+ </comment>
+ <comment xml:space="preserve">
+ LocalWords: Repository QBullets annotate hreflang
+ </comment>
+ </section>
+ </section>
+ </section>
+</document>
diff --git a/sandbox/xml2rst/tests/real/readable/WikiRequirements.xml b/sandbox/xml2rst/tests/real/readable/WikiRequirements.xml
new file mode 100644
index 000000000..d7ecb2ae6
--- /dev/null
+++ b/sandbox/xml2rst/tests/real/readable/WikiRequirements.xml
@@ -0,0 +1,1170 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by Docutils 0.8 -->
+<document source="original/WikiRequirements.rst">
+ <paragraph>
+ #FORMAT rst
+ </paragraph>
+ <section ids="requirements-for-an-oekonux-wiki" names="requirements\ for\ an\ oekonux\ wiki">
+ <title refid="id1">
+ Requirements for an Oekonux Wiki
+ </title>
+ <topic classes="contents" ids="contents" names="contents">
+ <title>
+ Contents
+ </title>
+ <bullet_list>
+ <list_item>
+ <paragraph>
+ <reference ids="id1" refid="requirements-for-an-oekonux-wiki">
+ Requirements for an Oekonux Wiki
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id2" refid="introduction">
+ Introduction
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id3" refid="requirements">
+ Requirements
+ </reference>
+ </paragraph>
+ <bullet_list>
+ <list_item>
+ <paragraph>
+ <reference ids="id4" refid="non-functional-requirements">
+ Non-functional requirements
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id5" refid="functional-requirements">
+ Functional requirements
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id6" refid="requirements-for-policy-choices">
+ Requirements for policy choices
+ </reference>
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </list_item>
+ </bullet_list>
+ </topic>
+ <comment xml:space="preserve">
+ ############################################################################
+ </comment>
+ <comment xml:space="preserve">
+ ############################################################################
+ </comment>
+ </section>
+ <section ids="introduction" names="introduction">
+ <title refid="id2">
+ Introduction
+ </title>
+ <paragraph>
+ In
+ <reference name="Project Oekonux" refuri="http://www.oekonux.de/">
+ Project Oekonux
+ </reference>
+ there has been a long discussion about setting
+up a Wiki for the project. Also several attempts to establish a Wiki
+have been made. Most of these discussions took place on
+ <reference name="the projekt mailing list" refuri="http://www.oekonux.de/projekt/liste/">
+ the projekt mailing list
+ </reference>
+
+which is the organizing body of the project.
+ </paragraph>
+ <paragraph>
+ One of the most important questions was which Wiki software to use.
+Finally a decision has been made based upon the requirements being
+raised.
+ </paragraph>
+ <paragraph>
+ The following lists all the requirements which have been found and
+lists the alternative solutions for them. One reason for this list is
+to document the design decisions / choices taken and their basis in
+the requirements. This way it is easier to
+ </paragraph>
+ <bullet_list bullet="*">
+ <list_item>
+ <paragraph>
+ understand the decisions
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ change decisions while not forgetting about reasons for the original
+decision
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ <comment xml:space="preserve">
+ ############################################################################
+ </comment>
+ <comment xml:space="preserve">
+ ############################################################################
+ </comment>
+ </section>
+ <section ids="requirements" names="requirements">
+ <title refid="id3">
+ Requirements
+ </title>
+ <section ids="non-functional-requirements" names="non-functional\ requirements">
+ <title refid="id4">
+ Non-functional requirements
+ </title>
+ <enumerated_list enumtype="arabic" prefix="" suffix=".">
+ <list_item>
+ <paragraph>
+ The software must have an active developer community and must be
+Free
+ </paragraph>
+ <field_list>
+ <field>
+ <field_name>
+ Rationale
+ </field_name>
+ <field_body>
+ <paragraph>
+ Only an active developer community of a Free Software
+project guarantees for a constant development.
+ </paragraph>
+ </field_body>
+ </field>
+ </field_list>
+ <paragraph>
+ Discussion came down to two candidates which met this requirement:
+
+ <reference name="MediaWiki" refuri="http://wikipedia.sourceforge.net/">
+ MediaWiki
+ </reference>
+ and
+ <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">
+ MoinMoin
+ </reference>
+ . The following requirements list
+alternative solutions only for these two Wiki implementations.
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ The software must be easy to use for people used to Wikipedia
+ </paragraph>
+ <field_list>
+ <field>
+ <field_name>
+ Rationale
+ </field_name>
+ <field_body>
+ <paragraph>
+ Because of the overwhelming success of Wikipedia many
+people are used to the way how Wikipedia is operated.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MediaWiki
+ </field_name>
+ <field_body>
+ <paragraph>
+ Given by definition.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MoinMoin
+ </field_name>
+ <field_body>
+ <paragraph>
+ The typical use cases need to be identified and a
+special help page must be created for these users.
+ </paragraph>
+ </field_body>
+ </field>
+ </field_list>
+ </list_item>
+ </enumerated_list>
+ <comment xml:space="preserve">
+ ############################################################################
+ </comment>
+ </section>
+ <section ids="functional-requirements" names="functional\ requirements">
+ <title refid="id5">
+ Functional requirements
+ </title>
+ <enumerated_list enumtype="arabic" prefix="" suffix=".">
+ <list_item>
+ <paragraph>
+ Email notification must be possible sending diffs and other changes
+ </paragraph>
+ <field_list>
+ <field>
+ <field_name>
+ Rationale
+ </field_name>
+ <field_body>
+ <paragraph>
+ Email notification is a basic requirement for any
+offline processing.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MediaWiki
+ </field_name>
+ <field_body>
+ <paragraph>
+ Rumor has it that there is a plug-in for email
+notification but nobody saw it yet (2005-03-26).
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MoinMoin
+ </field_name>
+ <field_body>
+ <paragraph>
+ Supports email notification as diffs for arbitrary pages
+and page groups (regular expression). Only notifies on moves and
+deletion of pages.
+ </paragraph>
+ </field_body>
+ </field>
+ </field_list>
+ </list_item>
+ <list_item>
+ <paragraph>
+ It must be possible to limit changeability of a page (for instance
+for user's pages)
+ </paragraph>
+ <field_list>
+ <field>
+ <field_name>
+ Rationale
+ </field_name>
+ <field_body>
+ <paragraph>
+ Some pages are private pages or should not be changes
+for other reasons.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MediaWiki
+ </field_name>
+ <field_body>
+ <paragraph>
+ Don't know whether this can be enforced technically.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MoinMoin
+ </field_name>
+ <field_body>
+ <paragraph>
+ Implements access control lists (ACL) allowing for
+arbitrary rights.
+ </paragraph>
+ </field_body>
+ </field>
+ </field_list>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Categories must be possible
+ </paragraph>
+ <field_list>
+ <field>
+ <field_name>
+ Rationale
+ </field_name>
+ <field_body>
+ <paragraph>
+ With categories can form arbitrary non-hierarchical
+structures
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MediaWiki
+ </field_name>
+ <field_body>
+ <paragraph>
+ Available.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MoinMoin
+ </field_name>
+ <field_body>
+ <paragraph>
+ Available.
+ </paragraph>
+ </field_body>
+ </field>
+ </field_list>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Navigation panels must be available
+ </paragraph>
+ <field_list>
+ <field>
+ <field_name>
+ Rationale
+ </field_name>
+ <field_body>
+ <paragraph>
+ Useful to create overviews.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MediaWiki
+ </field_name>
+ <field_body>
+ <paragraph>
+ Available.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MoinMoin
+ </field_name>
+ <field_body>
+ <paragraph>
+ Available as
+ <literal>
+ Navigation
+ </literal>
+ macro for hierarchical
+structures and as
+ <literal>
+ PageList
+ </literal>
+ macro for structures based logical
+expressions on regular expressions over page names.
+ </paragraph>
+ </field_body>
+ </field>
+ </field_list>
+ </list_item>
+ <list_item>
+ <paragraph>
+ A version history must be available
+ </paragraph>
+ <field_list>
+ <field>
+ <field_name>
+ Rationale
+ </field_name>
+ <field_body>
+ <paragraph>
+ Needed to get an overview of the change history of a
+page.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MediaWiki
+ </field_name>
+ <field_body>
+ <paragraph>
+ Available.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MoinMoin
+ </field_name>
+ <field_body>
+ <paragraph>
+ Available.
+ </paragraph>
+ </field_body>
+ </field>
+ </field_list>
+ </list_item>
+ <list_item>
+ <paragraph>
+ List of changes for a given user must be available
+ </paragraph>
+ <field_list>
+ <field>
+ <field_name>
+ Rationale
+ </field_name>
+ <field_body>
+ <paragraph>
+ Nice to have.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MediaWiki
+ </field_name>
+ <field_body>
+ <paragraph>
+ Available.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MoinMoin
+ </field_name>
+ <field_body>
+ <paragraph>
+ Not available.
+ </paragraph>
+ </field_body>
+ </field>
+ </field_list>
+ </list_item>
+ <list_item>
+ <paragraph>
+ A watch list must be possible reporting about the latest changes
+for a given set of pages
+ </paragraph>
+ <field_list>
+ <field>
+ <field_name>
+ Rationale
+ </field_name>
+ <field_body>
+ <paragraph>
+ Nice to have.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MediaWiki
+ </field_name>
+ <field_body>
+ <paragraph>
+ Available.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MoinMoin
+ </field_name>
+ <field_body>
+ <paragraph>
+ Can be simulated by email notification.
+ </paragraph>
+ </field_body>
+ </field>
+ </field_list>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Automatic links by using CamelCase (aka WikiWords) must not be the
+default
+ </paragraph>
+ <field_list>
+ <field>
+ <field_name>
+ Rationale
+ </field_name>
+ <field_body>
+ <paragraph>
+ CamelCase makes sense only in certain language. In
+particular German is a language where automatic CamelCase links
+are not too useful.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MediaWiki
+ </field_name>
+ <field_body>
+ <paragraph>
+ CamelCase words never create automatic links.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MoinMoin
+ </field_name>
+ <field_body>
+ <paragraph>
+ The
+ <reference name="NoCamelCase" refuri="http://moinmoin.wikiwikiweb.de/ParserMarket/NoCamelCase">
+ NoCamelCase
+ </reference>
+ plug-in makes this the default.
+ </paragraph>
+ </field_body>
+ </field>
+ </field_list>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Support for other than the standard Wiki syntaxes like
+
+ <reference name="reStructuredText" refuri="http://docutils.sourceforge.net/rst.html">
+ reStructuredText
+ </reference>
+ must be available
+ </paragraph>
+ <field_list>
+ <field>
+ <field_name>
+ Rationale
+ </field_name>
+ <field_body>
+ <paragraph>
+ All Wiki languages suck so support for more sane
+syntaxes is a very useful thing. In particular support for
+
+ <reference name="reStructuredText" refuri="http://docutils.sourceforge.net/rst.html">
+ reStructuredText
+ </reference>
+ being a powerful language and a good candidate
+for a standard ASCII based markup language.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MediaWiki
+ </field_name>
+ <field_body>
+ <paragraph>
+ There is no support for any other syntax than the
+MediaWiki syntax.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MoinMoin
+ </field_name>
+ <field_body>
+ <paragraph>
+ Offers several syntaxes by the concept of parsers. Among
+the available syntaxes are
+ <reference name="reStructuredText" refuri="http://docutils.sourceforge.net/rst.html">
+ reStructuredText
+ </reference>
+ and
+ <reference name="LaTeX" refuri="http://www.latex-project.org/">
+ LaTeX
+ </reference>
+ .
+ </paragraph>
+ </field_body>
+ </field>
+ </field_list>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Arbitrary attachments must be possible
+ </paragraph>
+ </list_item>
+ </enumerated_list>
+ <block_quote>
+ <field_list>
+ <field>
+ <field_name>
+ Rationale
+ </field_name>
+ <field_body>
+ <paragraph>
+ Nice to have to attach arbitrary data to a page. In
+particular it makes possible to include material not marked up in
+the Wiki syntax.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MediaWiki
+ </field_name>
+ <field_body>
+ <paragraph>
+ Unknown but probably available.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MoinMoin
+ </field_name>
+ <field_body>
+ <paragraph>
+ Available.
+ </paragraph>
+ </field_body>
+ </field>
+ </field_list>
+ </block_quote>
+ <enumerated_list enumtype="arabic" prefix="" start="11" suffix=".">
+ <list_item>
+ <paragraph>
+ Shortcuts for links must be available
+ </paragraph>
+ </list_item>
+ </enumerated_list>
+ <block_quote>
+ <field_list>
+ <field>
+ <field_name>
+ Rationale
+ </field_name>
+ <field_body>
+ <paragraph>
+ In particular it is useful to be able to reference
+entries in the Oekonux mailing list archive as easy as possible.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MediaWiki
+ </field_name>
+ <field_body>
+ <paragraph>
+ Implements this by templates.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MoinMoin
+ </field_name>
+ <field_body>
+ <paragraph>
+ Implements by InterWiki links.
+ </paragraph>
+ </field_body>
+ </field>
+ </field_list>
+ </block_quote>
+ <enumerated_list enumtype="arabic" prefix="" start="12" suffix=".">
+ <list_item>
+ <paragraph>
+ Page templates must be available
+ </paragraph>
+ </list_item>
+ </enumerated_list>
+ <block_quote>
+ <field_list>
+ <field>
+ <field_name>
+ Rationale
+ </field_name>
+ <field_body>
+ <paragraph>
+ Page templates are a good way to support policy
+decisions by offering standard templates for all page types.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MediaWiki
+ </field_name>
+ <field_body>
+ <paragraph>
+ Not available.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MoinMoin
+ </field_name>
+ <field_body>
+ <paragraph>
+ Available.
+ </paragraph>
+ </field_body>
+ </field>
+ </field_list>
+ </block_quote>
+ <enumerated_list enumtype="arabic" prefix="" start="13" suffix=".">
+ <list_item>
+ <paragraph>
+ It must be possible to revert page changes
+ </paragraph>
+ </list_item>
+ </enumerated_list>
+ <block_quote>
+ <field_list>
+ <field>
+ <field_name>
+ Rationale
+ </field_name>
+ <field_body>
+ <paragraph>
+ Useful to undo unwanted changes.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MediaWiki
+ </field_name>
+ <field_body>
+ <paragraph>
+ Available.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MoinMoin
+ </field_name>
+ <field_body>
+ <paragraph>
+ Available.
+ </paragraph>
+ </field_body>
+ </field>
+ </field_list>
+ </block_quote>
+ <enumerated_list enumtype="arabic" prefix="" start="14" suffix=".">
+ <list_item>
+ <paragraph>
+ It must be possible to know who did a change in a page
+ </paragraph>
+ </list_item>
+ </enumerated_list>
+ <block_quote>
+ <field_list>
+ <field>
+ <field_name>
+ Rationale
+ </field_name>
+ <field_body>
+ <paragraph>
+ Nice to have.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MediaWiki
+ </field_name>
+ <field_body>
+ <paragraph>
+ Available.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MoinMoin
+ </field_name>
+ <field_body>
+ <paragraph>
+ Available.
+ </paragraph>
+ </field_body>
+ </field>
+ </field_list>
+ </block_quote>
+ <enumerated_list enumtype="arabic" prefix="" start="15" suffix=".">
+ <list_item>
+ <paragraph>
+ Offline usage must be possible as far as possible
+ </paragraph>
+ </list_item>
+ </enumerated_list>
+ <block_quote>
+ <field_list>
+ <field>
+ <field_name>
+ Rationale
+ </field_name>
+ <field_body>
+ <paragraph>
+ Not everyone is always online so offline facilities are
+generally useful. Offline usage includes
+ </paragraph>
+ <bullet_list bullet="*">
+ <list_item>
+ <paragraph>
+ a push feature for change notification
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ browsing
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ editing
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MediaWiki
+ </field_name>
+ <field_body>
+ <paragraph>
+ Not available. At most email notification is available.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MoinMoin
+ </field_name>
+ <field_body>
+ <paragraph>
+ Email notification allows for monitoring changes and in
+principle the diffs can be used to update a local copy. A local
+installation of
+ <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">
+ MoinMoin
+ </reference>
+ only needs Python and
+ <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">
+ MoinMoin
+ </reference>
+ so it
+is easy to accomplish. Because
+ <reference name="MoinMoin" refuri="http://moinmoin.wikiwikiweb.de/">
+ MoinMoin
+ </reference>
+ uses a file based
+storage scheme it is at least easy to update a local copy in
+short online phases for offline use so at least offline browsing
+is available.
+ </paragraph>
+ </field_body>
+ </field>
+ </field_list>
+ </block_quote>
+ <enumerated_list enumtype="arabic" prefix="" start="16" suffix=".">
+ <list_item>
+ <paragraph>
+ Pages must be locked during they are edited
+ </paragraph>
+ </list_item>
+ </enumerated_list>
+ <block_quote>
+ <field_list>
+ <field>
+ <field_name>
+ Rationale
+ </field_name>
+ <field_body>
+ <paragraph>
+ Page locking prevents parallel editing of a page which
+is useful in a highly frequented Wiki.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MediaWiki
+ </field_name>
+ <field_body>
+ <paragraph>
+ Not available.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MoinMoin
+ </field_name>
+ <field_body>
+ <paragraph>
+ Editing a page locks it for 10 minutes and the lock can
+be renewed.
+ </paragraph>
+ </field_body>
+ </field>
+ </field_list>
+ </block_quote>
+ <enumerated_list enumtype="arabic" prefix="" start="17" suffix=".">
+ <list_item>
+ <paragraph>
+ It must be possible to edit sections of a page
+ </paragraph>
+ </list_item>
+ </enumerated_list>
+ <block_quote>
+ <field_list>
+ <field>
+ <field_name>
+ Rationale
+ </field_name>
+ <field_body>
+ <paragraph>
+ Makes parallel editing of a page less dangerous which
+is useful in a highly frequented Wiki.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MediaWiki
+ </field_name>
+ <field_body>
+ <paragraph>
+ Available.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MoinMoin
+ </field_name>
+ <field_body>
+ <paragraph>
+ Not available.
+ </paragraph>
+ </field_body>
+ </field>
+ </field_list>
+ </block_quote>
+ <comment xml:space="preserve">
+ ############################################################################
+ </comment>
+ </section>
+ <section ids="requirements-for-policy-choices" names="requirements\ for\ policy\ choices">
+ <title refid="id6">
+ Requirements for policy choices
+ </title>
+ <enumerated_list enumtype="arabic" prefix="" suffix=".">
+ <list_item>
+ <paragraph>
+ Pages standing in a certain close relation to a certain other page
+must be possible in a sane way
+ </paragraph>
+ <field_list>
+ <field>
+ <field_name>
+ Rationale
+ </field_name>
+ <field_body>
+ <paragraph>
+ There are several ways in which a page can have closely
+related pages (e.g. discussion pages). It makes sense to have a
+uniform way to express this relation.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MediaWiki
+ </field_name>
+ <field_body>
+ <paragraph>
+ Implements discussion pages as one a special type of
+closely related pages by suffixing
+ <literal>
+ Discussion
+ </literal>
+ to the
+namespace of a page. For other closely related pages there is no
+fixed implementation.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MoinMoin
+ </field_name>
+ <field_body>
+ <paragraph>
+ By making sub-pages possible all types of closely
+related pages can be implemented by some fixed names being part
+of a policy and supported by page templates.
+ </paragraph>
+ </field_body>
+ </field>
+ </field_list>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Structuring of content must be possible by a page hierarchy
+ </paragraph>
+ <field_list>
+ <field>
+ <field_name>
+ Rationale
+ </field_name>
+ <field_body>
+ <paragraph>
+ The maintenance policy may decide to have a page
+hierarchy as a structuring principle.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MediaWiki
+ </field_name>
+ <field_body>
+ <paragraph>
+ Implements a top level structure by namespaces and
+allows for structuring otherwise.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MoinMoin
+ </field_name>
+ <field_body>
+ <paragraph>
+ With sub-pages arbitrary hierarchies can be build on any
+level.
+ </paragraph>
+ </field_body>
+ </field>
+ </field_list>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Sub-Wikis must be possible
+ </paragraph>
+ <field_list>
+ <field>
+ <field_name>
+ Rationale
+ </field_name>
+ <field_body>
+ <paragraph>
+ The maintenance policy may decide this makes sense.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MediaWiki
+ </field_name>
+ <field_body>
+ <paragraph>
+ Not available.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MoinMoin
+ </field_name>
+ <field_body>
+ <paragraph>
+ Could be done in a page hierarchy on any level.
+ </paragraph>
+ </field_body>
+ </field>
+ </field_list>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Underscores and white-space in page names must be possible but
+insignificant
+ </paragraph>
+ <field_list>
+ <field>
+ <field_name>
+ Rationale
+ </field_name>
+ <field_body>
+ <paragraph>
+ If the maintenance policy decides that underscores and
+white-space may be used in arbitrary ways the software must be
+able to reflect this.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MediaWiki
+ </field_name>
+ <field_body>
+ <paragraph>
+ Unknown.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ MoinMoin
+ </field_name>
+ <field_body>
+ <paragraph>
+ Underscores and white-space is significant.
+ </paragraph>
+ </field_body>
+ </field>
+ </field_list>
+ </list_item>
+ </enumerated_list>
+ <comment xml:space="preserve">
+ ############################################################################
+ </comment>
+ <comment xml:space="preserve">
+ ############################################################################
+ </comment>
+ <substitution_definition names="projekt">
+ <reference name="the projekt mailing list" refuri="http://www.oekonux.de/projekt/liste/">
+ the projekt mailing list
+ </reference>
+ </substitution_definition>
+ <substitution_definition names="NoCamelCase">
+ <reference name="NoCamelCase" refuri="http://moinmoin.wikiwikiweb.de/ParserMarket/NoCamelCase">
+ NoCamelCase
+ </reference>
+ </substitution_definition>
+ <target ids="project-oekonux" names="project\ oekonux" refuri="http://www.oekonux.de/"/>
+ <target ids="the-projekt-mailing-list" names="the\ projekt\ mailing\ list" refuri="http://www.oekonux.de/projekt/liste/"/>
+ <target ids="mediawiki" names="mediawiki" refuri="http://wikipedia.sourceforge.net/"/>
+ <target ids="moinmoin" names="moinmoin" refuri="http://moinmoin.wikiwikiweb.de/"/>
+ <target ids="restructuredtext" names="restructuredtext" refuri="http://docutils.sourceforge.net/rst.html"/>
+ <target ids="latex" names="latex" refuri="http://www.latex-project.org/"/>
+ <target ids="nocamelcase" names="nocamelcase" refuri="http://moinmoin.wikiwikiweb.de/ParserMarket/NoCamelCase"/>
+ <comment xml:space="preserve">
+ LocalWords: diffs CamelCase InterWiki MoinMoin rst projekt MediaWiki aka
+ </comment>
+ <comment xml:space="preserve">
+ LocalWords: Wikipedia PageList WikiWords reStructuredText
+ </comment>
+ <comment xml:space="preserve">
+ LocalWords: Wikis NoCamelCase
+ </comment>
+ </section>
+ </section>
+</document>
diff --git a/sandbox/xml2rst/tests/simple/expected/header.rst b/sandbox/xml2rst/tests/simple/expected/header.rst
new file mode 100644
index 000000000..30ae01b9d
--- /dev/null
+++ b/sandbox/xml2rst/tests/simple/expected/header.rst
@@ -0,0 +1,6 @@
+Some text.
+
+A header
+========
+
+Text under header.
diff --git a/sandbox/xml2rst/tests/simple/expected/manyLines.rst b/sandbox/xml2rst/tests/simple/expected/manyLines.rst
new file mode 100644
index 000000000..9e21cb0ed
--- /dev/null
+++ b/sandbox/xml2rst/tests/simple/expected/manyLines.rst
@@ -0,0 +1,4 @@
+This is a text consisting of many lines. The lines are broken
+according to the "natural" folding of Emacs. This folding sets in at
+the fill-column which happens to be [^HV fill-column] 70 in this case.
+Could be any other value though.
diff --git a/sandbox/xml2rst/tests/simple/expected/oneLine.rst b/sandbox/xml2rst/tests/simple/expected/oneLine.rst
new file mode 100644
index 000000000..9557aa1b4
--- /dev/null
+++ b/sandbox/xml2rst/tests/simple/expected/oneLine.rst
@@ -0,0 +1 @@
+One line.
diff --git a/sandbox/xml2rst/tests/simple/expected/targets.rst b/sandbox/xml2rst/tests/simple/expected/targets.rst
new file mode 100644
index 000000000..ca4359dd4
--- /dev/null
+++ b/sandbox/xml2rst/tests/simple/expected/targets.rst
@@ -0,0 +1,23 @@
+Some text containing an _`internal target`.
+
+A header
+========
+
+
+.. _external target: http://www.example.com/
+
+There can be an `external target`_, `a header`_ or an `internal
+target`_.
+
+.. _additional header target:
+
+Another header
+--------------
+
+Some text with reference to the `additional header target`_.
+
+.. _first target:
+
+.. _second target:
+
+.. _third target: http://www.example.com/
diff --git a/sandbox/xml2rst/tests/simple/expected/titles.rst b/sandbox/xml2rst/tests/simple/expected/titles.rst
new file mode 100644
index 000000000..428468bd2
--- /dev/null
+++ b/sandbox/xml2rst/tests/simple/expected/titles.rst
@@ -0,0 +1,17 @@
+======================
+The title - autoraised
+======================
+
+------------------------------
+The subtitle - also autoraised
+------------------------------
+
+The first section
+=================
+
+Some text in the first section.
+
+The second second
+=================
+
+More text.
diff --git a/sandbox/xml2rst/tests/simple/filterunit.cfg b/sandbox/xml2rst/tests/simple/filterunit.cfg
new file mode 100644
index 000000000..af9a91eb3
--- /dev/null
+++ b/sandbox/xml2rst/tests/simple/filterunit.cfg
@@ -0,0 +1,5 @@
+inputExtension = .xml
+expectedExtension = .rst
+
+command = ../../xml2rst.py
+options = $<
diff --git a/sandbox/xml2rst/tests/simple/input/header.xml b/sandbox/xml2rst/tests/simple/input/header.xml
new file mode 100644
index 000000000..c3631e945
--- /dev/null
+++ b/sandbox/xml2rst/tests/simple/input/header.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by Docutils 0.8 -->
+<document source="original/header.rst"><paragraph>Some text.</paragraph><section ids="a-header" names="a\ header"><title>A header</title><paragraph>Text under header.</paragraph></section></document> \ No newline at end of file
diff --git a/sandbox/xml2rst/tests/simple/input/manyLines.xml b/sandbox/xml2rst/tests/simple/input/manyLines.xml
new file mode 100644
index 000000000..ae95583f7
--- /dev/null
+++ b/sandbox/xml2rst/tests/simple/input/manyLines.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by Docutils 0.8 -->
+<document source="original/manyLines.rst"><paragraph>This is a text consisting of many lines. The lines are broken
+according to the &quot;natural&quot; folding of Emacs. This folding sets in at
+the fill-column which happens to be [^HV fill-column] 70 in this case.
+Could be any other value though.</paragraph></document> \ No newline at end of file
diff --git a/sandbox/xml2rst/tests/simple/input/oneLine.xml b/sandbox/xml2rst/tests/simple/input/oneLine.xml
new file mode 100644
index 000000000..038b26370
--- /dev/null
+++ b/sandbox/xml2rst/tests/simple/input/oneLine.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by Docutils 0.8 -->
+<document source="original/oneLine.rst"><paragraph>One line.</paragraph></document> \ No newline at end of file
diff --git a/sandbox/xml2rst/tests/simple/input/targets.xml b/sandbox/xml2rst/tests/simple/input/targets.xml
new file mode 100644
index 000000000..f731e4f03
--- /dev/null
+++ b/sandbox/xml2rst/tests/simple/input/targets.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by Docutils 0.8 -->
+<document source="original/targets.rst"><paragraph>Some text containing an <target ids="internal-target" names="internal\ target">internal target</target>.</paragraph><section ids="a-header" names="a\ header"><title>A header</title><target ids="external-target" names="external\ target" refuri="http://www.example.com/"/><paragraph>There can be an <reference name="external target" refuri="http://www.example.com/">external target</reference>, <reference name="a header" refid="a-header">a header</reference> or an <reference name="internal target" refid="internal-target">internal
+target</reference>.</paragraph><target refid="additional-header-target"/><section ids="another-header additional-header-target" names="another\ header additional\ header\ target"><title>Another header</title><paragraph>Some text with reference to the <reference name="additional header target" refid="additional-header-target">additional header target</reference>.</paragraph><target refid="first-target"/><target refid="second-target"/><target ids="third-target second-target first-target" names="third\ target second\ target first\ target" refuri="http://www.example.com/"/></section></section></document> \ No newline at end of file
diff --git a/sandbox/xml2rst/tests/simple/input/titles.xml b/sandbox/xml2rst/tests/simple/input/titles.xml
new file mode 100644
index 000000000..1e6816092
--- /dev/null
+++ b/sandbox/xml2rst/tests/simple/input/titles.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by Docutils 0.8 -->
+<document ids="the-title-autoraised" names="the\ title\ -\ autoraised" source="original/titles.rst" title="The title - autoraised"><title>The title - autoraised</title><subtitle ids="the-subtitle-also-autoraised" names="the\ subtitle\ -\ also\ autoraised">The subtitle - also autoraised</subtitle><section ids="the-first-section" names="the\ first\ section"><title>The first section</title><paragraph>Some text in the first section.</paragraph></section><section ids="the-second-second" names="the\ second\ second"><title>The second second</title><paragraph>More text.</paragraph></section></document> \ No newline at end of file
diff --git a/sandbox/xml2rst/tests/simple/original/header.rst b/sandbox/xml2rst/tests/simple/original/header.rst
new file mode 100644
index 000000000..30ae01b9d
--- /dev/null
+++ b/sandbox/xml2rst/tests/simple/original/header.rst
@@ -0,0 +1,6 @@
+Some text.
+
+A header
+========
+
+Text under header.
diff --git a/sandbox/xml2rst/tests/simple/original/manyLines.rst b/sandbox/xml2rst/tests/simple/original/manyLines.rst
new file mode 100644
index 000000000..9e21cb0ed
--- /dev/null
+++ b/sandbox/xml2rst/tests/simple/original/manyLines.rst
@@ -0,0 +1,4 @@
+This is a text consisting of many lines. The lines are broken
+according to the "natural" folding of Emacs. This folding sets in at
+the fill-column which happens to be [^HV fill-column] 70 in this case.
+Could be any other value though.
diff --git a/sandbox/xml2rst/tests/simple/original/oneLine.rst b/sandbox/xml2rst/tests/simple/original/oneLine.rst
new file mode 100644
index 000000000..9557aa1b4
--- /dev/null
+++ b/sandbox/xml2rst/tests/simple/original/oneLine.rst
@@ -0,0 +1 @@
+One line.
diff --git a/sandbox/xml2rst/tests/simple/original/targets.rst b/sandbox/xml2rst/tests/simple/original/targets.rst
new file mode 100644
index 000000000..6c5807462
--- /dev/null
+++ b/sandbox/xml2rst/tests/simple/original/targets.rst
@@ -0,0 +1,20 @@
+Some text containing an _`internal target`.
+
+A header
+========
+
+.. _external target: http://www.example.com/
+
+There can be an `external target`_, `a header`_ or an `internal
+target`_.
+
+.. _additional header target:
+
+Another header
+--------------
+
+Some text with reference to the `additional header target`_.
+
+.. _first target:
+.. _second target:
+.. _third target: http://www.example.com/
diff --git a/sandbox/xml2rst/tests/simple/original/titles.rst b/sandbox/xml2rst/tests/simple/original/titles.rst
new file mode 100644
index 000000000..428468bd2
--- /dev/null
+++ b/sandbox/xml2rst/tests/simple/original/titles.rst
@@ -0,0 +1,17 @@
+======================
+The title - autoraised
+======================
+
+------------------------------
+The subtitle - also autoraised
+------------------------------
+
+The first section
+=================
+
+Some text in the first section.
+
+The second second
+=================
+
+More text.
diff --git a/sandbox/xml2rst/tests/simple/readable/header.xml b/sandbox/xml2rst/tests/simple/readable/header.xml
new file mode 100644
index 000000000..355d4b51e
--- /dev/null
+++ b/sandbox/xml2rst/tests/simple/readable/header.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by Docutils 0.8 -->
+<document source="original/header.rst">
+ <paragraph>
+ Some text.
+ </paragraph>
+ <section ids="a-header" names="a\ header">
+ <title>
+ A header
+ </title>
+ <paragraph>
+ Text under header.
+ </paragraph>
+ </section>
+</document>
diff --git a/sandbox/xml2rst/tests/simple/readable/manyLines.xml b/sandbox/xml2rst/tests/simple/readable/manyLines.xml
new file mode 100644
index 000000000..0f59a7e4b
--- /dev/null
+++ b/sandbox/xml2rst/tests/simple/readable/manyLines.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by Docutils 0.8 -->
+<document source="original/manyLines.rst">
+ <paragraph>
+ This is a text consisting of many lines. The lines are broken
+according to the &quot;natural&quot; folding of Emacs. This folding sets in at
+the fill-column which happens to be [^HV fill-column] 70 in this case.
+Could be any other value though.
+ </paragraph>
+</document>
diff --git a/sandbox/xml2rst/tests/simple/readable/oneLine.xml b/sandbox/xml2rst/tests/simple/readable/oneLine.xml
new file mode 100644
index 000000000..ff5d9a59f
--- /dev/null
+++ b/sandbox/xml2rst/tests/simple/readable/oneLine.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by Docutils 0.8 -->
+<document source="original/oneLine.rst">
+ <paragraph>
+ One line.
+ </paragraph>
+</document>
diff --git a/sandbox/xml2rst/tests/simple/readable/targets.xml b/sandbox/xml2rst/tests/simple/readable/targets.xml
new file mode 100644
index 000000000..7e98980d5
--- /dev/null
+++ b/sandbox/xml2rst/tests/simple/readable/targets.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by Docutils 0.8 -->
+<document source="original/targets.rst">
+ <paragraph>
+ Some text containing an
+ <target ids="internal-target" names="internal\ target">
+ internal target
+ </target>
+ .
+ </paragraph>
+ <section ids="a-header" names="a\ header">
+ <title>
+ A header
+ </title>
+ <target ids="external-target" names="external\ target" refuri="http://www.example.com/"/>
+ <paragraph>
+ There can be an
+ <reference name="external target" refuri="http://www.example.com/">
+ external target
+ </reference>
+ ,
+ <reference name="a header" refid="a-header">
+ a header
+ </reference>
+ or an
+ <reference name="internal target" refid="internal-target">
+ internal
+target
+ </reference>
+ .
+ </paragraph>
+ <target refid="additional-header-target"/>
+ <section ids="another-header additional-header-target" names="another\ header additional\ header\ target">
+ <title>
+ Another header
+ </title>
+ <paragraph>
+ Some text with reference to the
+ <reference name="additional header target" refid="additional-header-target">
+ additional header target
+ </reference>
+ .
+ </paragraph>
+ <target refid="first-target"/>
+ <target refid="second-target"/>
+ <target ids="third-target second-target first-target" names="third\ target second\ target first\ target" refuri="http://www.example.com/"/>
+ </section>
+ </section>
+</document>
diff --git a/sandbox/xml2rst/tests/simple/readable/titles.xml b/sandbox/xml2rst/tests/simple/readable/titles.xml
new file mode 100644
index 000000000..0578453b6
--- /dev/null
+++ b/sandbox/xml2rst/tests/simple/readable/titles.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by Docutils 0.8 -->
+<document ids="the-title-autoraised" names="the\ title\ -\ autoraised" source="original/titles.rst" title="The title - autoraised">
+ <title>
+ The title - autoraised
+ </title>
+ <subtitle ids="the-subtitle-also-autoraised" names="the\ subtitle\ -\ also\ autoraised">
+ The subtitle - also autoraised
+ </subtitle>
+ <section ids="the-first-section" names="the\ first\ section">
+ <title>
+ The first section
+ </title>
+ <paragraph>
+ Some text in the first section.
+ </paragraph>
+ </section>
+ <section ids="the-second-second" names="the\ second\ second">
+ <title>
+ The second second
+ </title>
+ <paragraph>
+ More text.
+ </paragraph>
+ </section>
+</document>
diff --git a/sandbox/xml2rst/tests/synthetic/expected/class.rst b/sandbox/xml2rst/tests/synthetic/expected/class.rst
new file mode 100644
index 000000000..ea57b1788
--- /dev/null
+++ b/sandbox/xml2rst/tests/synthetic/expected/class.rst
@@ -0,0 +1,399 @@
+.. section-numbering::
+
+.. class:: c1 c2
+
+==============================
+reStructuredText Test Document
+==============================
+
+.. class:: c3
+
+-----------------------------
+Examples of Syntax Constructs
+-----------------------------
+
+:author: David Goodger
+.. bibliographic fields (which also require a transform):
+
+.. class:: c5
+
+:Address: 123 Example Street Example, EX Canada A1B 2C3
+
+:Contact: goodger@users.sourceforge.net
+
+:Authors: Me; Myself; I
+
+:organization: humankind
+
+:date: Now, or yesterday. Or maybe even *before* yesterday.
+
+:status: This is a "work in progress"
+
+:revision: is managed by a version control system.
+
+:version: 1
+
+:copyright: This document has been placed in the public domain. You may do with
+ it as you wish. You may copy, modify, redistribute, reattribute,
+ sell, buy, rent, lease, destroy, or improve it, quote it at length,
+ excerpt, incorporate, collate, fold, staple, or mutilate it, or do
+ anything else to it that your or anyone else's heart desires.
+
+.. class:: c6
+
+:field name: This is a "generic bibliographic field".
+
+:field name "2": Generic bibliographic fields may contain multiple body elements.
+
+ .. class:: c7
+
+ Like this.
+
+.. class:: c8
+
+:Dedication:
+ .. class:: c9
+
+ For Docutils users & co-developers.
+
+.. class:: c10
+
+:abstract: This is a test document, containing at least one example of each
+ reStructuredText construct.
+
+.. contents:: Table of Contents
+ :class: c12 c11
+
+
+.. class:: c13
+
+Structural Elements
+===================
+
+.. class:: c14
+
+Section Title
+-------------
+
+.. class:: c15
+
+That's it, the text just above this line.
+
+.. class:: c16
+
+-----
+
+.. class:: c17
+
+A paragraph.
+
+Bullet Lists
+------------
+
+.. class:: c18
+
+- A bullet list
+
+ .. class:: c19
+
+ + Nested bullet list.
+
+ .. class:: c20
+
+ + Nested item 2.
+
+Enumerated Lists
+----------------
+
+.. class:: c21
+
+1. Arabic numerals.
+
+ .. class:: c22
+
+ a) lower alpha)
+
+Definition Lists
+----------------
+
+.. class:: c23
+
+Term
+ .. class:: c24
+
+ Definition
+
+Field Lists
+-----------
+
+.. class:: c25
+
+:how arg1 arg2:
+ .. class:: c26
+
+ The field marker is a colon, the field name, and a colon.
+
+ .. class:: c27
+
+ The field body may contain one or more body elements, indented
+ relative to the field marker.
+
+Option Lists
+------------
+
+For listing command-line options:
+
+.. class:: c28
+
+-a
+ command-line option "a"
+
+
+.. class:: c29
+
+-x, -y, -z
+ Multiple options are an "option group".
+
+
+Literal Blocks
+--------------
+
+Literal blocks are indicated with a double-colon ("::") at the end of
+the preceding paragraph (over there ``-->``). They can be indented
+
+.. class:: c30
+
+::
+
+ if literal_block:
+ text = 'is left as-is'
+ spaces_and_linebreaks = 'are preserved'
+ markup_processing = None
+
+Or they can be quoted without indentation
+
+.. class:: c31
+
+::
+
+>> Great idea!
+>
+> Why didn't I think of that?
+
+Line Blocks
+-----------
+
+This section tests line blocks. Line blocks are body elements which
+consist of lines and other line blocks. Nested line blocks cause
+indentation.
+
+.. class:: c32
+
+| This is a line block. It ends with a blank line.
+
+.. class:: c33
+
+| New lines begin with a vertical bar ("|").
+
+Block Quotes
+------------
+
+Block quotes consist of indented body elements:
+
+ .. class:: c34
+
+ My theory by A. Elk. Brackets Miss, brackets. This theory goes as
+ follows and begins now. All brontosauruses are thin at one end, much
+ much thicker in the middle and then thin again at the far end. That
+ is my theory, it is mine, and belongs to me and I own it, and what
+ it is too.
+
+ .. class:: c35
+
+ -- Anne Elk (Miss)
+
+Doctest Blocks
+--------------
+
+.. class:: c36
+
+>>> print 'Python-specific usage examples; begun with ">>>"'
+Python-specific usage examples; begun with ">>>"
+>>> print '(cut and pasted from interactive Python sessions)'
+(cut and pasted from interactive Python sessions)
+
+Footnotes
+---------
+
+.. class:: c37
+
+.. [1] A footnote contains body elements, consistently indented by at least
+ 3 spaces.
+
+ .. class:: c38
+
+ This is the footnote's second paragraph.
+
+.. class:: c39
+
+.. [#label] Footnotes may be numbered, either manually (as in [1]_) or
+ automatically using a "#"-prefixed label. This footnote has a label
+ so it can be referred to from multiple places, both as a footnote
+ reference ([#label]_) and as a hyperlink reference (label_).
+
+.. class:: c40
+
+.. [#] This footnote is numbered automatically and anonymously using a label
+ of "#" only.
+
+.. class:: c41
+
+.. [*] Footnotes may also use symbols, specified with a "*" label. Here's a
+ reference to the next footnote: [*]_.
+
+Citations
+---------
+
+.. class:: c42
+
+.. [CIT2002] Citations are text-labeled footnotes. They may be rendered separately
+ and differently from footnotes.
+
+Targets
+-------
+
+
+.. _example:
+
+.. _python: http://www.python.org/
+
+.. class:: c43 c44
+
+Some__ reference__.
+
+__ targets_
+
+__ http://www.example.com/
+
+.. class:: c45 c46
+
+Directives
+----------
+
+.. contents::
+ :local:
+ :class: c47
+
+
+Images
+~~~~~~
+
+An image directive (also clickable -- a hyperlink reference):
+
+.. image:: ../../../docs/user/rst/images/title.png
+ :class: c48
+ :target: directives_
+
+A figure directive:
+
+.. figure:: ../../../docs/user/rst/images/title.png
+ :figclass: c49
+ :alt: reStructuredText, the markup syntax
+
+ A figure is an image with a caption and/or a legend:
+
+ .. class:: c50
+
+ +------------+-----------------------------------------------+
+ | re | Revised, revisited, based on 're' module. |
+ +------------+-----------------------------------------------+
+ | Structured | Structure-enhanced text, structuredtext. |
+ +------------+-----------------------------------------------+
+ | Text | Well it is, isn't it? |
+ +------------+-----------------------------------------------+
+
+Admonitions
+~~~~~~~~~~~
+
+.. class:: c51
+
+.. attention:: Directives at large.
+
+.. class:: c52
+
+.. caution:: Don't take any wooden nickels.
+
+.. class:: c53
+
+.. danger:: Mad scientist at work!
+
+.. class:: c54
+
+.. error:: Does not compute.
+
+.. class:: c55
+
+.. hint:: It's bigger than a bread box.
+
+.. class:: c56
+
+.. important::
+ - Wash behind your ears.
+
+ - Clean up your room.
+
+ - Call your mother.
+
+ - Back up your data.
+
+.. class:: c57
+
+.. note:: This is a note.
+
+.. class:: c58
+
+.. tip:: 15% if the service is good.
+
+.. class:: c59
+
+.. warning:: Strong prose may provoke extreme mental exertion. Reader discretion
+ is strongly advised.
+
+.. admonition:: And, by the way...
+ :class: c60
+
+ You can make up your own admonition too.
+
+Topics, Sidebars, and Rubrics
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. sidebar:: Sidebar Title
+ :subtitle: Optional Subtitle
+ :class: c61
+
+ This is a sidebar. It is for text outside the flow of the main text.
+
+ .. rubric:: This is a rubric inside a sidebar
+ :class: c62
+
+ Sidebars often appears beside the main text with a border and
+ background color.
+
+.. topic:: Topic Title
+ :class: c63
+
+ This is a topic.
+
+Compound Paragraph
+~~~~~~~~~~~~~~~~~~
+
+.. compound::
+ :class: c64
+
+ Compound 1, paragraph 1.
+
+ Compound 1, paragraph 2.
+
+ * Compound 1, list item one.
+
+ * Compound 1, list item two.
diff --git a/sandbox/xml2rst/tests/synthetic/expected/standard_0_3_7.rst b/sandbox/xml2rst/tests/synthetic/expected/standard_0_3_7.rst
new file mode 100644
index 000000000..dd00b5be5
--- /dev/null
+++ b/sandbox/xml2rst/tests/synthetic/expected/standard_0_3_7.rst
@@ -0,0 +1,659 @@
+.. section-numbering::
+
+==============================
+reStructuredText Test Document
+==============================
+
+-----------------------------
+Examples of Syntax Constructs
+-----------------------------
+
+:author: David Goodger
+:address: 123 Example Street
+ Example, EX Canada
+ A1B 2C3
+:contact: goodger@users.sourceforge.net
+:authors: Me; Myself; I
+:organization: humankind
+:date: Now, or yesterday. Or maybe even *before* yesterday.
+:status: This is a "work in progress"
+:revision: is managed by a version control system.
+:version: 1
+:copyright: This document has been placed in the public domain. You
+ may do with it as you wish. You may copy, modify,
+ redistribute, reattribute, sell, buy, rent, lease,
+ destroy, or improve it, quote it at length, excerpt,
+ incorporate, collate, fold, staple, or mutilate it, or do
+ anything else to it that your or anyone else's heart
+ desires.
+:field name: This is a "generic bibliographic field".
+
+:field name "2": Generic bibliographic fields may contain multiple body elements.
+
+ Like this.
+
+
+:Dedication:
+
+ For Docutils users & co-developers.
+
+:Abstract:
+
+ This is a test document, containing at least one example of each
+ reStructuredText construct.
+
+.. This is a comment. Note how any initial comments are moved by
+ transforms to after the document title, subtitle, and docinfo.
+
+.. _doctitle:
+
+.. Above is the document title, and below is the subtitle.
+ They are transformed from section titles after parsing.
+
+.. _subtitle:
+
+.. bibliographic fields (which also require a transform):
+
+.. contents:: Table of Contents
+
+
+Structural Elements
+===================
+
+Section Title
+-------------
+
+That's it, the text just above this line.
+
+Empty Section
+-------------
+
+Transitions
+-----------
+
+Here's a transition:
+
+-----
+
+It divides the section. Transitions may also occur between sections:
+
+-----
+
+
+Body Elements
+=============
+
+Paragraphs
+----------
+
+A paragraph.
+
+Inline Markup
+~~~~~~~~~~~~~
+
+Paragraphs contain text and may contain inline markup: *emphasis*,
+**strong emphasis**, ``inline literals``, standalone hyperlinks
+(http://www.python.org), external hyperlinks (Python_ ), internal
+cross-references (example_), external hyperlinks with embedded URIs
+(`Python web site <http://www.python.org>`__), footnote references
+(manually numbered [1]_, anonymous auto-numbered [#]_, labeled
+auto-numbered [#label]_, or symbolic [*]_), citation references
+([CIT2002]_), substitution references (|EXAMPLE|), and _`inline
+hyperlink targets` (see Targets_ below for a reference back to here).
+Character-level inline markup is also possible (although exceedingly
+ugly!) in *re*\ ``Structured``\ *Text*. Problems are indicated by
+|problematic| text (generated by processing errors; this one is
+intentional). Here is a reference to the doctitle_ and the subtitle_.
+
+The default role for interpreted text is `Title Reference`. Here are
+some explicit interpreted text roles: a PEP reference (:PEP:`287`); an
+RFC reference (:RFC:`2822`); a :sub:`subscript`; a :sup:`superscript`;
+and explicit roles for *standard* **inline**
+``markup``.
+
+.. DO NOT RE-WRAP THE FOLLOWING PARAGRAPH!
+
+Let's test wrapping and whitespace significance in inline literals:
+``This is an example of --inline-literal --text, --including some--
+strangely--hyphenated-words. Adjust-the-width-of-your-browser-window
+to see how the text is wrapped. -- ---- -------- Now note the
+spacing between the words of this sentence (words
+should be grouped in pairs).``
+
+If the ``--pep-references`` option was supplied, there should be a
+live link to PEP 258 here.
+
+Bullet Lists
+------------
+
+- A bullet list
+
+ + Nested bullet list.
+
+ + Nested item 2.
+
+- Item 2.
+
+ Paragraph 2 of item 2.
+
+ * Nested bullet list.
+
+ * Nested item 2.
+
+ - Third level.
+
+ - Item 2.
+
+ * Nested item 3.
+
+ * This nested list should be compacted by the HTML writer.
+
+ .. _target:
+
+ .. Even if this item contains a target and a comment.
+
+Enumerated Lists
+----------------
+
+1. Arabic numerals.
+
+ a) lower alpha)
+
+ (i) (lower roman)
+
+ A. upper alpha.
+
+ I) upper roman)
+
+2. Lists that don't start at 1:
+
+ 3. Three
+
+ 4. Four
+
+ C. C
+
+ D. D
+
+ i. iii
+
+ i. iv
+
+Definition Lists
+----------------
+
+Term
+ Definition
+
+Term : classifier
+ Definition paragraph 1.
+
+ Definition paragraph 2.
+
+Term
+ Definition
+
+Term : classifier one : classifier two
+ Definition
+
+Field Lists
+-----------
+
+:what: Field lists map field names to field bodies, like database
+ records. They are often part of an extension syntax. They are
+ an unambiguous variant of RFC 2822 fields.
+
+:how arg1 arg2: The field marker is a colon, the field name, and a colon.
+
+ The field body may contain one or more body elements, indented
+ relative to the field marker.
+
+:credits:
+ .. class:: credits
+
+ This paragraph has the `credits` class set. (This is actually not
+ about credits but just for ensuring that the class attribute
+ doesn't get stripped away.)
+
+Option Lists
+------------
+
+For listing command-line options:
+
+-a
+ command-line option "a"
+
+-b file
+ options can have arguments
+ and long descriptions
+
+--long
+ options can be long also
+
+--input=file
+ long options can also have
+ arguments
+
+--very-long-option
+ The description can also start on the next line.
+
+ The description may contain multiple body elements,
+ regardless of where it starts.
+
+-x, -y, -z
+ Multiple options are an "option group".
+
+-v, --verbose
+ Commonly-seen: short & long options.
+
+-1 file, --one=file, --two file
+ Multiple options with arguments.
+
+/V
+ DOS/VMS-style options too
+
+
+There must be at least two spaces between the option and the
+description.
+
+Literal Blocks
+--------------
+
+Literal blocks are indicated with a double-colon ("::") at the end of
+the preceding paragraph (over there ``-->``). They can be indented:
+
+::
+
+ if literal_block:
+ text = 'is left as-is'
+ spaces_and_linebreaks = 'are preserved'
+ markup_processing = None
+
+Or they can be quoted without indentation:
+
+::
+
+>> Great idea!
+>
+> Why didn't I think of that?
+
+Line Blocks
+-----------
+
+This section tests line blocks. Line blocks are body elements which
+consist of lines and other line blocks. Nested line blocks cause
+indentation.
+
+| This is a line block. It ends with a blank line.
+| New lines begin with a vertical bar ("|").
+| Line breaks and initial indent are significant, and preserved.
+| Continuation lines are also possible. A long line that is intended
+ to wrap should begin with a space in place of the vertical bar.
+| The left edge of a continuation line need not be aligned with
+ the left edge of the text above it.
+
+| This is a second line block.
+|
+| Blank lines are permitted internally, but they must begin with a "|".
+
+Another line block, surrounded by paragraphs:
+
+| And it's no good waiting by the window
+| It's no good waiting for the sun
+| Please believe me, the things you dream of
+| They don't fall in the lap of no-one
+
+Take it away, Eric the Orchestra Leader!
+
+ | A one, two, a one two three four
+ |
+ | Half a bee, philosophically,
+ | must, *ipso facto*, half not be.
+ | But half the bee has got to be,
+ | *vis a vis* its entity. D'you see?
+ |
+ | But can a bee be said to be
+ | or not to be an entire bee,
+ | when half the bee is not a bee,
+ | due to some ancient injury?
+ |
+ | Singing...
+
+Block Quotes
+------------
+
+Block quotes consist of indented body elements:
+
+ My theory by A. Elk. Brackets Miss, brackets. This theory goes
+ as follows and begins now. All brontosauruses are thin at one
+ end, much much thicker in the middle and then thin again at the
+ far end. That is my theory, it is mine, and belongs to me and I
+ own it, and what it is too.
+
+ -- Anne Elk (Miss)
+
+Doctest Blocks
+--------------
+
+
+>>> print 'Python-specific usage examples; begun with ">>>"'
+Python-specific usage examples; begun with ">>>"
+>>> print '(cut and pasted from interactive Python sessions)'
+(cut and pasted from interactive Python sessions)
+
+Footnotes
+---------
+
+.. [1] A footnote contains body elements, consistently indented by at
+ least 3 spaces.
+
+ This is the footnote's second paragraph.
+
+.. [#label] Footnotes may be numbered, either manually (as in [1]_) or
+ automatically using a "#"-prefixed label. This footnote has a
+ label so it can be referred to from multiple places, both as a
+ footnote reference ([#label]_) and as a hyperlink reference
+ (label_).
+
+.. [#] This footnote is numbered automatically and anonymously using a
+ label of "#" only.
+
+ This is the second paragraph.
+
+ And this is the third paragraph.
+
+.. [*] Footnotes may also use symbols, specified with a "*" label.
+ Here's a reference to the next footnote: [*]_.
+
+.. [*] This footnote shows the next symbol in the sequence.
+
+.. [4] Here's an unreferenced footnote, with a reference to a
+ nonexistent footnote: [5]_.
+
+Citations
+---------
+
+.. [CIT2002] Citations are text-labeled footnotes. They may be
+ rendered separately and differently from footnotes.
+
+Here's a reference to the above, [CIT2002]_, and a [nonexistent]_
+citation.
+
+Targets
+-------
+
+
+.. _example:
+
+This paragraph is pointed to by the explicit "example" target. A
+reference can be found under `Inline Markup`_, above. `Inline
+hyperlink targets`_ are also possible.
+
+Section headers are implicit targets, referred to by name. See
+Targets_, which is a subsection of `Body Elements`_.
+
+Explicit external targets are interpolated into references such as
+"Python_ ".
+
+.. _python: http://www.python.org/
+
+Targets may be indirect and anonymous. Thus `this phrase`__ may also
+refer to the Targets_ section.
+
+__ targets_
+
+Here's a `hyperlink reference without a target`_, which generates an
+error.
+
+And another phrase__ pointing to an anonymous hyperlink.
+
+__ http://www.example.com/
+
+Duplicate Target Names
+~~~~~~~~~~~~~~~~~~~~~~
+
+Duplicate names in section headers or other implicit targets will
+generate "info" (level-1) system messages. Duplicate names in
+explicit targets will generate "warning" (level-2) system messages.
+
+Duplicate Target Names
+~~~~~~~~~~~~~~~~~~~~~~
+
+Since there are two "Duplicate Target Names" section headers, we
+cannot uniquely refer to either of them by name. If we try to (like
+this: `Duplicate Target Names`_), an error is generated.
+
+Directives
+----------
+
+.. contents::
+ :local:
+
+These are just a sample of the many reStructuredText Directives. For
+others, please see
+http://docutils.sourceforge.net/docs/ref/rst/directives.html.
+
+Document Parts
+~~~~~~~~~~~~~~
+
+An example of the "contents" directive can be seen above this section
+(a local, untitled table of contents_) and at the beginning of the
+document (a document-wide `table of contents`_).
+
+Images
+~~~~~~
+
+An image directive (also clickable -- a hyperlink reference):
+
+.. image:: ../../../docs/user/rst/images/title.png
+ :target: directives_
+
+
+.. image:: ../../../docs/user/rst/images/title.png
+ :target: http://www.merten-home.de/
+
+A figure directive:
+
+.. figure:: ../../../docs/user/rst/images/title.png
+ :alt: reStructuredText, the markup syntax
+
+ A figure is an image with a caption and/or a legend:
+
+ +------------+-----------------------------------------------+
+ | re | Revised, revisited, based on 're' module. |
+ +------------+-----------------------------------------------+
+ | Structured | Structure-enhanced text, structuredtext. |
+ +------------+-----------------------------------------------+
+ | Text | Well it is, isn't it? |
+ +------------+-----------------------------------------------+
+
+ This paragraph is also part of the legend.
+
+Admonitions
+~~~~~~~~~~~
+
+.. attention:: Directives at large.
+
+.. caution:: Don't take any wooden nickels.
+
+.. danger:: Mad scientist at work!
+
+.. error:: Does not compute.
+
+.. hint:: It's bigger than a bread box.
+
+.. important::
+ - Wash behind your ears.
+
+ - Clean up your room.
+
+ - Call your mother.
+
+ - Back up your data.
+
+.. note:: This is a note.
+
+.. tip:: 15% if the service is good.
+
+.. warning:: Strong prose may provoke extreme mental exertion.
+ Reader discretion is strongly advised.
+
+.. admonition:: And, by the way...
+
+ You can make up your own admonition too.
+
+Topics, Sidebars, and Rubrics
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. sidebar:: Sidebar Title
+ :subtitle: Optional Subtitle
+
+ This is a sidebar. It is for text outside the flow of the main
+ text.
+
+ .. rubric:: This is a rubric inside a sidebar
+
+ Sidebars often appears beside the main text with a border and
+ background color.
+
+.. topic:: Topic Title
+
+ This is a topic.
+
+.. rubric:: This is a rubric
+
+Target Footnotes
+~~~~~~~~~~~~~~~~
+
+.. target-notes::
+
+Replacement Text
+~~~~~~~~~~~~~~~~
+
+I recommend you try Python, *the* best language around .
+
+.. |Python| replace:: Python, *the* best language around
+
+Compound Paragraph
+~~~~~~~~~~~~~~~~~~
+
+.. compound::
+ :class: some-class
+
+ Compound 1, paragraph 1.
+
+ Compound 1, paragraph 2.
+
+ * Compound 1, list item one.
+
+ * Compound 1, list item two.
+
+Another compound statement:
+
+.. compound::
+
+ Compound 2, a literal block:
+
+ ::
+
+ Compound 2, literal.
+
+ Compound 2, this is a test.
+
+.. compound::
+
+ Compound 3, only consisting of one paragraph.
+
+.. compound::
+
+ ::
+
+ Compound 4.
+ This one starts with a literal block.
+
+ Compound 4, a paragraph.
+
+Now something *really* perverted -- a nested compound block. In
+LaTeX, the following paragraphs should all be first-line indented:
+
+.. compound::
+
+ Compound 5, block 1 (a paragraph).
+
+ .. compound::
+
+ Compound 6, block 2 in compound 5.
+
+ Compound 6, another paragraph.
+
+ Compound 5, block 3 (a paragraph).
+
+.. compound::
+
+ Compound 7, with a table inside:
+
+ +--------------------+--------------------+--------------------+
+ | Left cell, first | Middle cell, | Right cell. |
+ | paragraph. | consisting of | |
+ | | exactly one | Paragraph 2. |
+ | Left cell, second | paragraph. | |
+ | paragraph. | | Paragraph 3. |
+ +--------------------+--------------------+--------------------+
+
+ Compound 7, a paragraph after the table.
+
+ Compound 7, another paragraph.
+
+Substitution Definitions
+------------------------
+
+An inline image (|EXAMPLE|) example:
+
+.. |EXAMPLE| image:: ../../../docs/user/rst/images/biohazard.png
+
+
+(Substitution definitions are not visible in the HTML source.)
+
+Comments
+--------
+
+Here's one:
+
+.. Comments begin with two dots and a space. Anything may
+ follow, except for the syntax of footnotes, hyperlink
+ targets, directives, or substitution definitions.
+
+ Double-dashes -- "--" -- must be escaped somehow in HTML output.
+
+(View the HTML source to see the comment.)
+
+Raw text
+--------
+
+This does not necessarily look nice, because there may be missing white space.
+
+It's just there to freeze the behavior.
+
+.. raw:: html latex
+
+ A test.
+
+.. raw:: html latex
+
+ Second test.
+
+.. class:: myclass
+
+.. raw:: html latex
+
+ Another test with myclass set.
+
+This is the :RAW-ROLE:`fourth test` with myrawroleclass set.
+
+.. raw:: html
+
+ Fifth test in HTML.<br />Line two.
+
+.. raw:: latex
+
+ Fifth test in LaTeX.\\Line two.
diff --git a/sandbox/xml2rst/tests/synthetic/expected/standard_r6008.rst b/sandbox/xml2rst/tests/synthetic/expected/standard_r6008.rst
new file mode 100644
index 000000000..583fa06b8
--- /dev/null
+++ b/sandbox/xml2rst/tests/synthetic/expected/standard_r6008.rst
@@ -0,0 +1,807 @@
+.. section-numbering::
+
+==============================
+reStructuredText Test Document
+==============================
+
+-----------------------------
+Examples of Syntax Constructs
+-----------------------------
+
+:author: David Goodger
+:address: 123 Example Street
+ Example, EX Canada
+ A1B 2C3
+:contact: goodger@python.org
+:authors: Me; Myself; I
+:organization: humankind
+:date: Now, or yesterday. Or maybe even *before* yesterday.
+:status: This is a "work in progress"
+:revision: is managed by a version control system.
+:version: 1
+:copyright: This document has been placed in the public domain. You
+ may do with it as you wish. You may copy, modify,
+ redistribute, reattribute, sell, buy, rent, lease,
+ destroy, or improve it, quote it at length, excerpt,
+ incorporate, collate, fold, staple, or mutilate it, or do
+ anything else to it that your or anyone else's heart
+ desires.
+:field name: This is a "generic bibliographic field".
+
+:field name "2": Generic bibliographic fields may contain multiple body elements.
+
+ Like this.
+
+
+:Dedication:
+
+ For Docutils users & co-developers.
+
+:Abstract:
+
+ This is a test document, containing at least one example of each
+ reStructuredText construct.
+
+.. This is a comment. Note how any initial comments are moved by
+ transforms to after the document title, subtitle, and docinfo.
+
+.. _doctitle:
+
+.. Above is the document title, and below is the subtitle.
+ They are transformed from section titles after parsing.
+
+.. _subtitle:
+
+.. bibliographic fields (which also require a transform):
+
+.. contents:: Table of Contents
+
+
+Structural Elements
+===================
+
+Section Title
+-------------
+
+Section Subtitle
+~~~~~~~~~~~~~~~~
+
+That's it, the text just above this line.
+
+Empty Section
+-------------
+
+Transitions
+-----------
+
+Here's a transition:
+
+-----
+
+It divides the section. Transitions may also occur between sections:
+
+-----
+
+
+Body Elements
+=============
+
+Paragraphs
+----------
+
+A paragraph.
+
+Inline Markup
+~~~~~~~~~~~~~
+
+Paragraphs contain text and may contain inline markup: *emphasis*,
+**strong emphasis**, ``inline literals``, standalone hyperlinks
+(http://www.python.org), external hyperlinks (Python_ ), internal
+cross-references (example_), external hyperlinks with embedded URIs
+(`Python web site <http://www.python.org>`__), `anonymous hyperlink
+references`__ (`a second reference`__ ), footnote references (manually
+numbered [1]_, anonymous auto-numbered [#]_, labeled auto-numbered
+[#label]_, or symbolic [*]_), citation references ([CIT2002]_),
+substitution references (|EXAMPLE|), and _`inline hyperlink targets`
+(see Targets_ below for a reference back to here). Character-level
+inline markup is also possible (although exceedingly ugly!) in *re*\ ``Structured``\ *Text*. Problems are indicated by |problematic| text
+(generated by processing errors; this one is intentional). Here is a
+reference to the doctitle_ and the subtitle_.
+
+__ http://www.python.org/
+
+__ http://docutils.sourceforge.net/
+
+The default role for interpreted text is `Title Reference`. Here are
+some explicit interpreted text roles: a PEP reference (:PEP:`287`); an
+RFC reference (:RFC:`2822`); a :sub:`subscript`; a :sup:`superscript`;
+and explicit roles for *standard* **inline**
+``markup``.
+
+.. DO NOT RE-WRAP THE FOLLOWING PARAGRAPH!
+
+Let's test wrapping and whitespace significance in inline literals:
+``This is an example of --inline-literal --text, --including some--
+strangely--hyphenated-words. Adjust-the-width-of-your-browser-window
+to see how the text is wrapped. -- ---- -------- Now note the
+spacing between the words of this sentence (words
+should be grouped in pairs).``
+
+If the ``--pep-references`` option was supplied, there should be a
+live link to PEP 258 here.
+
+Bullet Lists
+------------
+
+- A bullet list
+
+ + Nested bullet list.
+
+ + Nested item 2.
+
+- Item 2.
+
+ Paragraph 2 of item 2.
+
+ * Nested bullet list.
+
+ * Nested item 2.
+
+ - Third level.
+
+ - Item 2.
+
+ * Nested item 3.
+
+ * This nested list should be compacted by the HTML writer.
+
+ .. _target:
+
+ .. Even if this item contains a target and a comment.
+
+Enumerated Lists
+----------------
+
+1. Arabic numerals.
+
+ a) lower alpha)
+
+ (i) (lower roman)
+
+ A. upper alpha.
+
+ I) upper roman)
+
+2. Lists that don't start at 1:
+
+ 3. Three
+
+ 4. Four
+
+ C. C
+
+ D. D
+
+ i. iii
+
+ i. iv
+
+Definition Lists
+----------------
+
+Term
+ Definition
+
+Term : classifier
+ Definition paragraph 1.
+
+ Definition paragraph 2.
+
+Term
+ Definition
+
+Term : classifier one : classifier two
+ Definition
+
+Field Lists
+-----------
+
+:what: Field lists map field names to field bodies, like database
+ records. They are often part of an extension syntax. They are
+ an unambiguous variant of RFC 2822 fields.
+
+:how arg1 arg2: The field marker is a colon, the field name, and a colon.
+
+ The field body may contain one or more body elements, indented
+ relative to the field marker.
+
+:credits:
+ .. class:: credits
+
+ This paragraph has the `credits` class set. (This is actually not
+ about credits but just for ensuring that the class attribute
+ doesn't get stripped away.)
+
+Option Lists
+------------
+
+For listing command-line options:
+
+-a
+ command-line option "a"
+
+-b file
+ options can have arguments
+ and long descriptions
+
+--long
+ options can be long also
+
+--input=file
+ long options can also have
+ arguments
+
+--very-long-option
+ The description can also start on the next line.
+
+ The description may contain multiple body elements,
+ regardless of where it starts.
+
+-x, -y, -z
+ Multiple options are an "option group".
+
+-v, --verbose
+ Commonly-seen: short & long options.
+
+-1 file, --one=file, --two file
+ Multiple options with arguments.
+
+/V
+ DOS/VMS-style options too
+
+
+There must be at least two spaces between the option and the
+description.
+
+Literal Blocks
+--------------
+
+Literal blocks are indicated with a double-colon ("::") at the end of
+the preceding paragraph (over there ``-->``). They can be indented:
+
+::
+
+ if literal_block:
+ text = 'is left as-is'
+ spaces_and_linebreaks = 'are preserved'
+ markup_processing = None
+
+Or they can be quoted without indentation:
+
+::
+
+>> Great idea!
+>
+> Why didn't I think of that?
+
+Line Blocks
+-----------
+
+This section tests line blocks. Line blocks are body elements which
+consist of lines and other line blocks. Nested line blocks cause
+indentation.
+
+| This is a line block. It ends with a blank line.
+| New lines begin with a vertical bar ("|").
+| Line breaks and initial indent are significant, and preserved.
+| Continuation lines are also possible. A long line that is intended
+ to wrap should begin with a space in place of the vertical bar.
+| The left edge of a continuation line need not be aligned with
+ the left edge of the text above it.
+
+| This is a second line block.
+|
+| Blank lines are permitted internally, but they must begin with a "|".
+
+Another line block, surrounded by paragraphs:
+
+| And it's no good waiting by the window
+| It's no good waiting for the sun
+| Please believe me, the things you dream of
+| They don't fall in the lap of no-one
+
+Take it away, Eric the Orchestra Leader!
+
+ | A one, two, a one two three four
+ |
+ | Half a bee, philosophically,
+ | must, *ipso facto*, half not be.
+ | But half the bee has got to be,
+ | *vis a vis* its entity. D'you see?
+ |
+ | But can a bee be said to be
+ | or not to be an entire bee,
+ | when half the bee is not a bee,
+ | due to some ancient injury?
+ |
+ | Singing...
+
+Block Quotes
+------------
+
+Block quotes consist of indented body elements:
+
+ My theory by A. Elk. Brackets Miss, brackets. This theory goes
+ as follows and begins now. All brontosauruses are thin at one
+ end, much much thicker in the middle and then thin again at the
+ far end. That is my theory, it is mine, and belongs to me and I
+ own it, and what it is too.
+
+ -- Anne Elk (Miss)
+
+Doctest Blocks
+--------------
+
+
+>>> print 'Python-specific usage examples; begun with ">>>"'
+Python-specific usage examples; begun with ">>>"
+>>> print '(cut and pasted from interactive Python sessions)'
+(cut and pasted from interactive Python sessions)
+
+Footnotes
+---------
+
+.. [1] A footnote contains body elements, consistently indented by at
+ least 3 spaces.
+
+ This is the footnote's second paragraph.
+
+.. [#label] Footnotes may be numbered, either manually (as in [1]_) or
+ automatically using a "#"-prefixed label. This footnote has a
+ label so it can be referred to from multiple places, both as a
+ footnote reference ([#label]_) and as a `hyperlink reference`__.
+
+ __ label_
+
+.. [#] This footnote is numbered automatically and anonymously using a
+ label of "#" only.
+
+ This is the second paragraph.
+
+ And this is the third paragraph.
+
+.. [*] Footnotes may also use symbols, specified with a "*" label.
+ Here's a reference to the next footnote: [*]_.
+
+.. [*] This footnote shows the next symbol in the sequence.
+
+.. [4] Here's an unreferenced footnote, with a reference to a
+ nonexistent footnote: [5]_.
+
+Citations
+---------
+
+.. [CIT2002] Citations are text-labeled footnotes. They may be
+ rendered separately and differently from footnotes.
+
+Here's a reference to the above, [CIT2002]_, and a [nonexistent]_
+citation.
+
+.. _another target:
+
+Targets
+-------
+
+
+.. _example:
+
+This paragraph is pointed to by the explicit "example" target. A
+reference can be found under `Inline Markup`_, above. `Inline
+hyperlink targets`_ are also possible.
+
+Section headers are implicit targets, referred to by name. See
+Targets_, which is a subsection of `Body Elements`_.
+
+Explicit external targets are interpolated into references such as
+"Python_ ".
+
+.. _python: http://www.python.org/
+
+Targets may be indirect and anonymous. Thus `this phrase`__ may also
+refer to the Targets_ section.
+
+__ targets_
+
+Here's a `hyperlink reference without a target`_, which generates an
+error.
+
+Duplicate Target Names
+~~~~~~~~~~~~~~~~~~~~~~
+
+Duplicate names in section headers or other implicit targets will
+generate "info" (level-1) system messages. Duplicate names in
+explicit targets will generate "warning" (level-2) system messages.
+
+Duplicate Target Names
+~~~~~~~~~~~~~~~~~~~~~~
+
+Since there are two "Duplicate Target Names" section headers, we
+cannot uniquely refer to either of them by name. If we try to (like
+this: `Duplicate Target Names`_), an error is generated.
+
+Directives
+----------
+
+.. contents::
+ :local:
+
+These are just a sample of the many reStructuredText Directives. For
+others, please see
+http://docutils.sourceforge.net/docs/ref/rst/directives.html.
+
+Document Parts
+~~~~~~~~~~~~~~
+
+An example of the "contents" directive can be seen above this section
+(a local, untitled table of contents_) and at the beginning of the
+document (a document-wide `table of contents`_).
+
+Images and Figures
+~~~~~~~~~~~~~~~~~~
+
+An image directive (also clickable -- a hyperlink reference):
+
+.. image:: ../../../docs/user/rst/images/title.png
+ :class: class1 class2
+ :target: directives_
+
+Image with multiple IDs:
+
+.. _image target 1:
+
+.. _image target 2:
+
+.. _image target 3:
+
+.. image:: ../../../docs/user/rst/images/title.png
+
+
+A centered image:
+
+.. image:: ../../../docs/user/rst/images/biohazard.png
+ :align: center
+
+
+A left-aligned image:
+
+.. image:: ../../../docs/user/rst/images/biohazard.png
+ :align: left
+
+
+This paragraph might flow around the image.
+The specific behavior depends upon the style sheet and
+the browser or rendering software used.
+
+A right-aligned image:
+
+.. image:: ../../../docs/user/rst/images/biohazard.png
+ :align: right
+
+
+This paragraph might flow around the image.
+The specific behavior depends upon the style sheet and
+the browser or rendering software used.
+
+For inline images see `Substitution Definitions`_.
+
+Image size:
+
+An image 2 em wide:
+
+.. image:: ../../../docs/user/rst/images/biohazard.png
+ :width: 2em
+
+
+An image 2 em wide and 15 pixel high:
+
+.. image:: ../../../docs/user/rst/images/biohazard.png
+ :height: 15px
+ :width: 2em
+
+
+An image occupying 50% of the line width:
+
+.. image:: ../../../docs/user/rst/images/title.png
+ :width: 50%
+
+
+An image 2 cm high:
+
+.. image:: ../../../docs/user/rst/images/biohazard.png
+ :height: 2cm
+
+
+A *figure* is an image with a caption and/or a legend. With page-based output
+media, figures might float to a different position if this helps the page
+layout.
+
+.. figure:: ../../../docs/user/rst/images/title.png
+ :figclass: figclass1 figclass2
+ :alt: reStructuredText, the markup syntax
+ :class: class1 class2
+ :width: 258
+
+ Plaintext markup syntax and parser system.
+
+ +------------+-----------------------------------------------+
+ | re | Revised, revisited, based on 're' module. |
+ +------------+-----------------------------------------------+
+ | Structured | Structure-enhanced text, structuredtext. |
+ +------------+-----------------------------------------------+
+ | Text | Well it is, isn't it? |
+ +------------+-----------------------------------------------+
+
+ This paragraph is also part of the legend.
+
+A left-aligned figure:
+
+.. figure:: ../../../docs/user/rst/images/biohazard.png
+ :figclass: figclass1 figclass2
+ :align: left
+ :alt: reStructuredText, the markup syntax
+ :class: class1 class2
+ :width: 50
+
+ This is the caption.
+
+ This is the legend.
+
+ The legend may consist of several paragraphs.
+
+This paragraph might flow around the figure. The specific behavior depends
+upon the style sheet and the browser or rendering software used.
+
+A centered figure:
+
+.. figure:: ../../../docs/user/rst/images/biohazard.png
+ :align: center
+ :width: 50
+
+ This is the caption.
+
+ This is the legend.
+
+ The legend may consist of several paragraphs.
+
+This paragraph might flow around the figure. The specific behavior depends
+upon the style sheet and the browser or rendering software used.
+
+A right-aligned figure:
+
+.. figure:: ../../../docs/user/rst/images/biohazard.png
+ :align: right
+ :width: 50
+
+ This is the caption.
+
+ This is the legend.
+
+ The legend may consist of several paragraphs.
+
+This paragraph might flow around the figure. The specific behavior depends
+upon the style sheet and the browser or rendering software used.
+
+Admonitions
+~~~~~~~~~~~
+
+.. attention:: Directives at large.
+
+.. caution:: Don't take any wooden nickels.
+
+.. danger:: Mad scientist at work!
+
+.. error:: Does not compute.
+
+.. hint:: It's bigger than a bread box.
+
+.. important::
+ - Wash behind your ears.
+
+ - Clean up your room.
+
+ - Call your mother.
+
+ - Back up your data.
+
+.. note:: This is a note.
+
+.. tip:: 15% if the service is good.
+
+.. warning:: Strong prose may provoke extreme mental exertion.
+ Reader discretion is strongly advised.
+
+.. admonition:: And, by the way...
+
+ You can make up your own admonition too.
+
+ .. _docutils: http://docutils.sourceforge.net/
+
+Topics, Sidebars, and Rubrics
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. sidebar:: Sidebar Title
+ :subtitle: Optional Subtitle
+
+ This is a sidebar. It is for text outside the flow of the main
+ text.
+
+ .. rubric:: This is a rubric inside a sidebar
+
+ Sidebars often appears beside the main text with a border and
+ background color.
+
+.. topic:: Topic Title
+
+ This is a topic.
+
+.. rubric:: This is a rubric
+
+Target Footnotes
+~~~~~~~~~~~~~~~~
+
+.. target-notes::
+
+Replacement Text
+~~~~~~~~~~~~~~~~
+
+I recommend you try Python, *the* best language around .
+
+.. |Python| replace:: Python, *the* best language around
+
+Compound Paragraph
+~~~~~~~~~~~~~~~~~~
+
+.. compound::
+ :class: some-class
+
+ Compound 1, paragraph 1.
+
+ Compound 1, paragraph 2.
+
+ * Compound 1, list item one.
+
+ * Compound 1, list item two.
+
+Another compound statement:
+
+.. compound::
+
+ Compound 2, a literal block:
+
+ ::
+
+ Compound 2, literal.
+
+ Compound 2, this is a test.
+
+.. compound::
+
+ Compound 3, only consisting of one paragraph.
+
+.. compound::
+
+ ::
+
+ Compound 4.
+ This one starts with a literal block.
+
+ Compound 4, a paragraph.
+
+Now something *really* perverted -- a nested compound block. This is
+just to test that it works at all; the results don't have to be
+meaningful.
+
+.. compound::
+
+ Compound 5, block 1 (a paragraph).
+
+ .. compound::
+
+ Compound 6, block 2 in compound 5.
+
+ Compound 6, another paragraph.
+
+ Compound 5, block 3 (a paragraph).
+
+.. compound::
+
+ Compound 7, with a table inside:
+
+ +--------------------+--------------------+--------------------+
+ | Left cell, first | Middle cell, | Right cell. |
+ | paragraph. | consisting of | |
+ | | exactly one | Paragraph 2. |
+ | Left cell, second | paragraph. | |
+ | paragraph. | | Paragraph 3. |
+ +--------------------+--------------------+--------------------+
+
+ Compound 7, a paragraph after the table.
+
+ Compound 7, another paragraph.
+
+Parsed Literal Blocks
+~~~~~~~~~~~~~~~~~~~~~
+
+
+.. parsed-literal::
+
+ This is a parsed literal block.
+ This line is indented. The next line is blank.
+
+ Inline markup is supported, e.g. *emphasis*, **strong**, ``literal
+ text``, footnotes [1]_, _`hyperlink targets`, and `references <http://www.python.org/>`_.
+
+Substitution Definitions
+------------------------
+
+An inline image (|EXAMPLE|) example:
+
+.. |EXAMPLE| image:: ../../../docs/user/rst/images/biohazard.png
+
+
+(Substitution definitions are not visible in the HTML source.)
+
+Comments
+--------
+
+Here's one:
+
+.. Comments begin with two dots and a space. Anything may
+ follow, except for the syntax of footnotes, hyperlink
+ targets, directives, or substitution definitions.
+
+ Double-dashes -- "--" -- must be escaped somehow in HTML output.
+
+ Comments may contain non-ASCII characters: ä ö ü æ ø å
+
+(View the HTML source to see the comment.)
+
+Raw text
+--------
+
+This does not necessarily look nice, because there may be missing white space.
+
+It's just there to freeze the behavior.
+
+.. raw:: html latex
+
+ A test.
+
+.. raw:: html latex
+
+ Second test.
+
+.. class:: myclass
+
+.. raw:: html latex
+
+ Another test with myclass set.
+
+This is the :RAW-ROLE:`fourth test` with myrawroleclass set.
+
+.. raw:: html
+
+ Fifth test in HTML.<br />Line two.
+
+.. raw:: latex
+
+ Fifth test in LaTeX.\\Line two.
+
+Container
+---------
+
+.. container:: custom
+
+ paragraph 1
+
+ paragraph 2
diff --git a/sandbox/xml2rst/tests/synthetic/filterunit.cfg b/sandbox/xml2rst/tests/synthetic/filterunit.cfg
new file mode 100644
index 000000000..af9a91eb3
--- /dev/null
+++ b/sandbox/xml2rst/tests/synthetic/filterunit.cfg
@@ -0,0 +1,5 @@
+inputExtension = .xml
+expectedExtension = .rst
+
+command = ../../xml2rst.py
+options = $<
diff --git a/sandbox/xml2rst/tests/synthetic/input/class.xml b/sandbox/xml2rst/tests/synthetic/input/class.xml
new file mode 100644
index 000000000..d5d940f66
--- /dev/null
+++ b/sandbox/xml2rst/tests/synthetic/input/class.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by Docutils 0.8 -->
+<document classes="c1 c2" ids="restructuredtext-test-document" names="restructuredtext\ test\ document" source="original/class.rst" title="reStructuredText Test Document"><title>reStructuredText Test Document</title><subtitle classes="c3" ids="examples-of-syntax-constructs" names="examples\ of\ syntax\ constructs">Examples of Syntax Constructs</subtitle><docinfo><author>David Goodger</author></docinfo><comment xml:space="preserve">bibliographic fields (which also require a transform):</comment><field_list classes="c5"><field><field_name>Address</field_name><field_body><paragraph>123 Example Street Example, EX Canada A1B 2C3</paragraph></field_body></field><field><field_name>Contact</field_name><field_body><paragraph><reference refuri="mailto:goodger@users.sourceforge.net">goodger@users.sourceforge.net</reference></paragraph></field_body></field><field><field_name>Authors</field_name><field_body><paragraph>Me; Myself; I</paragraph></field_body></field><field><field_name>organization</field_name><field_body><paragraph>humankind</paragraph></field_body></field><field><field_name>date</field_name><field_body><paragraph>Now, or yesterday. Or maybe even <emphasis>before</emphasis> yesterday.</paragraph></field_body></field><field><field_name>status</field_name><field_body><paragraph>This is a &quot;work in progress&quot;</paragraph></field_body></field><field><field_name>revision</field_name><field_body><paragraph>is managed by a version control system.</paragraph></field_body></field><field><field_name>version</field_name><field_body><paragraph>1</paragraph></field_body></field><field><field_name>copyright</field_name><field_body><paragraph>This document has been placed in the public domain. You may do with
+it as you wish. You may copy, modify, redistribute, reattribute,
+sell, buy, rent, lease, destroy, or improve it, quote it at length,
+excerpt, incorporate, collate, fold, staple, or mutilate it, or do
+anything else to it that your or anyone else's heart desires.</paragraph></field_body></field></field_list><field_list classes="c6"><field><field_name>field name</field_name><field_body><paragraph>This is a &quot;generic bibliographic field&quot;.</paragraph></field_body></field><field><field_name>field name &quot;2&quot;</field_name><field_body><paragraph>Generic bibliographic fields may contain multiple body elements.</paragraph><paragraph classes="c7">Like this.</paragraph></field_body></field></field_list><field_list classes="c8"><field><field_name>Dedication</field_name><field_body><paragraph classes="c9">For Docutils users &amp; co-developers.</paragraph></field_body></field></field_list><field_list classes="c10"><field><field_name>abstract</field_name><field_body><paragraph>This is a test document, containing at least one example of each
+reStructuredText construct.</paragraph></field_body></field></field_list><topic classes="contents c12 c11" ids="table-of-contents" names="table\ of\ contents"><title>Table of Contents</title><bullet_list classes="auto-toc"><list_item><paragraph><reference ids="id9" refid="structural-elements"><generated classes="sectnum">1   </generated>Structural Elements</reference></paragraph><bullet_list classes="auto-toc"><list_item><paragraph><reference ids="id10" refid="section-title"><generated classes="sectnum">1.1   </generated>Section Title</reference></paragraph></list_item><list_item><paragraph><reference ids="id11" refid="bullet-lists"><generated classes="sectnum">1.2   </generated>Bullet Lists</reference></paragraph></list_item><list_item><paragraph><reference ids="id12" refid="enumerated-lists"><generated classes="sectnum">1.3   </generated>Enumerated Lists</reference></paragraph></list_item><list_item><paragraph><reference ids="id13" refid="definition-lists"><generated classes="sectnum">1.4   </generated>Definition Lists</reference></paragraph></list_item><list_item><paragraph><reference ids="id14" refid="field-lists"><generated classes="sectnum">1.5   </generated>Field Lists</reference></paragraph></list_item><list_item><paragraph><reference ids="id15" refid="option-lists"><generated classes="sectnum">1.6   </generated>Option Lists</reference></paragraph></list_item><list_item><paragraph><reference ids="id16" refid="literal-blocks"><generated classes="sectnum">1.7   </generated>Literal Blocks</reference></paragraph></list_item><list_item><paragraph><reference ids="id17" refid="line-blocks"><generated classes="sectnum">1.8   </generated>Line Blocks</reference></paragraph></list_item><list_item><paragraph><reference ids="id18" refid="block-quotes"><generated classes="sectnum">1.9   </generated>Block Quotes</reference></paragraph></list_item><list_item><paragraph><reference ids="id19" refid="doctest-blocks"><generated classes="sectnum">1.10   </generated>Doctest Blocks</reference></paragraph></list_item><list_item><paragraph><reference ids="id20" refid="footnotes"><generated classes="sectnum">1.11   </generated>Footnotes</reference></paragraph></list_item><list_item><paragraph><reference ids="id21" refid="citations"><generated classes="sectnum">1.12   </generated>Citations</reference></paragraph></list_item><list_item><paragraph><reference ids="id22" refid="targets"><generated classes="sectnum">1.13   </generated>Targets</reference></paragraph></list_item><list_item><paragraph><reference ids="id23" refid="directives"><generated classes="sectnum">1.14   </generated>Directives</reference></paragraph><bullet_list classes="auto-toc"><list_item><paragraph><reference ids="id24" refid="images"><generated classes="sectnum">1.14.1   </generated>Images</reference></paragraph></list_item><list_item><paragraph><reference ids="id25" refid="admonitions"><generated classes="sectnum">1.14.2   </generated>Admonitions</reference></paragraph></list_item><list_item><paragraph><reference ids="id26" refid="topics-sidebars-and-rubrics"><generated classes="sectnum">1.14.3   </generated>Topics, Sidebars, and Rubrics</reference></paragraph></list_item><list_item><paragraph><reference ids="id27" refid="compound-paragraph"><generated classes="sectnum">1.14.4   </generated>Compound Paragraph</reference></paragraph></list_item></bullet_list></list_item></bullet_list></list_item></bullet_list></topic><section classes="c13" ids="structural-elements" names="structural\ elements"><title auto="1" refid="id9"><generated classes="sectnum">1   </generated>Structural Elements</title><section classes="c14" ids="section-title" names="section\ title"><title auto="1" refid="id10"><generated classes="sectnum">1.1   </generated>Section Title</title><paragraph classes="c15">That's it, the text just above this line.</paragraph><transition classes="c16"/><paragraph classes="c17">A paragraph.</paragraph></section><section ids="bullet-lists" names="bullet\ lists"><title auto="1" refid="id11"><generated classes="sectnum">1.2   </generated>Bullet Lists</title><bullet_list bullet="-" classes="c18"><list_item><paragraph>A bullet list</paragraph><bullet_list bullet="+" classes="c19"><list_item><paragraph>Nested bullet list.</paragraph></list_item></bullet_list><bullet_list bullet="+" classes="c20"><list_item><paragraph>Nested item 2.</paragraph></list_item></bullet_list></list_item></bullet_list></section><section ids="enumerated-lists" names="enumerated\ lists"><title auto="1" refid="id12"><generated classes="sectnum">1.3   </generated>Enumerated Lists</title><enumerated_list classes="c21" enumtype="arabic" prefix="" suffix="."><list_item><paragraph>Arabic numerals.</paragraph><enumerated_list classes="c22" enumtype="loweralpha" prefix="" suffix=")"><list_item><paragraph>lower alpha)</paragraph></list_item></enumerated_list></list_item></enumerated_list></section><section ids="definition-lists" names="definition\ lists"><title auto="1" refid="id13"><generated classes="sectnum">1.4   </generated>Definition Lists</title><definition_list classes="c23"><definition_list_item><term>Term</term><definition><paragraph classes="c24">Definition</paragraph></definition></definition_list_item></definition_list></section><section ids="field-lists" names="field\ lists"><title auto="1" refid="id14"><generated classes="sectnum">1.5   </generated>Field Lists</title><field_list classes="c25"><field><field_name>how arg1 arg2</field_name><field_body><paragraph classes="c26">The field marker is a colon, the field name, and a colon.</paragraph><paragraph classes="c27">The field body may contain one or more body elements, indented
+relative to the field marker.</paragraph></field_body></field></field_list></section><section ids="option-lists" names="option\ lists"><title auto="1" refid="id15"><generated classes="sectnum">1.6   </generated>Option Lists</title><paragraph>For listing command-line options:</paragraph><option_list classes="c28"><option_list_item><option_group><option><option_string>-a</option_string></option></option_group><description><paragraph>command-line option &quot;a&quot;</paragraph></description></option_list_item></option_list><option_list classes="c29"><option_list_item><option_group><option><option_string>-x</option_string></option><option><option_string>-y</option_string></option><option><option_string>-z</option_string></option></option_group><description><paragraph>Multiple options are an &quot;option group&quot;.</paragraph></description></option_list_item></option_list></section><section ids="literal-blocks" names="literal\ blocks"><title auto="1" refid="id16"><generated classes="sectnum">1.7   </generated>Literal Blocks</title><paragraph>Literal blocks are indicated with a double-colon (&quot;::&quot;) at the end of
+the preceding paragraph (over there <literal>--&gt;</literal>). They can be indented</paragraph><literal_block classes="c30" xml:space="preserve">if literal_block:
+ text = 'is left as-is'
+ spaces_and_linebreaks = 'are preserved'
+ markup_processing = None</literal_block><paragraph>Or they can be quoted without indentation</paragraph><literal_block classes="c31" xml:space="preserve">&gt;&gt; Great idea!
+&gt;
+&gt; Why didn't I think of that?</literal_block></section><section ids="line-blocks" names="line\ blocks"><title auto="1" refid="id17"><generated classes="sectnum">1.8   </generated>Line Blocks</title><paragraph>This section tests line blocks. Line blocks are body elements which
+consist of lines and other line blocks. Nested line blocks cause
+indentation.</paragraph><line_block classes="c32"><line>This is a line block. It ends with a blank line.</line></line_block><line_block classes="c33"><line>New lines begin with a vertical bar (&quot;|&quot;).</line></line_block></section><section ids="block-quotes" names="block\ quotes"><title auto="1" refid="id18"><generated classes="sectnum">1.9   </generated>Block Quotes</title><paragraph>Block quotes consist of indented body elements:</paragraph><block_quote><paragraph classes="c34">My theory by A. Elk. Brackets Miss, brackets. This theory goes as
+follows and begins now. All brontosauruses are thin at one end, much
+much thicker in the middle and then thin again at the far end. That
+is my theory, it is mine, and belongs to me and I own it, and what
+it is too.</paragraph><attribution classes="c35">Anne Elk (Miss)</attribution></block_quote></section><section ids="doctest-blocks" names="doctest\ blocks"><title auto="1" refid="id19"><generated classes="sectnum">1.10   </generated>Doctest Blocks</title><doctest_block classes="c36" xml:space="preserve">&gt;&gt;&gt; print 'Python-specific usage examples; begun with &quot;&gt;&gt;&gt;&quot;'
+Python-specific usage examples; begun with &quot;&gt;&gt;&gt;&quot;
+&gt;&gt;&gt; print '(cut and pasted from interactive Python sessions)'
+(cut and pasted from interactive Python sessions)</doctest_block></section><section ids="footnotes" names="footnotes"><title auto="1" refid="id20"><generated classes="sectnum">1.11   </generated>Footnotes</title><footnote backrefs="id2" classes="c37" ids="id1" names="1"><label>1</label><paragraph>A footnote contains body elements, consistently indented by at least
+3 spaces.</paragraph><paragraph classes="c38">This is the footnote's second paragraph.</paragraph></footnote><footnote auto="1" backrefs="id3" classes="c39" ids="label" names="label"><label>2</label><paragraph>Footnotes may be numbered, either manually (as in <footnote_reference ids="id2" refid="id1">1</footnote_reference>) or
+automatically using a &quot;#&quot;-prefixed label. This footnote has a label
+so it can be referred to from multiple places, both as a footnote
+reference (<footnote_reference auto="1" ids="id3" refid="label">2</footnote_reference>) and as a hyperlink reference (<reference name="label" refid="label">label</reference>).</paragraph></footnote><footnote auto="1" classes="c40" ids="id4" names="3"><label>3</label><paragraph>This footnote is numbered automatically and anonymously using a label
+of &quot;#&quot; only.</paragraph></footnote><footnote auto="*" backrefs="id6" classes="c41" ids="id5"><label>*</label><paragraph>Footnotes may also use symbols, specified with a &quot;*&quot; label. Here's a
+reference to the next footnote: <footnote_reference auto="*" ids="id6" refid="id5">*</footnote_reference>.</paragraph></footnote></section><section ids="citations" names="citations"><title auto="1" refid="id21"><generated classes="sectnum">1.12   </generated>Citations</title><citation classes="c42" ids="cit2002" names="cit2002"><label>CIT2002</label><paragraph>Citations are text-labeled footnotes. They may be rendered separately
+and differently from footnotes.</paragraph></citation></section><section ids="targets" names="targets"><title auto="1" refid="id22"><generated classes="sectnum">1.13   </generated>Targets</title><target refid="example"/><target ids="python example" names="python example" refuri="http://www.python.org/"/><paragraph classes="c43 c44"><reference anonymous="1" name="Some" refid="targets">Some</reference> <reference anonymous="1" name="reference" refuri="http://www.example.com/">reference</reference>.</paragraph><target anonymous="1" ids="id7" refid="targets"/><target anonymous="1" ids="id8" refuri="http://www.example.com/"/></section><section classes="c45 c46" ids="directives" names="directives"><title auto="1" refid="id23"><generated classes="sectnum">1.14   </generated>Directives</title><topic classes="contents c47 local" ids="contents" names="contents"><bullet_list classes="auto-toc"><list_item><paragraph><reference ids="id28" refid="images"><generated classes="sectnum">1.14.1   </generated>Images</reference></paragraph></list_item><list_item><paragraph><reference ids="id29" refid="admonitions"><generated classes="sectnum">1.14.2   </generated>Admonitions</reference></paragraph></list_item><list_item><paragraph><reference ids="id30" refid="topics-sidebars-and-rubrics"><generated classes="sectnum">1.14.3   </generated>Topics, Sidebars, and Rubrics</reference></paragraph></list_item><list_item><paragraph><reference ids="id31" refid="compound-paragraph"><generated classes="sectnum">1.14.4   </generated>Compound Paragraph</reference></paragraph></list_item></bullet_list></topic><section ids="images" names="images"><title auto="1" refid="id28"><generated classes="sectnum">1.14.1   </generated>Images</title><paragraph>An image directive (also clickable -- a hyperlink reference):</paragraph><reference name="directives" refid="directives"><image classes="c48" uri="../../../docs/user/rst/images/title.png"/></reference><paragraph>A figure directive:</paragraph><figure classes="c49"><image alt="reStructuredText, the markup syntax" uri="../../../docs/user/rst/images/title.png"/><caption>A figure is an image with a caption and/or a legend:</caption><legend><table classes="c50"><tgroup cols="2"><colspec colwidth="12"/><colspec colwidth="47"/><tbody><row><entry><paragraph>re</paragraph></entry><entry><paragraph>Revised, revisited, based on 're' module.</paragraph></entry></row><row><entry><paragraph>Structured</paragraph></entry><entry><paragraph>Structure-enhanced text, structuredtext.</paragraph></entry></row><row><entry><paragraph>Text</paragraph></entry><entry><paragraph>Well it is, isn't it?</paragraph></entry></row></tbody></tgroup></table></legend></figure></section><section ids="admonitions" names="admonitions"><title auto="1" refid="id29"><generated classes="sectnum">1.14.2   </generated>Admonitions</title><attention classes="c51"><paragraph>Directives at large.</paragraph></attention><caution classes="c52"><paragraph>Don't take any wooden nickels.</paragraph></caution><danger classes="c53"><paragraph>Mad scientist at work!</paragraph></danger><error classes="c54"><paragraph>Does not compute.</paragraph></error><hint classes="c55"><paragraph>It's bigger than a bread box.</paragraph></hint><important classes="c56"><bullet_list bullet="-"><list_item><paragraph>Wash behind your ears.</paragraph></list_item><list_item><paragraph>Clean up your room.</paragraph></list_item><list_item><paragraph>Call your mother.</paragraph></list_item><list_item><paragraph>Back up your data.</paragraph></list_item></bullet_list></important><note classes="c57"><paragraph>This is a note.</paragraph></note><tip classes="c58"><paragraph>15% if the service is good.</paragraph></tip><warning classes="c59"><paragraph>Strong prose may provoke extreme mental exertion. Reader discretion
+is strongly advised.</paragraph></warning><admonition classes="c60"><title>And, by the way...</title><paragraph>You can make up your own admonition too.</paragraph></admonition></section><section ids="topics-sidebars-and-rubrics" names="topics,\ sidebars,\ and\ rubrics"><title auto="1" refid="id30"><generated classes="sectnum">1.14.3   </generated>Topics, Sidebars, and Rubrics</title><sidebar classes="c61"><title>Sidebar Title</title><subtitle>Optional Subtitle</subtitle><paragraph>This is a sidebar. It is for text outside the flow of the main text.</paragraph><rubric classes="c62">This is a rubric inside a sidebar</rubric><paragraph>Sidebars often appears beside the main text with a border and
+background color.</paragraph></sidebar><topic classes="c63"><title>Topic Title</title><paragraph>This is a topic.</paragraph></topic></section><section ids="compound-paragraph" names="compound\ paragraph"><title auto="1" refid="id31"><generated classes="sectnum">1.14.4   </generated>Compound Paragraph</title><compound classes="c64"><paragraph>Compound 1, paragraph 1.</paragraph><paragraph>Compound 1, paragraph 2.</paragraph><bullet_list bullet="*"><list_item><paragraph>Compound 1, list item one.</paragraph></list_item><list_item><paragraph>Compound 1, list item two.</paragraph></list_item></bullet_list></compound></section></section></section></document> \ No newline at end of file
diff --git a/sandbox/xml2rst/tests/synthetic/input/standard_0_3_7.xml b/sandbox/xml2rst/tests/synthetic/input/standard_0_3_7.xml
new file mode 100644
index 000000000..8843abd0a
--- /dev/null
+++ b/sandbox/xml2rst/tests/synthetic/input/standard_0_3_7.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by Docutils 0.8 -->
+<document ids="restructuredtext-test-document doctitle" names="restructuredtext\ test\ document doctitle" source="original/standard_0_3_7.rst" title="reStructuredText Test Document"><title>reStructuredText Test Document</title><subtitle ids="examples-of-syntax-constructs subtitle" names="examples\ of\ syntax\ constructs subtitle">Examples of Syntax Constructs</subtitle><docinfo><author>David Goodger</author><address xml:space="preserve">123 Example Street
+Example, EX Canada
+A1B 2C3</address><contact><reference refuri="mailto:goodger@users.sourceforge.net">goodger@users.sourceforge.net</reference></contact><authors><author>Me</author><author>Myself</author><author>I</author></authors><organization>humankind</organization><date>Now, or yesterday. Or maybe even <emphasis>before</emphasis> yesterday.</date><status>This is a &quot;work in progress&quot;</status><revision>is managed by a version control system.</revision><version>1</version><copyright>This document has been placed in the public domain. You
+may do with it as you wish. You may copy, modify,
+redistribute, reattribute, sell, buy, rent, lease,
+destroy, or improve it, quote it at length, excerpt,
+incorporate, collate, fold, staple, or mutilate it, or do
+anything else to it that your or anyone else's heart
+desires.</copyright><field><field_name>field name</field_name><field_body><paragraph>This is a &quot;generic bibliographic field&quot;.</paragraph></field_body></field><field><field_name>field name &quot;2&quot;</field_name><field_body><paragraph>Generic bibliographic fields may contain multiple body elements.</paragraph><paragraph>Like this.</paragraph></field_body></field></docinfo><topic classes="dedication"><title>Dedication</title><paragraph>For Docutils users &amp; co-developers.</paragraph></topic><topic classes="abstract"><title>Abstract</title><paragraph>This is a test document, containing at least one example of each
+reStructuredText construct.</paragraph></topic><comment xml:space="preserve">This is a comment. Note how any initial comments are moved by
+transforms to after the document title, subtitle, and docinfo.</comment><target refid="doctitle"/><comment xml:space="preserve">Above is the document title, and below is the subtitle.
+They are transformed from section titles after parsing.</comment><target refid="subtitle"/><comment xml:space="preserve">bibliographic fields (which also require a transform):</comment><topic classes="contents" ids="table-of-contents" names="table\ of\ contents"><title>Table of Contents</title><bullet_list classes="auto-toc"><list_item><paragraph><reference ids="id28" refid="structural-elements"><generated classes="sectnum">1   </generated>Structural Elements</reference></paragraph><bullet_list classes="auto-toc"><list_item><paragraph><reference ids="id29" refid="section-title"><generated classes="sectnum">1.1   </generated>Section Title</reference></paragraph></list_item><list_item><paragraph><reference ids="id30" refid="empty-section"><generated classes="sectnum">1.2   </generated>Empty Section</reference></paragraph></list_item><list_item><paragraph><reference ids="id31" refid="transitions"><generated classes="sectnum">1.3   </generated>Transitions</reference></paragraph></list_item></bullet_list></list_item><list_item><paragraph><reference ids="id32" refid="body-elements"><generated classes="sectnum">2   </generated>Body Elements</reference></paragraph><bullet_list classes="auto-toc"><list_item><paragraph><reference ids="id33" refid="paragraphs"><generated classes="sectnum">2.1   </generated>Paragraphs</reference></paragraph><bullet_list classes="auto-toc"><list_item><paragraph><reference ids="id34" refid="inline-markup"><generated classes="sectnum">2.1.1   </generated>Inline Markup</reference></paragraph></list_item></bullet_list></list_item><list_item><paragraph><reference ids="id35" refid="bullet-lists"><generated classes="sectnum">2.2   </generated>Bullet Lists</reference></paragraph></list_item><list_item><paragraph><reference ids="id36" refid="enumerated-lists"><generated classes="sectnum">2.3   </generated>Enumerated Lists</reference></paragraph></list_item><list_item><paragraph><reference ids="id37" refid="definition-lists"><generated classes="sectnum">2.4   </generated>Definition Lists</reference></paragraph></list_item><list_item><paragraph><reference ids="id38" refid="field-lists"><generated classes="sectnum">2.5   </generated>Field Lists</reference></paragraph></list_item><list_item><paragraph><reference ids="id39" refid="option-lists"><generated classes="sectnum">2.6   </generated>Option Lists</reference></paragraph></list_item><list_item><paragraph><reference ids="id40" refid="literal-blocks"><generated classes="sectnum">2.7   </generated>Literal Blocks</reference></paragraph></list_item><list_item><paragraph><reference ids="id41" refid="line-blocks"><generated classes="sectnum">2.8   </generated>Line Blocks</reference></paragraph></list_item><list_item><paragraph><reference ids="id42" refid="block-quotes"><generated classes="sectnum">2.9   </generated>Block Quotes</reference></paragraph></list_item><list_item><paragraph><reference ids="id43" refid="doctest-blocks"><generated classes="sectnum">2.10   </generated>Doctest Blocks</reference></paragraph></list_item><list_item><paragraph><reference ids="id44" refid="footnotes"><generated classes="sectnum">2.11   </generated>Footnotes</reference></paragraph></list_item><list_item><paragraph><reference ids="id45" refid="citations"><generated classes="sectnum">2.12   </generated>Citations</reference></paragraph></list_item><list_item><paragraph><reference ids="id46" refid="targets"><generated classes="sectnum">2.13   </generated>Targets</reference></paragraph><bullet_list classes="auto-toc"><list_item><paragraph><reference ids="id47" refid="duplicate-target-names"><generated classes="sectnum">2.13.1   </generated>Duplicate Target Names</reference></paragraph></list_item><list_item><paragraph><reference ids="id48" refid="id19"><generated classes="sectnum">2.13.2   </generated>Duplicate Target Names</reference></paragraph></list_item></bullet_list></list_item><list_item><paragraph><reference ids="id49" refid="directives"><generated classes="sectnum">2.14   </generated>Directives</reference></paragraph><bullet_list classes="auto-toc"><list_item><paragraph><reference ids="id50" refid="document-parts"><generated classes="sectnum">2.14.1   </generated>Document Parts</reference></paragraph></list_item><list_item><paragraph><reference ids="id51" refid="images"><generated classes="sectnum">2.14.2   </generated>Images</reference></paragraph></list_item><list_item><paragraph><reference ids="id52" refid="admonitions"><generated classes="sectnum">2.14.3   </generated>Admonitions</reference></paragraph></list_item><list_item><paragraph><reference ids="id53" refid="topics-sidebars-and-rubrics"><generated classes="sectnum">2.14.4   </generated>Topics, Sidebars, and Rubrics</reference></paragraph></list_item><list_item><paragraph><reference ids="id54" refid="target-footnotes"><generated classes="sectnum">2.14.5   </generated>Target Footnotes</reference></paragraph></list_item><list_item><paragraph><reference ids="id55" refid="replacement-text"><generated classes="sectnum">2.14.6   </generated>Replacement Text</reference></paragraph></list_item><list_item><paragraph><reference ids="id56" refid="compound-paragraph"><generated classes="sectnum">2.14.7   </generated>Compound Paragraph</reference></paragraph></list_item></bullet_list></list_item><list_item><paragraph><reference ids="id57" refid="substitution-definitions"><generated classes="sectnum">2.15   </generated>Substitution Definitions</reference></paragraph></list_item><list_item><paragraph><reference ids="id58" refid="comments"><generated classes="sectnum">2.16   </generated>Comments</reference></paragraph></list_item><list_item><paragraph><reference ids="id59" refid="raw-text"><generated classes="sectnum">2.17   </generated>Raw text</reference></paragraph></list_item></bullet_list></list_item></bullet_list></topic><section ids="structural-elements" names="structural\ elements"><title auto="1" refid="id28"><generated classes="sectnum">1   </generated>Structural Elements</title><section ids="section-title" names="section\ title"><title auto="1" refid="id29"><generated classes="sectnum">1.1   </generated>Section Title</title><paragraph>That's it, the text just above this line.</paragraph></section><section ids="empty-section" names="empty\ section"><title auto="1" refid="id30"><generated classes="sectnum">1.2   </generated>Empty Section</title></section><section ids="transitions" names="transitions"><title auto="1" refid="id31"><generated classes="sectnum">1.3   </generated>Transitions</title><paragraph>Here's a transition:</paragraph><transition/><paragraph>It divides the section. Transitions may also occur between sections:</paragraph></section></section><transition/><section ids="body-elements" names="body\ elements"><title auto="1" refid="id32"><generated classes="sectnum">2   </generated>Body Elements</title><section ids="paragraphs" names="paragraphs"><title auto="1" refid="id33"><generated classes="sectnum">2.1   </generated>Paragraphs</title><paragraph>A paragraph.</paragraph><section ids="inline-markup" names="inline\ markup"><title auto="1" refid="id34"><generated classes="sectnum">2.1.1   </generated>Inline Markup</title><paragraph>Paragraphs contain text and may contain inline markup: <emphasis>emphasis</emphasis>,
+<strong>strong emphasis</strong>, <literal>inline literals</literal>, standalone hyperlinks
+(<reference refuri="http://www.python.org">http://www.python.org</reference>), external hyperlinks (<reference name="Python" refuri="http://www.python.org/">Python</reference> <footnote_reference auto="1" ids="id23" refid="id22">5</footnote_reference>), internal
+cross-references (<reference name="example" refid="example">example</reference>), external hyperlinks with embedded URIs
+(<reference name="Python web site" refuri="http://www.python.org">Python web site</reference>), footnote references
+(manually numbered <footnote_reference ids="id1" refid="id6">1</footnote_reference>, anonymous auto-numbered <footnote_reference auto="1" ids="id2" refid="id9">3</footnote_reference>, labeled
+auto-numbered <footnote_reference auto="1" ids="id3" refid="label">2</footnote_reference>, or symbolic <footnote_reference auto="*" ids="id4" refid="id10">*</footnote_reference>), citation references
+(<citation_reference ids="id5" refid="cit2002">CIT2002</citation_reference>), substitution references (<image alt="EXAMPLE" uri="../../../docs/user/rst/images/biohazard.png"/>), and <target ids="inline-hyperlink-targets" names="inline\ hyperlink\ targets">inline
+hyperlink targets</target> (see <reference name="Targets" refid="targets">Targets</reference> below for a reference back to here).
+Character-level inline markup is also possible (although exceedingly
+ugly!) in <emphasis>re</emphasis><literal>Structured</literal><emphasis>Text</emphasis>. Problems are indicated by
+<problematic ids="id21" refid="id20">|problematic|</problematic> text (generated by processing errors; this one is
+intentional). Here is a reference to the <reference name="doctitle" refid="doctitle">doctitle</reference> and the <reference name="subtitle" refid="subtitle">subtitle</reference>.</paragraph><paragraph>The default role for interpreted text is <title_reference>Title Reference</title_reference>. Here are
+some explicit interpreted text roles: a PEP reference (<reference refuri="http://www.python.org/dev/peps/pep-0287">PEP 287</reference>); an
+RFC reference (<reference refuri="http://www.faqs.org/rfcs/rfc2822.html">RFC 2822</reference>); a <subscript>subscript</subscript>; a <superscript>superscript</superscript>;
+and explicit roles for <emphasis>standard</emphasis> <strong>inline</strong>
+<literal>markup</literal>.</paragraph><comment xml:space="preserve">DO NOT RE-WRAP THE FOLLOWING PARAGRAPH!</comment><paragraph>Let's test wrapping and whitespace significance in inline literals:
+<literal>This is an example of --inline-literal --text, --including some--
+strangely--hyphenated-words. Adjust-the-width-of-your-browser-window
+to see how the text is wrapped. -- ---- -------- Now note the
+spacing between the words of this sentence (words
+should be grouped in pairs).</literal></paragraph><paragraph>If the <literal>--pep-references</literal> option was supplied, there should be a
+live link to PEP 258 here.</paragraph></section></section><section ids="bullet-lists" names="bullet\ lists"><title auto="1" refid="id35"><generated classes="sectnum">2.2   </generated>Bullet Lists</title><bullet_list bullet="-"><list_item><paragraph>A bullet list</paragraph><bullet_list bullet="+"><list_item><paragraph>Nested bullet list.</paragraph></list_item><list_item><paragraph>Nested item 2.</paragraph></list_item></bullet_list></list_item><list_item><paragraph>Item 2.</paragraph><paragraph>Paragraph 2 of item 2.</paragraph><bullet_list bullet="*"><list_item><paragraph>Nested bullet list.</paragraph></list_item><list_item><paragraph>Nested item 2.</paragraph><bullet_list bullet="-"><list_item><paragraph>Third level.</paragraph></list_item><list_item><paragraph>Item 2.</paragraph></list_item></bullet_list></list_item><list_item><paragraph>Nested item 3.</paragraph></list_item><list_item><paragraph>This nested list should be compacted by the HTML writer.</paragraph><target ids="target" names="target"/><comment xml:space="preserve">Even if this item contains a target and a comment.</comment></list_item></bullet_list></list_item></bullet_list></section><section ids="enumerated-lists" names="enumerated\ lists"><title auto="1" refid="id36"><generated classes="sectnum">2.3   </generated>Enumerated Lists</title><enumerated_list enumtype="arabic" prefix="" suffix="."><list_item><paragraph>Arabic numerals.</paragraph><enumerated_list enumtype="loweralpha" prefix="" suffix=")"><list_item><paragraph>lower alpha)</paragraph><enumerated_list enumtype="lowerroman" prefix="(" suffix=")"><list_item><paragraph>(lower roman)</paragraph><enumerated_list enumtype="upperalpha" prefix="" suffix="."><list_item><paragraph>upper alpha.</paragraph><enumerated_list enumtype="upperroman" prefix="" suffix=")"><list_item><paragraph>upper roman)</paragraph></list_item></enumerated_list></list_item></enumerated_list></list_item></enumerated_list></list_item></enumerated_list></list_item><list_item><paragraph>Lists that don't start at 1:</paragraph><enumerated_list enumtype="arabic" prefix="" start="3" suffix="."><list_item><paragraph>Three</paragraph></list_item><list_item><paragraph>Four</paragraph></list_item></enumerated_list><enumerated_list enumtype="upperalpha" prefix="" start="3" suffix="."><list_item><paragraph>C</paragraph></list_item><list_item><paragraph>D</paragraph></list_item></enumerated_list><enumerated_list enumtype="lowerroman" prefix="" start="3" suffix="."><list_item><paragraph>iii</paragraph></list_item><list_item><paragraph>iv</paragraph></list_item></enumerated_list></list_item></enumerated_list></section><section ids="definition-lists" names="definition\ lists"><title auto="1" refid="id37"><generated classes="sectnum">2.4   </generated>Definition Lists</title><definition_list><definition_list_item><term>Term</term><definition><paragraph>Definition</paragraph></definition></definition_list_item><definition_list_item><term>Term</term><classifier>classifier</classifier><definition><paragraph>Definition paragraph 1.</paragraph><paragraph>Definition paragraph 2.</paragraph></definition></definition_list_item><definition_list_item><term>Term</term><definition><paragraph>Definition</paragraph></definition></definition_list_item><definition_list_item><term>Term</term><classifier>classifier one</classifier><classifier>classifier two</classifier><definition><paragraph>Definition</paragraph></definition></definition_list_item></definition_list></section><section ids="field-lists" names="field\ lists"><title auto="1" refid="id38"><generated classes="sectnum">2.5   </generated>Field Lists</title><field_list><field><field_name>what</field_name><field_body><paragraph>Field lists map field names to field bodies, like database
+records. They are often part of an extension syntax. They are
+an unambiguous variant of RFC 2822 fields.</paragraph></field_body></field><field><field_name>how arg1 arg2</field_name><field_body><paragraph>The field marker is a colon, the field name, and a colon.</paragraph><paragraph>The field body may contain one or more body elements, indented
+relative to the field marker.</paragraph></field_body></field><field><field_name>credits</field_name><field_body><paragraph classes="credits">This paragraph has the <title_reference>credits</title_reference> class set. (This is actually not
+about credits but just for ensuring that the class attribute
+doesn't get stripped away.)</paragraph></field_body></field></field_list></section><section ids="option-lists" names="option\ lists"><title auto="1" refid="id39"><generated classes="sectnum">2.6   </generated>Option Lists</title><paragraph>For listing command-line options:</paragraph><option_list><option_list_item><option_group><option><option_string>-a</option_string></option></option_group><description><paragraph>command-line option &quot;a&quot;</paragraph></description></option_list_item><option_list_item><option_group><option><option_string>-b</option_string><option_argument delimiter=" ">file</option_argument></option></option_group><description><paragraph>options can have arguments
+and long descriptions</paragraph></description></option_list_item><option_list_item><option_group><option><option_string>--long</option_string></option></option_group><description><paragraph>options can be long also</paragraph></description></option_list_item><option_list_item><option_group><option><option_string>--input</option_string><option_argument delimiter="=">file</option_argument></option></option_group><description><paragraph>long options can also have
+arguments</paragraph></description></option_list_item><option_list_item><option_group><option><option_string>--very-long-option</option_string></option></option_group><description><paragraph>The description can also start on the next line.</paragraph><paragraph>The description may contain multiple body elements,
+regardless of where it starts.</paragraph></description></option_list_item><option_list_item><option_group><option><option_string>-x</option_string></option><option><option_string>-y</option_string></option><option><option_string>-z</option_string></option></option_group><description><paragraph>Multiple options are an &quot;option group&quot;.</paragraph></description></option_list_item><option_list_item><option_group><option><option_string>-v</option_string></option><option><option_string>--verbose</option_string></option></option_group><description><paragraph>Commonly-seen: short &amp; long options.</paragraph></description></option_list_item><option_list_item><option_group><option><option_string>-1</option_string><option_argument delimiter=" ">file</option_argument></option><option><option_string>--one</option_string><option_argument delimiter="=">file</option_argument></option><option><option_string>--two</option_string><option_argument delimiter=" ">file</option_argument></option></option_group><description><paragraph>Multiple options with arguments.</paragraph></description></option_list_item><option_list_item><option_group><option><option_string>/V</option_string></option></option_group><description><paragraph>DOS/VMS-style options too</paragraph></description></option_list_item></option_list><paragraph>There must be at least two spaces between the option and the
+description.</paragraph></section><section ids="literal-blocks" names="literal\ blocks"><title auto="1" refid="id40"><generated classes="sectnum">2.7   </generated>Literal Blocks</title><paragraph>Literal blocks are indicated with a double-colon (&quot;::&quot;) at the end of
+the preceding paragraph (over there <literal>--&gt;</literal>). They can be indented:</paragraph><literal_block xml:space="preserve">if literal_block:
+ text = 'is left as-is'
+ spaces_and_linebreaks = 'are preserved'
+ markup_processing = None</literal_block><paragraph>Or they can be quoted without indentation:</paragraph><literal_block xml:space="preserve">&gt;&gt; Great idea!
+&gt;
+&gt; Why didn't I think of that?</literal_block></section><section ids="line-blocks" names="line\ blocks"><title auto="1" refid="id41"><generated classes="sectnum">2.8   </generated>Line Blocks</title><paragraph>This section tests line blocks. Line blocks are body elements which
+consist of lines and other line blocks. Nested line blocks cause
+indentation.</paragraph><line_block><line>This is a line block. It ends with a blank line.</line><line_block><line>New lines begin with a vertical bar (&quot;|&quot;).</line><line>Line breaks and initial indent are significant, and preserved.</line><line_block><line>Continuation lines are also possible. A long line that is intended
+to wrap should begin with a space in place of the vertical bar.</line></line_block><line>The left edge of a continuation line need not be aligned with
+the left edge of the text above it.</line></line_block></line_block><line_block><line>This is a second line block.</line><line/><line>Blank lines are permitted internally, but they must begin with a &quot;|&quot;.</line></line_block><paragraph>Another line block, surrounded by paragraphs:</paragraph><line_block><line>And it's no good waiting by the window</line><line>It's no good waiting for the sun</line><line>Please believe me, the things you dream of</line><line>They don't fall in the lap of no-one</line></line_block><paragraph>Take it away, Eric the Orchestra Leader!</paragraph><block_quote><line_block><line>A one, two, a one two three four</line><line/><line>Half a bee, philosophically,</line><line_block><line>must, <emphasis>ipso facto</emphasis>, half not be.</line></line_block><line>But half the bee has got to be,</line><line_block><line><emphasis>vis a vis</emphasis> its entity. D'you see?</line><line/></line_block><line>But can a bee be said to be</line><line_block><line>or not to be an entire bee,</line><line_block><line>when half the bee is not a bee,</line><line_block><line>due to some ancient injury?</line><line/></line_block></line_block></line_block><line>Singing...</line></line_block></block_quote></section><section ids="block-quotes" names="block\ quotes"><title auto="1" refid="id42"><generated classes="sectnum">2.9   </generated>Block Quotes</title><paragraph>Block quotes consist of indented body elements:</paragraph><block_quote><paragraph>My theory by A. Elk. Brackets Miss, brackets. This theory goes
+as follows and begins now. All brontosauruses are thin at one
+end, much much thicker in the middle and then thin again at the
+far end. That is my theory, it is mine, and belongs to me and I
+own it, and what it is too.</paragraph><attribution>Anne Elk (Miss)</attribution></block_quote></section><section ids="doctest-blocks" names="doctest\ blocks"><title auto="1" refid="id43"><generated classes="sectnum">2.10   </generated>Doctest Blocks</title><doctest_block xml:space="preserve">&gt;&gt;&gt; print 'Python-specific usage examples; begun with &quot;&gt;&gt;&gt;&quot;'
+Python-specific usage examples; begun with &quot;&gt;&gt;&gt;&quot;
+&gt;&gt;&gt; print '(cut and pasted from interactive Python sessions)'
+(cut and pasted from interactive Python sessions)</doctest_block></section><section ids="footnotes" names="footnotes"><title auto="1" refid="id44"><generated classes="sectnum">2.11   </generated>Footnotes</title><footnote backrefs="id1 id7" ids="id6" names="1"><label>1</label><paragraph>A footnote contains body elements, consistently indented by at
+least 3 spaces.</paragraph><paragraph>This is the footnote's second paragraph.</paragraph></footnote><footnote auto="1" backrefs="id3 id8" ids="label" names="label"><label>2</label><paragraph>Footnotes may be numbered, either manually (as in <footnote_reference ids="id7" refid="id6">1</footnote_reference>) or
+automatically using a &quot;#&quot;-prefixed label. This footnote has a
+label so it can be referred to from multiple places, both as a
+footnote reference (<footnote_reference auto="1" ids="id8" refid="label">2</footnote_reference>) and as a hyperlink reference
+(<reference name="label" refid="label">label</reference>).</paragraph></footnote><footnote auto="1" backrefs="id2" ids="id9" names="3"><label>3</label><paragraph>This footnote is numbered automatically and anonymously using a
+label of &quot;#&quot; only.</paragraph><paragraph>This is the second paragraph.</paragraph><paragraph>And this is the third paragraph.</paragraph></footnote><footnote auto="*" backrefs="id4" ids="id10"><label>*</label><paragraph>Footnotes may also use symbols, specified with a &quot;*&quot; label.
+Here's a reference to the next footnote: <footnote_reference auto="*" ids="id11" refid="id12">†</footnote_reference>.</paragraph></footnote><footnote auto="*" backrefs="id11" ids="id12"><label>†</label><paragraph>This footnote shows the next symbol in the sequence.</paragraph></footnote><footnote ids="id13" names="4"><label>4</label><paragraph>Here's an unreferenced footnote, with a reference to a
+nonexistent footnote: <problematic ids="id68 id14" refid="id67">[5]_</problematic>.</paragraph></footnote></section><section ids="citations" names="citations"><title auto="1" refid="id45"><generated classes="sectnum">2.12   </generated>Citations</title><citation backrefs="id5 id15" ids="cit2002" names="cit2002"><label>CIT2002</label><paragraph>Citations are text-labeled footnotes. They may be
+rendered separately and differently from footnotes.</paragraph></citation><paragraph>Here's a reference to the above, <citation_reference ids="id15" refid="cit2002">CIT2002</citation_reference>, and a <problematic ids="id70 id16" refid="id69">[nonexistent]_</problematic>
+citation.</paragraph></section><section ids="targets" names="targets"><title auto="1" refid="id46"><generated classes="sectnum">2.13   </generated>Targets</title><target refid="example"/><paragraph ids="example" names="example">This paragraph is pointed to by the explicit &quot;example&quot; target. A
+reference can be found under <reference name="Inline Markup" refid="inline-markup">Inline Markup</reference>, above. <reference name="Inline hyperlink targets" refid="inline-hyperlink-targets">Inline
+hyperlink targets</reference> are also possible.</paragraph><paragraph>Section headers are implicit targets, referred to by name. See
+<reference name="Targets" refid="targets">Targets</reference>, which is a subsection of <reference name="Body Elements" refid="body-elements">Body Elements</reference>.</paragraph><paragraph>Explicit external targets are interpolated into references such as
+&quot;<reference name="Python" refuri="http://www.python.org/">Python</reference> <footnote_reference auto="1" ids="id24" refid="id22">5</footnote_reference>&quot;.</paragraph><target ids="python" names="python" refuri="http://www.python.org/"/><paragraph>Targets may be indirect and anonymous. Thus <reference anonymous="1" name="this phrase" refid="targets">this phrase</reference> may also
+refer to the <reference name="Targets" refid="targets">Targets</reference> section.</paragraph><target anonymous="1" ids="id17" refid="targets"/><paragraph>Here's a <problematic ids="id72" refid="id71">`hyperlink reference without a target`_</problematic>, which generates an
+error.</paragraph><paragraph>And another <reference anonymous="1" name="phrase" refuri="http://www.example.com/">phrase</reference> <footnote_reference auto="1" ids="id27" refid="id26">6</footnote_reference> pointing to an anonymous hyperlink.</paragraph><target anonymous="1" ids="id18" refuri="http://www.example.com/"/><section dupnames="duplicate\ target\ names" ids="duplicate-target-names"><title auto="1" refid="id47"><generated classes="sectnum">2.13.1   </generated>Duplicate Target Names</title><paragraph>Duplicate names in section headers or other implicit targets will
+generate &quot;info&quot; (level-1) system messages. Duplicate names in
+explicit targets will generate &quot;warning&quot; (level-2) system messages.</paragraph></section><section dupnames="duplicate\ target\ names" ids="id19"><title auto="1" refid="id48"><generated classes="sectnum">2.13.2   </generated>Duplicate Target Names</title><paragraph>Since there are two &quot;Duplicate Target Names&quot; section headers, we
+cannot uniquely refer to either of them by name. If we try to (like
+this: <problematic ids="id74" refid="id73">`Duplicate Target Names`_</problematic>), an error is generated.</paragraph></section></section><section ids="directives" names="directives"><title auto="1" refid="id49"><generated classes="sectnum">2.14   </generated>Directives</title><topic classes="contents local" ids="contents" names="contents"><bullet_list classes="auto-toc"><list_item><paragraph><reference ids="id60" refid="document-parts"><generated classes="sectnum">2.14.1   </generated>Document Parts</reference></paragraph></list_item><list_item><paragraph><reference ids="id61" refid="images"><generated classes="sectnum">2.14.2   </generated>Images</reference></paragraph></list_item><list_item><paragraph><reference ids="id62" refid="admonitions"><generated classes="sectnum">2.14.3   </generated>Admonitions</reference></paragraph></list_item><list_item><paragraph><reference ids="id63" refid="topics-sidebars-and-rubrics"><generated classes="sectnum">2.14.4   </generated>Topics, Sidebars, and Rubrics</reference></paragraph></list_item><list_item><paragraph><reference ids="id64" refid="target-footnotes"><generated classes="sectnum">2.14.5   </generated>Target Footnotes</reference></paragraph></list_item><list_item><paragraph><reference ids="id65" refid="replacement-text"><generated classes="sectnum">2.14.6   </generated>Replacement Text</reference></paragraph></list_item><list_item><paragraph><reference ids="id66" refid="compound-paragraph"><generated classes="sectnum">2.14.7   </generated>Compound Paragraph</reference></paragraph></list_item></bullet_list></topic><paragraph>These are just a sample of the many reStructuredText Directives. For
+others, please see
+<reference refuri="http://docutils.sourceforge.net/docs/ref/rst/directives.html">http://docutils.sourceforge.net/docs/ref/rst/directives.html</reference>.</paragraph><section ids="document-parts" names="document\ parts"><title auto="1" refid="id60"><generated classes="sectnum">2.14.1   </generated>Document Parts</title><paragraph>An example of the &quot;contents&quot; directive can be seen above this section
+(a local, untitled table of <reference name="contents" refid="contents">contents</reference>) and at the beginning of the
+document (a document-wide <reference name="table of contents" refid="table-of-contents">table of contents</reference>).</paragraph></section><section ids="images" names="images"><title auto="1" refid="id61"><generated classes="sectnum">2.14.2   </generated>Images</title><paragraph>An image directive (also clickable -- a hyperlink reference):</paragraph><reference name="directives" refid="directives"><image uri="../../../docs/user/rst/images/title.png"/></reference><reference refuri="http://www.merten-home.de/"><image uri="../../../docs/user/rst/images/title.png"/></reference><paragraph>A figure directive:</paragraph><figure><image alt="reStructuredText, the markup syntax" uri="../../../docs/user/rst/images/title.png"/><caption>A figure is an image with a caption and/or a legend:</caption><legend><table><tgroup cols="2"><colspec colwidth="12"/><colspec colwidth="47"/><tbody><row><entry><paragraph>re</paragraph></entry><entry><paragraph>Revised, revisited, based on 're' module.</paragraph></entry></row><row><entry><paragraph>Structured</paragraph></entry><entry><paragraph>Structure-enhanced text, structuredtext.</paragraph></entry></row><row><entry><paragraph>Text</paragraph></entry><entry><paragraph>Well it is, isn't it?</paragraph></entry></row></tbody></tgroup></table><paragraph>This paragraph is also part of the legend.</paragraph></legend></figure></section><section ids="admonitions" names="admonitions"><title auto="1" refid="id62"><generated classes="sectnum">2.14.3   </generated>Admonitions</title><attention><paragraph>Directives at large.</paragraph></attention><caution><paragraph>Don't take any wooden nickels.</paragraph></caution><danger><paragraph>Mad scientist at work!</paragraph></danger><error><paragraph>Does not compute.</paragraph></error><hint><paragraph>It's bigger than a bread box.</paragraph></hint><important><bullet_list bullet="-"><list_item><paragraph>Wash behind your ears.</paragraph></list_item><list_item><paragraph>Clean up your room.</paragraph></list_item><list_item><paragraph>Call your mother.</paragraph></list_item><list_item><paragraph>Back up your data.</paragraph></list_item></bullet_list></important><note><paragraph>This is a note.</paragraph></note><tip><paragraph>15% if the service is good.</paragraph></tip><warning><paragraph>Strong prose may provoke extreme mental exertion.
+Reader discretion is strongly advised.</paragraph></warning><admonition classes="admonition-and-by-the-way"><title>And, by the way...</title><paragraph>You can make up your own admonition too.</paragraph></admonition></section><section ids="topics-sidebars-and-rubrics" names="topics,\ sidebars,\ and\ rubrics"><title auto="1" refid="id63"><generated classes="sectnum">2.14.4   </generated>Topics, Sidebars, and Rubrics</title><sidebar><title>Sidebar Title</title><subtitle>Optional Subtitle</subtitle><paragraph>This is a sidebar. It is for text outside the flow of the main
+text.</paragraph><rubric>This is a rubric inside a sidebar</rubric><paragraph>Sidebars often appears beside the main text with a border and
+background color.</paragraph></sidebar><topic><title>Topic Title</title><paragraph>This is a topic.</paragraph></topic><rubric>This is a rubric</rubric></section><section ids="target-footnotes" names="target\ footnotes"><title auto="1" refid="id64"><generated classes="sectnum">2.14.5   </generated>Target Footnotes</title><footnote auto="1" backrefs="id23 id24 id25" ids="id22" names="TARGET_NOTE:\ id22"><label>5</label><paragraph><reference refuri="http://www.python.org/">http://www.python.org/</reference></paragraph></footnote><footnote auto="1" backrefs="id27" ids="id26" names="TARGET_NOTE:\ id26"><label>6</label><paragraph><reference refuri="http://www.example.com/">http://www.example.com/</reference></paragraph></footnote></section><section ids="replacement-text" names="replacement\ text"><title auto="1" refid="id65"><generated classes="sectnum">2.14.6   </generated>Replacement Text</title><paragraph>I recommend you try <reference refuri="http://www.python.org/">Python, <emphasis>the</emphasis> best language around</reference> <footnote_reference auto="1" ids="id25" refid="id22">5</footnote_reference>.</paragraph><substitution_definition names="Python">Python, <emphasis>the</emphasis> best language around</substitution_definition></section><section ids="compound-paragraph" names="compound\ paragraph"><title auto="1" refid="id66"><generated classes="sectnum">2.14.7   </generated>Compound Paragraph</title><compound classes="some-class"><paragraph>Compound 1, paragraph 1.</paragraph><paragraph>Compound 1, paragraph 2.</paragraph><bullet_list bullet="*"><list_item><paragraph>Compound 1, list item one.</paragraph></list_item><list_item><paragraph>Compound 1, list item two.</paragraph></list_item></bullet_list></compound><paragraph>Another compound statement:</paragraph><compound><paragraph>Compound 2, a literal block:</paragraph><literal_block xml:space="preserve">Compound 2, literal.</literal_block><paragraph>Compound 2, this is a test.</paragraph></compound><compound><paragraph>Compound 3, only consisting of one paragraph.</paragraph></compound><compound><literal_block xml:space="preserve">Compound 4.
+This one starts with a literal block.</literal_block><paragraph>Compound 4, a paragraph.</paragraph></compound><paragraph>Now something <emphasis>really</emphasis> perverted -- a nested compound block. In
+LaTeX, the following paragraphs should all be first-line indented:</paragraph><compound><paragraph>Compound 5, block 1 (a paragraph).</paragraph><compound><paragraph>Compound 6, block 2 in compound 5.</paragraph><paragraph>Compound 6, another paragraph.</paragraph></compound><paragraph>Compound 5, block 3 (a paragraph).</paragraph></compound><compound><paragraph>Compound 7, with a table inside:</paragraph><table><tgroup cols="3"><colspec colwidth="20"/><colspec colwidth="20"/><colspec colwidth="20"/><tbody><row><entry><paragraph>Left cell, first
+paragraph.</paragraph><paragraph>Left cell, second
+paragraph.</paragraph></entry><entry><paragraph>Middle cell,
+consisting of
+exactly one
+paragraph.</paragraph></entry><entry><paragraph>Right cell.</paragraph><paragraph>Paragraph 2.</paragraph><paragraph>Paragraph 3.</paragraph></entry></row></tbody></tgroup></table><paragraph>Compound 7, a paragraph after the table.</paragraph><paragraph>Compound 7, another paragraph.</paragraph></compound></section></section><section ids="substitution-definitions" names="substitution\ definitions"><title auto="1" refid="id57"><generated classes="sectnum">2.15   </generated>Substitution Definitions</title><paragraph>An inline image (<image alt="EXAMPLE" uri="../../../docs/user/rst/images/biohazard.png"/>) example:</paragraph><substitution_definition names="EXAMPLE"><image alt="EXAMPLE" uri="../../../docs/user/rst/images/biohazard.png"/></substitution_definition><paragraph>(Substitution definitions are not visible in the HTML source.)</paragraph></section><section ids="comments" names="comments"><title auto="1" refid="id58"><generated classes="sectnum">2.16   </generated>Comments</title><paragraph>Here's one:</paragraph><comment xml:space="preserve">Comments begin with two dots and a space. Anything may
+follow, except for the syntax of footnotes, hyperlink
+targets, directives, or substitution definitions.
+
+Double-dashes -- &quot;--&quot; -- must be escaped somehow in HTML output.</comment><paragraph>(View the HTML source to see the comment.)</paragraph></section><section ids="raw-text" names="raw\ text"><title auto="1" refid="id59"><generated classes="sectnum">2.17   </generated>Raw text</title><paragraph>This does not necessarily look nice, because there may be missing white space.</paragraph><paragraph>It's just there to freeze the behavior.</paragraph><raw format="html latex" xml:space="preserve">A test.</raw><raw format="html latex" xml:space="preserve">Second test.</raw><raw classes="myclass" format="html latex" xml:space="preserve">Another test with myclass set.</raw><paragraph>This is the <raw classes="myrawroleclass" format="html latex" xml:space="preserve">fourth test</raw> with myrawroleclass set.</paragraph><raw format="html" xml:space="preserve">Fifth test in HTML.&lt;br /&gt;Line two.</raw><raw format="latex" xml:space="preserve">Fifth test in LaTeX.\\Line two.</raw></section></section><section classes="system-messages"><title>Docutils System Messages</title><system_message backrefs="id21" ids="id20" level="3" line="96" source="original/standard_0_3_7.rst" type="ERROR"><paragraph>Undefined substitution referenced: &quot;problematic&quot;.</paragraph></system_message><system_message backrefs="id68" ids="id67" level="3" line="350" source="original/standard_0_3_7.rst" type="ERROR"><paragraph>Unknown target name: &quot;5&quot;.</paragraph></system_message><system_message backrefs="id70" ids="id69" level="3" line="359" source="original/standard_0_3_7.rst" type="ERROR"><paragraph>Unknown target name: &quot;nonexistent&quot;.</paragraph></system_message><system_message backrefs="id72" ids="id71" level="3" line="384" source="original/standard_0_3_7.rst" type="ERROR"><paragraph>Unknown target name: &quot;hyperlink reference without a target&quot;.</paragraph></system_message><system_message backrefs="id74" ids="id73" level="3" line="401" source="original/standard_0_3_7.rst" type="ERROR"><paragraph>Duplicate target name, cannot be used as a unique reference: &quot;duplicate target names&quot;.</paragraph></system_message></section></document> \ No newline at end of file
diff --git a/sandbox/xml2rst/tests/synthetic/input/standard_r6008.xml b/sandbox/xml2rst/tests/synthetic/input/standard_r6008.xml
new file mode 100644
index 000000000..3ec8d4804
--- /dev/null
+++ b/sandbox/xml2rst/tests/synthetic/input/standard_r6008.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by Docutils 0.8 -->
+<document ids="restructuredtext-test-document doctitle" names="restructuredtext\ test\ document doctitle" source="original/standard_r6008.rst" title="reStructuredText Test Document"><title>reStructuredText Test Document</title><subtitle ids="examples-of-syntax-constructs subtitle" names="examples\ of\ syntax\ constructs subtitle">Examples of Syntax Constructs</subtitle><docinfo><author>David Goodger</author><address xml:space="preserve">123 Example Street
+Example, EX Canada
+A1B 2C3</address><contact><reference refuri="mailto:goodger@python.org">goodger@python.org</reference></contact><authors><author>Me</author><author>Myself</author><author>I</author></authors><organization>humankind</organization><date>Now, or yesterday. Or maybe even <emphasis>before</emphasis> yesterday.</date><status>This is a &quot;work in progress&quot;</status><revision>is managed by a version control system.</revision><version>1</version><copyright>This document has been placed in the public domain. You
+may do with it as you wish. You may copy, modify,
+redistribute, reattribute, sell, buy, rent, lease,
+destroy, or improve it, quote it at length, excerpt,
+incorporate, collate, fold, staple, or mutilate it, or do
+anything else to it that your or anyone else's heart
+desires.</copyright><field><field_name>field name</field_name><field_body><paragraph>This is a &quot;generic bibliographic field&quot;.</paragraph></field_body></field><field><field_name>field name &quot;2&quot;</field_name><field_body><paragraph>Generic bibliographic fields may contain multiple body elements.</paragraph><paragraph>Like this.</paragraph></field_body></field></docinfo><topic classes="dedication"><title>Dedication</title><paragraph>For Docutils users &amp; co-developers.</paragraph></topic><topic classes="abstract"><title>Abstract</title><paragraph>This is a test document, containing at least one example of each
+reStructuredText construct.</paragraph></topic><comment xml:space="preserve">This is a comment. Note how any initial comments are moved by
+transforms to after the document title, subtitle, and docinfo.</comment><target refid="doctitle"/><comment xml:space="preserve">Above is the document title, and below is the subtitle.
+They are transformed from section titles after parsing.</comment><target refid="subtitle"/><comment xml:space="preserve">bibliographic fields (which also require a transform):</comment><topic classes="contents" ids="table-of-contents" names="table\ of\ contents"><title>Table of Contents</title><bullet_list classes="auto-toc"><list_item><paragraph><reference ids="id32" refid="structural-elements"><generated classes="sectnum">1   </generated>Structural Elements</reference></paragraph><bullet_list classes="auto-toc"><list_item><paragraph><reference ids="id33" refid="section-title"><generated classes="sectnum">1.1   </generated>Section Title</reference></paragraph><bullet_list classes="auto-toc"><list_item><paragraph><reference ids="id34" refid="section-subtitle"><generated classes="sectnum">1.1.1   </generated>Section Subtitle</reference></paragraph></list_item></bullet_list></list_item><list_item><paragraph><reference ids="id35" refid="empty-section"><generated classes="sectnum">1.2   </generated>Empty Section</reference></paragraph></list_item><list_item><paragraph><reference ids="id36" refid="transitions"><generated classes="sectnum">1.3   </generated>Transitions</reference></paragraph></list_item></bullet_list></list_item><list_item><paragraph><reference ids="id37" refid="body-elements"><generated classes="sectnum">2   </generated>Body Elements</reference></paragraph><bullet_list classes="auto-toc"><list_item><paragraph><reference ids="id38" refid="paragraphs"><generated classes="sectnum">2.1   </generated>Paragraphs</reference></paragraph><bullet_list classes="auto-toc"><list_item><paragraph><reference ids="id39" refid="inline-markup"><generated classes="sectnum">2.1.1   </generated>Inline Markup</reference></paragraph></list_item></bullet_list></list_item><list_item><paragraph><reference ids="id40" refid="bullet-lists"><generated classes="sectnum">2.2   </generated>Bullet Lists</reference></paragraph></list_item><list_item><paragraph><reference ids="id41" refid="enumerated-lists"><generated classes="sectnum">2.3   </generated>Enumerated Lists</reference></paragraph></list_item><list_item><paragraph><reference ids="id42" refid="definition-lists"><generated classes="sectnum">2.4   </generated>Definition Lists</reference></paragraph></list_item><list_item><paragraph><reference ids="id43" refid="field-lists"><generated classes="sectnum">2.5   </generated>Field Lists</reference></paragraph></list_item><list_item><paragraph><reference ids="id44" refid="option-lists"><generated classes="sectnum">2.6   </generated>Option Lists</reference></paragraph></list_item><list_item><paragraph><reference ids="id45" refid="literal-blocks"><generated classes="sectnum">2.7   </generated>Literal Blocks</reference></paragraph></list_item><list_item><paragraph><reference ids="id46" refid="line-blocks"><generated classes="sectnum">2.8   </generated>Line Blocks</reference></paragraph></list_item><list_item><paragraph><reference ids="id47" refid="block-quotes"><generated classes="sectnum">2.9   </generated>Block Quotes</reference></paragraph></list_item><list_item><paragraph><reference ids="id48" refid="doctest-blocks"><generated classes="sectnum">2.10   </generated>Doctest Blocks</reference></paragraph></list_item><list_item><paragraph><reference ids="id49" refid="footnotes"><generated classes="sectnum">2.11   </generated>Footnotes</reference></paragraph></list_item><list_item><paragraph><reference ids="id50" refid="citations"><generated classes="sectnum">2.12   </generated>Citations</reference></paragraph></list_item><list_item><paragraph><reference ids="id51" refid="targets"><generated classes="sectnum">2.13   </generated>Targets</reference></paragraph><bullet_list classes="auto-toc"><list_item><paragraph><reference ids="id52" refid="duplicate-target-names"><generated classes="sectnum">2.13.1   </generated>Duplicate Target Names</reference></paragraph></list_item><list_item><paragraph><reference ids="id53" refid="id21"><generated classes="sectnum">2.13.2   </generated>Duplicate Target Names</reference></paragraph></list_item></bullet_list></list_item><list_item><paragraph><reference ids="id54" refid="directives"><generated classes="sectnum">2.14   </generated>Directives</reference></paragraph><bullet_list classes="auto-toc"><list_item><paragraph><reference ids="id55" refid="document-parts"><generated classes="sectnum">2.14.1   </generated>Document Parts</reference></paragraph></list_item><list_item><paragraph><reference ids="id56" refid="images-and-figures"><generated classes="sectnum">2.14.2   </generated>Images and Figures</reference></paragraph></list_item><list_item><paragraph><reference ids="id57" refid="admonitions"><generated classes="sectnum">2.14.3   </generated>Admonitions</reference></paragraph></list_item><list_item><paragraph><reference ids="id58" refid="topics-sidebars-and-rubrics"><generated classes="sectnum">2.14.4   </generated>Topics, Sidebars, and Rubrics</reference></paragraph></list_item><list_item><paragraph><reference ids="id59" refid="target-footnotes"><generated classes="sectnum">2.14.5   </generated>Target Footnotes</reference></paragraph></list_item><list_item><paragraph><reference ids="id60" refid="replacement-text"><generated classes="sectnum">2.14.6   </generated>Replacement Text</reference></paragraph></list_item><list_item><paragraph><reference ids="id61" refid="compound-paragraph"><generated classes="sectnum">2.14.7   </generated>Compound Paragraph</reference></paragraph></list_item><list_item><paragraph><reference ids="id62" refid="parsed-literal-blocks"><generated classes="sectnum">2.14.8   </generated>Parsed Literal Blocks</reference></paragraph></list_item></bullet_list></list_item><list_item><paragraph><reference ids="id63" refid="substitution-definitions"><generated classes="sectnum">2.15   </generated>Substitution Definitions</reference></paragraph></list_item><list_item><paragraph><reference ids="id64" refid="comments"><generated classes="sectnum">2.16   </generated>Comments</reference></paragraph></list_item><list_item><paragraph><reference ids="id65" refid="raw-text"><generated classes="sectnum">2.17   </generated>Raw text</reference></paragraph></list_item><list_item><paragraph><reference ids="id66" refid="container"><generated classes="sectnum">2.18   </generated>Container</reference></paragraph></list_item></bullet_list></list_item></bullet_list></topic><section ids="structural-elements" names="structural\ elements"><title auto="1" refid="id32"><generated classes="sectnum">1   </generated>Structural Elements</title><section ids="section-title" names="section\ title"><title auto="1" refid="id33"><generated classes="sectnum">1.1   </generated>Section Title</title><section ids="section-subtitle" names="section\ subtitle"><title auto="1" refid="id34"><generated classes="sectnum">1.1.1   </generated>Section Subtitle</title><paragraph>That's it, the text just above this line.</paragraph></section></section><section ids="empty-section" names="empty\ section"><title auto="1" refid="id35"><generated classes="sectnum">1.2   </generated>Empty Section</title></section><section ids="transitions" names="transitions"><title auto="1" refid="id36"><generated classes="sectnum">1.3   </generated>Transitions</title><paragraph>Here's a transition:</paragraph><transition/><paragraph>It divides the section. Transitions may also occur between sections:</paragraph></section></section><transition/><section ids="body-elements" names="body\ elements"><title auto="1" refid="id37"><generated classes="sectnum">2   </generated>Body Elements</title><section ids="paragraphs" names="paragraphs"><title auto="1" refid="id38"><generated classes="sectnum">2.1   </generated>Paragraphs</title><paragraph>A paragraph.</paragraph><section ids="inline-markup" names="inline\ markup"><title auto="1" refid="id39"><generated classes="sectnum">2.1.1   </generated>Inline Markup</title><paragraph>Paragraphs contain text and may contain inline markup: <emphasis>emphasis</emphasis>,
+<strong>strong emphasis</strong>, <literal>inline literals</literal>, standalone hyperlinks
+(<reference refuri="http://www.python.org">http://www.python.org</reference>), external hyperlinks (<reference name="Python" refuri="http://www.python.org/">Python</reference> <footnote_reference auto="1" ids="id26" refid="id25">5</footnote_reference>), internal
+cross-references (<reference name="example" refid="example">example</reference>), external hyperlinks with embedded URIs
+(<reference name="Python web site" refuri="http://www.python.org">Python web site</reference>), <reference anonymous="1" name="anonymous hyperlink references" refuri="http://www.python.org/">anonymous hyperlink
+references</reference> <footnote_reference auto="1" ids="id29" refid="id25">5</footnote_reference> (<reference anonymous="1" name="a second reference" refuri="http://docutils.sourceforge.net/">a second reference</reference> <footnote_reference auto="1" ids="id31" refid="id30">6</footnote_reference>), footnote references (manually
+numbered <footnote_reference ids="id1" refid="id8">1</footnote_reference>, anonymous auto-numbered <footnote_reference auto="1" ids="id2" refid="id12">3</footnote_reference>, labeled auto-numbered
+<footnote_reference auto="1" ids="id3" refid="label">2</footnote_reference>, or symbolic <footnote_reference auto="*" ids="id4" refid="id13">*</footnote_reference>), citation references (<citation_reference ids="id5" refid="cit2002">CIT2002</citation_reference>),
+substitution references (<image alt="EXAMPLE" uri="../../../docs/user/rst/images/biohazard.png"/>), and <target ids="inline-hyperlink-targets" names="inline\ hyperlink\ targets">inline hyperlink targets</target>
+(see <reference name="Targets" refid="targets">Targets</reference> below for a reference back to here). Character-level
+inline markup is also possible (although exceedingly ugly!) in <emphasis>re</emphasis><literal>Structured</literal><emphasis>Text</emphasis>. Problems are indicated by <problematic ids="id24" refid="id23">|problematic|</problematic> text
+(generated by processing errors; this one is intentional). Here is a
+reference to the <reference name="doctitle" refid="doctitle">doctitle</reference> and the <reference name="subtitle" refid="subtitle">subtitle</reference>.</paragraph><target anonymous="1" ids="id6" refuri="http://www.python.org/"/><target anonymous="1" ids="id7" refuri="http://docutils.sourceforge.net/"/><paragraph>The default role for interpreted text is <title_reference>Title Reference</title_reference>. Here are
+some explicit interpreted text roles: a PEP reference (<reference refuri="http://www.python.org/dev/peps/pep-0287">PEP 287</reference>); an
+RFC reference (<reference refuri="http://www.faqs.org/rfcs/rfc2822.html">RFC 2822</reference>); a <subscript>subscript</subscript>; a <superscript>superscript</superscript>;
+and explicit roles for <emphasis>standard</emphasis> <strong>inline</strong>
+<literal>markup</literal>.</paragraph><comment xml:space="preserve">DO NOT RE-WRAP THE FOLLOWING PARAGRAPH!</comment><paragraph>Let's test wrapping and whitespace significance in inline literals:
+<literal>This is an example of --inline-literal --text, --including some--
+strangely--hyphenated-words. Adjust-the-width-of-your-browser-window
+to see how the text is wrapped. -- ---- -------- Now note the
+spacing between the words of this sentence (words
+should be grouped in pairs).</literal></paragraph><paragraph>If the <literal>--pep-references</literal> option was supplied, there should be a
+live link to PEP 258 here.</paragraph></section></section><section ids="bullet-lists" names="bullet\ lists"><title auto="1" refid="id40"><generated classes="sectnum">2.2   </generated>Bullet Lists</title><bullet_list bullet="-"><list_item><paragraph>A bullet list</paragraph><bullet_list bullet="+"><list_item><paragraph>Nested bullet list.</paragraph></list_item><list_item><paragraph>Nested item 2.</paragraph></list_item></bullet_list></list_item><list_item><paragraph>Item 2.</paragraph><paragraph>Paragraph 2 of item 2.</paragraph><bullet_list bullet="*"><list_item><paragraph>Nested bullet list.</paragraph></list_item><list_item><paragraph>Nested item 2.</paragraph><bullet_list bullet="-"><list_item><paragraph>Third level.</paragraph></list_item><list_item><paragraph>Item 2.</paragraph></list_item></bullet_list></list_item><list_item><paragraph>Nested item 3.</paragraph></list_item><list_item><paragraph>This nested list should be compacted by the HTML writer.</paragraph><target ids="target" names="target"/><comment xml:space="preserve">Even if this item contains a target and a comment.</comment></list_item></bullet_list></list_item></bullet_list></section><section ids="enumerated-lists" names="enumerated\ lists"><title auto="1" refid="id41"><generated classes="sectnum">2.3   </generated>Enumerated Lists</title><enumerated_list enumtype="arabic" prefix="" suffix="."><list_item><paragraph>Arabic numerals.</paragraph><enumerated_list enumtype="loweralpha" prefix="" suffix=")"><list_item><paragraph>lower alpha)</paragraph><enumerated_list enumtype="lowerroman" prefix="(" suffix=")"><list_item><paragraph>(lower roman)</paragraph><enumerated_list enumtype="upperalpha" prefix="" suffix="."><list_item><paragraph>upper alpha.</paragraph><enumerated_list enumtype="upperroman" prefix="" suffix=")"><list_item><paragraph>upper roman)</paragraph></list_item></enumerated_list></list_item></enumerated_list></list_item></enumerated_list></list_item></enumerated_list></list_item><list_item><paragraph>Lists that don't start at 1:</paragraph><enumerated_list enumtype="arabic" prefix="" start="3" suffix="."><list_item><paragraph>Three</paragraph></list_item><list_item><paragraph>Four</paragraph></list_item></enumerated_list><enumerated_list enumtype="upperalpha" prefix="" start="3" suffix="."><list_item><paragraph>C</paragraph></list_item><list_item><paragraph>D</paragraph></list_item></enumerated_list><enumerated_list enumtype="lowerroman" prefix="" start="3" suffix="."><list_item><paragraph>iii</paragraph></list_item><list_item><paragraph>iv</paragraph></list_item></enumerated_list></list_item></enumerated_list></section><section ids="definition-lists" names="definition\ lists"><title auto="1" refid="id42"><generated classes="sectnum">2.4   </generated>Definition Lists</title><definition_list><definition_list_item><term>Term</term><definition><paragraph>Definition</paragraph></definition></definition_list_item><definition_list_item><term>Term</term><classifier>classifier</classifier><definition><paragraph>Definition paragraph 1.</paragraph><paragraph>Definition paragraph 2.</paragraph></definition></definition_list_item><definition_list_item><term>Term</term><definition><paragraph>Definition</paragraph></definition></definition_list_item><definition_list_item><term>Term</term><classifier>classifier one</classifier><classifier>classifier two</classifier><definition><paragraph>Definition</paragraph></definition></definition_list_item></definition_list></section><section ids="field-lists" names="field\ lists"><title auto="1" refid="id43"><generated classes="sectnum">2.5   </generated>Field Lists</title><field_list><field><field_name>what</field_name><field_body><paragraph>Field lists map field names to field bodies, like database
+records. They are often part of an extension syntax. They are
+an unambiguous variant of RFC 2822 fields.</paragraph></field_body></field><field><field_name>how arg1 arg2</field_name><field_body><paragraph>The field marker is a colon, the field name, and a colon.</paragraph><paragraph>The field body may contain one or more body elements, indented
+relative to the field marker.</paragraph></field_body></field><field><field_name>credits</field_name><field_body><paragraph classes="credits">This paragraph has the <title_reference>credits</title_reference> class set. (This is actually not
+about credits but just for ensuring that the class attribute
+doesn't get stripped away.)</paragraph></field_body></field></field_list></section><section ids="option-lists" names="option\ lists"><title auto="1" refid="id44"><generated classes="sectnum">2.6   </generated>Option Lists</title><paragraph>For listing command-line options:</paragraph><option_list><option_list_item><option_group><option><option_string>-a</option_string></option></option_group><description><paragraph>command-line option &quot;a&quot;</paragraph></description></option_list_item><option_list_item><option_group><option><option_string>-b</option_string><option_argument delimiter=" ">file</option_argument></option></option_group><description><paragraph>options can have arguments
+and long descriptions</paragraph></description></option_list_item><option_list_item><option_group><option><option_string>--long</option_string></option></option_group><description><paragraph>options can be long also</paragraph></description></option_list_item><option_list_item><option_group><option><option_string>--input</option_string><option_argument delimiter="=">file</option_argument></option></option_group><description><paragraph>long options can also have
+arguments</paragraph></description></option_list_item><option_list_item><option_group><option><option_string>--very-long-option</option_string></option></option_group><description><paragraph>The description can also start on the next line.</paragraph><paragraph>The description may contain multiple body elements,
+regardless of where it starts.</paragraph></description></option_list_item><option_list_item><option_group><option><option_string>-x</option_string></option><option><option_string>-y</option_string></option><option><option_string>-z</option_string></option></option_group><description><paragraph>Multiple options are an &quot;option group&quot;.</paragraph></description></option_list_item><option_list_item><option_group><option><option_string>-v</option_string></option><option><option_string>--verbose</option_string></option></option_group><description><paragraph>Commonly-seen: short &amp; long options.</paragraph></description></option_list_item><option_list_item><option_group><option><option_string>-1</option_string><option_argument delimiter=" ">file</option_argument></option><option><option_string>--one</option_string><option_argument delimiter="=">file</option_argument></option><option><option_string>--two</option_string><option_argument delimiter=" ">file</option_argument></option></option_group><description><paragraph>Multiple options with arguments.</paragraph></description></option_list_item><option_list_item><option_group><option><option_string>/V</option_string></option></option_group><description><paragraph>DOS/VMS-style options too</paragraph></description></option_list_item></option_list><paragraph>There must be at least two spaces between the option and the
+description.</paragraph></section><section ids="literal-blocks" names="literal\ blocks"><title auto="1" refid="id45"><generated classes="sectnum">2.7   </generated>Literal Blocks</title><paragraph>Literal blocks are indicated with a double-colon (&quot;::&quot;) at the end of
+the preceding paragraph (over there <literal>--&gt;</literal>). They can be indented:</paragraph><literal_block xml:space="preserve">if literal_block:
+ text = 'is left as-is'
+ spaces_and_linebreaks = 'are preserved'
+ markup_processing = None</literal_block><paragraph>Or they can be quoted without indentation:</paragraph><literal_block xml:space="preserve">&gt;&gt; Great idea!
+&gt;
+&gt; Why didn't I think of that?</literal_block></section><section ids="line-blocks" names="line\ blocks"><title auto="1" refid="id46"><generated classes="sectnum">2.8   </generated>Line Blocks</title><paragraph>This section tests line blocks. Line blocks are body elements which
+consist of lines and other line blocks. Nested line blocks cause
+indentation.</paragraph><line_block><line>This is a line block. It ends with a blank line.</line><line_block><line>New lines begin with a vertical bar (&quot;|&quot;).</line><line>Line breaks and initial indent are significant, and preserved.</line><line_block><line>Continuation lines are also possible. A long line that is intended
+to wrap should begin with a space in place of the vertical bar.</line></line_block><line>The left edge of a continuation line need not be aligned with
+the left edge of the text above it.</line></line_block></line_block><line_block><line>This is a second line block.</line><line/><line>Blank lines are permitted internally, but they must begin with a &quot;|&quot;.</line></line_block><paragraph>Another line block, surrounded by paragraphs:</paragraph><line_block><line>And it's no good waiting by the window</line><line>It's no good waiting for the sun</line><line>Please believe me, the things you dream of</line><line>They don't fall in the lap of no-one</line></line_block><paragraph>Take it away, Eric the Orchestra Leader!</paragraph><block_quote><line_block><line>A one, two, a one two three four</line><line/><line>Half a bee, philosophically,</line><line_block><line>must, <emphasis>ipso facto</emphasis>, half not be.</line></line_block><line>But half the bee has got to be,</line><line_block><line><emphasis>vis a vis</emphasis> its entity. D'you see?</line><line/></line_block><line>But can a bee be said to be</line><line_block><line>or not to be an entire bee,</line><line_block><line>when half the bee is not a bee,</line><line_block><line>due to some ancient injury?</line><line/></line_block></line_block></line_block><line>Singing...</line></line_block></block_quote></section><section ids="block-quotes" names="block\ quotes"><title auto="1" refid="id47"><generated classes="sectnum">2.9   </generated>Block Quotes</title><paragraph>Block quotes consist of indented body elements:</paragraph><block_quote><paragraph>My theory by A. Elk. Brackets Miss, brackets. This theory goes
+as follows and begins now. All brontosauruses are thin at one
+end, much much thicker in the middle and then thin again at the
+far end. That is my theory, it is mine, and belongs to me and I
+own it, and what it is too.</paragraph><attribution>Anne Elk (Miss)</attribution></block_quote></section><section ids="doctest-blocks" names="doctest\ blocks"><title auto="1" refid="id48"><generated classes="sectnum">2.10   </generated>Doctest Blocks</title><doctest_block xml:space="preserve">&gt;&gt;&gt; print 'Python-specific usage examples; begun with &quot;&gt;&gt;&gt;&quot;'
+Python-specific usage examples; begun with &quot;&gt;&gt;&gt;&quot;
+&gt;&gt;&gt; print '(cut and pasted from interactive Python sessions)'
+(cut and pasted from interactive Python sessions)</doctest_block></section><section ids="footnotes" names="footnotes"><title auto="1" refid="id49"><generated classes="sectnum">2.11   </generated>Footnotes</title><footnote backrefs="id1 id9 id22" ids="id8" names="1"><label>1</label><paragraph>A footnote contains body elements, consistently indented by at
+least 3 spaces.</paragraph><paragraph>This is the footnote's second paragraph.</paragraph></footnote><footnote auto="1" backrefs="id3 id10" ids="label" names="label"><label>2</label><paragraph>Footnotes may be numbered, either manually (as in <footnote_reference ids="id9" refid="id8">1</footnote_reference>) or
+automatically using a &quot;#&quot;-prefixed label. This footnote has a
+label so it can be referred to from multiple places, both as a
+footnote reference (<footnote_reference auto="1" ids="id10" refid="label">2</footnote_reference>) and as a <reference anonymous="1" name="hyperlink reference" refid="label">hyperlink reference</reference>.</paragraph><target anonymous="1" ids="id11" refid="label"/></footnote><footnote auto="1" backrefs="id2" ids="id12" names="3"><label>3</label><paragraph>This footnote is numbered automatically and anonymously using a
+label of &quot;#&quot; only.</paragraph><paragraph>This is the second paragraph.</paragraph><paragraph>And this is the third paragraph.</paragraph></footnote><footnote auto="*" backrefs="id4" ids="id13"><label>*</label><paragraph>Footnotes may also use symbols, specified with a &quot;*&quot; label.
+Here's a reference to the next footnote: <footnote_reference auto="*" ids="id14" refid="id15">†</footnote_reference>.</paragraph></footnote><footnote auto="*" backrefs="id14" ids="id15"><label>†</label><paragraph>This footnote shows the next symbol in the sequence.</paragraph></footnote><footnote ids="id16" names="4"><label>4</label><paragraph>Here's an unreferenced footnote, with a reference to a
+nonexistent footnote: <problematic ids="id76 id17" refid="id75">[5]_</problematic>.</paragraph></footnote></section><section ids="citations" names="citations"><title auto="1" refid="id50"><generated classes="sectnum">2.12   </generated>Citations</title><citation backrefs="id5 id18" ids="cit2002" names="cit2002"><label>CIT2002</label><paragraph>Citations are text-labeled footnotes. They may be
+rendered separately and differently from footnotes.</paragraph></citation><paragraph>Here's a reference to the above, <citation_reference ids="id18" refid="cit2002">CIT2002</citation_reference>, and a <problematic ids="id78 id19" refid="id77">[nonexistent]_</problematic>
+citation.</paragraph><target refid="another-target"/></section><section ids="targets another-target" names="targets another\ target"><title auto="1" refid="id51"><generated classes="sectnum">2.13   </generated>Targets</title><target refid="example"/><paragraph ids="example" names="example">This paragraph is pointed to by the explicit &quot;example&quot; target. A
+reference can be found under <reference name="Inline Markup" refid="inline-markup">Inline Markup</reference>, above. <reference name="Inline hyperlink targets" refid="inline-hyperlink-targets">Inline
+hyperlink targets</reference> are also possible.</paragraph><paragraph>Section headers are implicit targets, referred to by name. See
+<reference name="Targets" refid="targets">Targets</reference>, which is a subsection of <reference name="Body Elements" refid="body-elements">Body Elements</reference>.</paragraph><paragraph>Explicit external targets are interpolated into references such as
+&quot;<reference name="Python" refuri="http://www.python.org/">Python</reference> <footnote_reference auto="1" ids="id27" refid="id25">5</footnote_reference>&quot;.</paragraph><target ids="python" names="python" refuri="http://www.python.org/"/><paragraph>Targets may be indirect and anonymous. Thus <reference anonymous="1" name="this phrase" refid="targets">this phrase</reference> may also
+refer to the <reference name="Targets" refid="targets">Targets</reference> section.</paragraph><target anonymous="1" ids="id20" refid="targets"/><paragraph>Here's a <problematic ids="id80" refid="id79">`hyperlink reference without a target`_</problematic>, which generates an
+error.</paragraph><section dupnames="duplicate\ target\ names" ids="duplicate-target-names"><title auto="1" refid="id52"><generated classes="sectnum">2.13.1   </generated>Duplicate Target Names</title><paragraph>Duplicate names in section headers or other implicit targets will
+generate &quot;info&quot; (level-1) system messages. Duplicate names in
+explicit targets will generate &quot;warning&quot; (level-2) system messages.</paragraph></section><section dupnames="duplicate\ target\ names" ids="id21"><title auto="1" refid="id53"><generated classes="sectnum">2.13.2   </generated>Duplicate Target Names</title><paragraph>Since there are two &quot;Duplicate Target Names&quot; section headers, we
+cannot uniquely refer to either of them by name. If we try to (like
+this: <problematic ids="id82" refid="id81">`Duplicate Target Names`_</problematic>), an error is generated.</paragraph></section></section><section ids="directives" names="directives"><title auto="1" refid="id54"><generated classes="sectnum">2.14   </generated>Directives</title><topic classes="contents local" ids="contents" names="contents"><bullet_list classes="auto-toc"><list_item><paragraph><reference ids="id67" refid="document-parts"><generated classes="sectnum">2.14.1   </generated>Document Parts</reference></paragraph></list_item><list_item><paragraph><reference ids="id68" refid="images-and-figures"><generated classes="sectnum">2.14.2   </generated>Images and Figures</reference></paragraph></list_item><list_item><paragraph><reference ids="id69" refid="admonitions"><generated classes="sectnum">2.14.3   </generated>Admonitions</reference></paragraph></list_item><list_item><paragraph><reference ids="id70" refid="topics-sidebars-and-rubrics"><generated classes="sectnum">2.14.4   </generated>Topics, Sidebars, and Rubrics</reference></paragraph></list_item><list_item><paragraph><reference ids="id71" refid="target-footnotes"><generated classes="sectnum">2.14.5   </generated>Target Footnotes</reference></paragraph></list_item><list_item><paragraph><reference ids="id72" refid="replacement-text"><generated classes="sectnum">2.14.6   </generated>Replacement Text</reference></paragraph></list_item><list_item><paragraph><reference ids="id73" refid="compound-paragraph"><generated classes="sectnum">2.14.7   </generated>Compound Paragraph</reference></paragraph></list_item><list_item><paragraph><reference ids="id74" refid="parsed-literal-blocks"><generated classes="sectnum">2.14.8   </generated>Parsed Literal Blocks</reference></paragraph></list_item></bullet_list></topic><paragraph>These are just a sample of the many reStructuredText Directives. For
+others, please see
+<reference refuri="http://docutils.sourceforge.net/docs/ref/rst/directives.html">http://docutils.sourceforge.net/docs/ref/rst/directives.html</reference>.</paragraph><section ids="document-parts" names="document\ parts"><title auto="1" refid="id67"><generated classes="sectnum">2.14.1   </generated>Document Parts</title><paragraph>An example of the &quot;contents&quot; directive can be seen above this section
+(a local, untitled table of <reference name="contents" refid="contents">contents</reference>) and at the beginning of the
+document (a document-wide <reference name="table of contents" refid="table-of-contents">table of contents</reference>).</paragraph></section><section ids="images-and-figures" names="images\ and\ figures"><title auto="1" refid="id68"><generated classes="sectnum">2.14.2   </generated>Images and Figures</title><paragraph>An image directive (also clickable -- a hyperlink reference):</paragraph><reference name="directives" refid="directives"><image classes="class1 class2" uri="../../../docs/user/rst/images/title.png"/></reference><paragraph>Image with multiple IDs:</paragraph><target refid="image-target-1"/><target refid="image-target-2"/><target refid="image-target-3"/><image ids="image-target-3 image-target-2 image-target-1" names="image\ target\ 3 image\ target\ 2 image\ target\ 1" uri="../../../docs/user/rst/images/title.png"/><paragraph>A centered image:</paragraph><image align="center" uri="../../../docs/user/rst/images/biohazard.png"/><paragraph>A left-aligned image:</paragraph><image align="left" uri="../../../docs/user/rst/images/biohazard.png"/><paragraph>This paragraph might flow around the image.
+The specific behavior depends upon the style sheet and
+the browser or rendering software used.</paragraph><paragraph>A right-aligned image:</paragraph><image align="right" uri="../../../docs/user/rst/images/biohazard.png"/><paragraph>This paragraph might flow around the image.
+The specific behavior depends upon the style sheet and
+the browser or rendering software used.</paragraph><paragraph>For inline images see <reference name="Substitution Definitions" refid="substitution-definitions">Substitution Definitions</reference>.</paragraph><paragraph>Image size:</paragraph><paragraph>An image 2 em wide:</paragraph><image uri="../../../docs/user/rst/images/biohazard.png" width="2em"/><paragraph>An image 2 em wide and 15 pixel high:</paragraph><image height="15px" uri="../../../docs/user/rst/images/biohazard.png" width="2em"/><paragraph>An image occupying 50% of the line width:</paragraph><image uri="../../../docs/user/rst/images/title.png" width="50%"/><paragraph>An image 2 cm high:</paragraph><image height="2cm" uri="../../../docs/user/rst/images/biohazard.png"/><paragraph>A <emphasis>figure</emphasis> is an image with a caption and/or a legend. With page-based output
+media, figures might float to a different position if this helps the page
+layout.</paragraph><figure classes="figclass1 figclass2"><image alt="reStructuredText, the markup syntax" classes="class1 class2" uri="../../../docs/user/rst/images/title.png" width="258"/><caption>Plaintext markup syntax and parser system.</caption><legend><table><tgroup cols="2"><colspec colwidth="12"/><colspec colwidth="47"/><tbody><row><entry><paragraph>re</paragraph></entry><entry><paragraph>Revised, revisited, based on 're' module.</paragraph></entry></row><row><entry><paragraph>Structured</paragraph></entry><entry><paragraph>Structure-enhanced text, structuredtext.</paragraph></entry></row><row><entry><paragraph>Text</paragraph></entry><entry><paragraph>Well it is, isn't it?</paragraph></entry></row></tbody></tgroup></table><paragraph>This paragraph is also part of the legend.</paragraph></legend></figure><paragraph>A left-aligned figure:</paragraph><figure align="left" classes="figclass1 figclass2"><image alt="reStructuredText, the markup syntax" classes="class1 class2" uri="../../../docs/user/rst/images/biohazard.png" width="50"/><caption>This is the caption.</caption><legend><paragraph>This is the legend.</paragraph><paragraph>The legend may consist of several paragraphs.</paragraph></legend></figure><paragraph>This paragraph might flow around the figure. The specific behavior depends
+upon the style sheet and the browser or rendering software used.</paragraph><paragraph>A centered figure:</paragraph><figure align="center"><image uri="../../../docs/user/rst/images/biohazard.png" width="50"/><caption>This is the caption.</caption><legend><paragraph>This is the legend.</paragraph><paragraph>The legend may consist of several paragraphs.</paragraph></legend></figure><paragraph>This paragraph might flow around the figure. The specific behavior depends
+upon the style sheet and the browser or rendering software used.</paragraph><paragraph>A right-aligned figure:</paragraph><figure align="right"><image uri="../../../docs/user/rst/images/biohazard.png" width="50"/><caption>This is the caption.</caption><legend><paragraph>This is the legend.</paragraph><paragraph>The legend may consist of several paragraphs.</paragraph></legend></figure><paragraph>This paragraph might flow around the figure. The specific behavior depends
+upon the style sheet and the browser or rendering software used.</paragraph></section><section ids="admonitions" names="admonitions"><title auto="1" refid="id69"><generated classes="sectnum">2.14.3   </generated>Admonitions</title><attention><paragraph>Directives at large.</paragraph></attention><caution><paragraph>Don't take any wooden nickels.</paragraph></caution><danger><paragraph>Mad scientist at work!</paragraph></danger><error><paragraph>Does not compute.</paragraph></error><hint><paragraph>It's bigger than a bread box.</paragraph></hint><important><bullet_list bullet="-"><list_item><paragraph>Wash behind your ears.</paragraph></list_item><list_item><paragraph>Clean up your room.</paragraph></list_item><list_item><paragraph>Call your mother.</paragraph></list_item><list_item><paragraph>Back up your data.</paragraph></list_item></bullet_list></important><note><paragraph>This is a note.</paragraph></note><tip><paragraph>15% if the service is good.</paragraph></tip><warning><paragraph>Strong prose may provoke extreme mental exertion.
+Reader discretion is strongly advised.</paragraph></warning><admonition classes="admonition-and-by-the-way"><title>And, by the way...</title><paragraph>You can make up your own admonition too.</paragraph><target ids="docutils" names="docutils" refuri="http://docutils.sourceforge.net/"/></admonition></section><section ids="topics-sidebars-and-rubrics" names="topics,\ sidebars,\ and\ rubrics"><title auto="1" refid="id70"><generated classes="sectnum">2.14.4   </generated>Topics, Sidebars, and Rubrics</title><sidebar><title>Sidebar Title</title><subtitle>Optional Subtitle</subtitle><paragraph>This is a sidebar. It is for text outside the flow of the main
+text.</paragraph><rubric>This is a rubric inside a sidebar</rubric><paragraph>Sidebars often appears beside the main text with a border and
+background color.</paragraph></sidebar><topic><title>Topic Title</title><paragraph>This is a topic.</paragraph></topic><rubric>This is a rubric</rubric></section><section ids="target-footnotes" names="target\ footnotes"><title auto="1" refid="id71"><generated classes="sectnum">2.14.5   </generated>Target Footnotes</title><footnote auto="1" backrefs="id26 id27 id28 id29" ids="id25" names="TARGET_NOTE:\ id25"><label>5</label><paragraph><reference refuri="http://www.python.org/">http://www.python.org/</reference></paragraph></footnote><footnote auto="1" backrefs="id31" ids="id30" names="TARGET_NOTE:\ id30"><label>6</label><paragraph><reference refuri="http://docutils.sourceforge.net/">http://docutils.sourceforge.net/</reference></paragraph></footnote></section><section ids="replacement-text" names="replacement\ text"><title auto="1" refid="id72"><generated classes="sectnum">2.14.6   </generated>Replacement Text</title><paragraph>I recommend you try <reference refuri="http://www.python.org/">Python, <emphasis>the</emphasis> best language around</reference> <footnote_reference auto="1" ids="id28" refid="id25">5</footnote_reference>.</paragraph><substitution_definition names="Python">Python, <emphasis>the</emphasis> best language around</substitution_definition></section><section ids="compound-paragraph" names="compound\ paragraph"><title auto="1" refid="id73"><generated classes="sectnum">2.14.7   </generated>Compound Paragraph</title><compound classes="some-class"><paragraph>Compound 1, paragraph 1.</paragraph><paragraph>Compound 1, paragraph 2.</paragraph><bullet_list bullet="*"><list_item><paragraph>Compound 1, list item one.</paragraph></list_item><list_item><paragraph>Compound 1, list item two.</paragraph></list_item></bullet_list></compound><paragraph>Another compound statement:</paragraph><compound><paragraph>Compound 2, a literal block:</paragraph><literal_block xml:space="preserve">Compound 2, literal.</literal_block><paragraph>Compound 2, this is a test.</paragraph></compound><compound><paragraph>Compound 3, only consisting of one paragraph.</paragraph></compound><compound><literal_block xml:space="preserve">Compound 4.
+This one starts with a literal block.</literal_block><paragraph>Compound 4, a paragraph.</paragraph></compound><paragraph>Now something <emphasis>really</emphasis> perverted -- a nested compound block. This is
+just to test that it works at all; the results don't have to be
+meaningful.</paragraph><compound><paragraph>Compound 5, block 1 (a paragraph).</paragraph><compound><paragraph>Compound 6, block 2 in compound 5.</paragraph><paragraph>Compound 6, another paragraph.</paragraph></compound><paragraph>Compound 5, block 3 (a paragraph).</paragraph></compound><compound><paragraph>Compound 7, with a table inside:</paragraph><table><tgroup cols="3"><colspec colwidth="20"/><colspec colwidth="20"/><colspec colwidth="20"/><tbody><row><entry><paragraph>Left cell, first
+paragraph.</paragraph><paragraph>Left cell, second
+paragraph.</paragraph></entry><entry><paragraph>Middle cell,
+consisting of
+exactly one
+paragraph.</paragraph></entry><entry><paragraph>Right cell.</paragraph><paragraph>Paragraph 2.</paragraph><paragraph>Paragraph 3.</paragraph></entry></row></tbody></tgroup></table><paragraph>Compound 7, a paragraph after the table.</paragraph><paragraph>Compound 7, another paragraph.</paragraph></compound></section><section ids="parsed-literal-blocks" names="parsed\ literal\ blocks"><title auto="1" refid="id74"><generated classes="sectnum">2.14.8   </generated>Parsed Literal Blocks</title><literal_block xml:space="preserve">This is a parsed literal block.
+ This line is indented. The next line is blank.
+
+Inline markup is supported, e.g. <emphasis>emphasis</emphasis>, <strong>strong</strong>, <literal>literal
+text</literal>, footnotes <footnote_reference ids="id22" refid="id8">1</footnote_reference>, <target ids="hyperlink-targets" names="hyperlink\ targets">hyperlink targets</target>, and <reference name="references" refuri="http://www.python.org/">references</reference><target ids="references" names="references" refuri="http://www.python.org/"/>.</literal_block></section></section><section ids="substitution-definitions" names="substitution\ definitions"><title auto="1" refid="id63"><generated classes="sectnum">2.15   </generated>Substitution Definitions</title><paragraph>An inline image (<image alt="EXAMPLE" uri="../../../docs/user/rst/images/biohazard.png"/>) example:</paragraph><substitution_definition names="EXAMPLE"><image alt="EXAMPLE" uri="../../../docs/user/rst/images/biohazard.png"/></substitution_definition><paragraph>(Substitution definitions are not visible in the HTML source.)</paragraph></section><section ids="comments" names="comments"><title auto="1" refid="id64"><generated classes="sectnum">2.16   </generated>Comments</title><paragraph>Here's one:</paragraph><comment xml:space="preserve">Comments begin with two dots and a space. Anything may
+follow, except for the syntax of footnotes, hyperlink
+targets, directives, or substitution definitions.
+
+Double-dashes -- &quot;--&quot; -- must be escaped somehow in HTML output.
+
+Comments may contain non-ASCII characters: ä ö ü æ ø å</comment><paragraph>(View the HTML source to see the comment.)</paragraph></section><section ids="raw-text" names="raw\ text"><title auto="1" refid="id65"><generated classes="sectnum">2.17   </generated>Raw text</title><paragraph>This does not necessarily look nice, because there may be missing white space.</paragraph><paragraph>It's just there to freeze the behavior.</paragraph><raw format="html latex" xml:space="preserve">A test.</raw><raw format="html latex" xml:space="preserve">Second test.</raw><raw classes="myclass" format="html latex" xml:space="preserve">Another test with myclass set.</raw><paragraph>This is the <raw classes="myrawroleclass" format="html latex" xml:space="preserve">fourth test</raw> with myrawroleclass set.</paragraph><raw format="html" xml:space="preserve">Fifth test in HTML.&lt;br /&gt;Line two.</raw><raw format="latex" xml:space="preserve">Fifth test in LaTeX.\\Line two.</raw></section><section ids="container" names="container"><title auto="1" refid="id66"><generated classes="sectnum">2.18   </generated>Container</title><container classes="custom"><paragraph>paragraph 1</paragraph><paragraph>paragraph 2</paragraph></container></section></section><section classes="system-messages"><title>Docutils System Messages</title><system_message backrefs="id24" ids="id23" level="3" line="98" source="original/standard_r6008.rst" type="ERROR"><paragraph>Undefined substitution referenced: &quot;problematic&quot;.</paragraph></system_message><system_message backrefs="id76" ids="id75" level="3" line="357" source="original/standard_r6008.rst" type="ERROR"><paragraph>Unknown target name: &quot;5&quot;.</paragraph></system_message><system_message backrefs="id78" ids="id77" level="3" line="366" source="original/standard_r6008.rst" type="ERROR"><paragraph>Unknown target name: &quot;nonexistent&quot;.</paragraph></system_message><system_message backrefs="id80" ids="id79" level="3" line="393" source="original/standard_r6008.rst" type="ERROR"><paragraph>Unknown target name: &quot;hyperlink reference without a target&quot;.</paragraph></system_message><system_message backrefs="id82" ids="id81" level="3" line="406" source="original/standard_r6008.rst" type="ERROR"><paragraph>Duplicate target name, cannot be used as a unique reference: &quot;duplicate target names&quot;.</paragraph></system_message></section></document> \ No newline at end of file
diff --git a/sandbox/xml2rst/tests/synthetic/original/class.rst b/sandbox/xml2rst/tests/synthetic/original/class.rst
new file mode 100644
index 000000000..16d3c8202
--- /dev/null
+++ b/sandbox/xml2rst/tests/synthetic/original/class.rst
@@ -0,0 +1,407 @@
+.. section-numbering::
+
+.. class:: c1
+
+.. class:: c2
+
+==============================
+reStructuredText Test Document
+==============================
+
+.. class:: c3
+
+-----------------------------
+Examples of Syntax Constructs
+-----------------------------
+
+.. bibliographic fields (which also require a transform):
+
+.. class:: c4
+
+:Author: David Goodger
+
+.. class:: c5
+
+:Address: 123 Example Street Example, EX Canada A1B 2C3
+
+:Contact: goodger@users.sourceforge.net
+
+:Authors: Me; Myself; I
+
+:organization: humankind
+
+:date: Now, or yesterday. Or maybe even *before* yesterday.
+
+:status: This is a "work in progress"
+
+:revision: is managed by a version control system.
+
+:version: 1
+
+:copyright: This document has been placed in the public domain. You may do with
+ it as you wish. You may copy, modify, redistribute, reattribute,
+ sell, buy, rent, lease, destroy, or improve it, quote it at length,
+ excerpt, incorporate, collate, fold, staple, or mutilate it, or do
+ anything else to it that your or anyone else's heart desires.
+
+.. class:: c6
+
+:field name: This is a "generic bibliographic field".
+
+:field name "2": Generic bibliographic fields may contain multiple body elements.
+
+ .. class:: c7
+
+ Like this.
+
+.. class:: c8
+
+:Dedication:
+
+ .. class:: c9
+
+ For Docutils users & co-developers.
+
+.. class:: c10
+
+:abstract: This is a test document, containing at least one example of each
+ reStructuredText construct.
+
+.. class:: c11
+
+.. contents:: Table of Contents
+ :class: c12
+
+.. class:: c13
+
+Structural Elements
+===================
+
+.. class:: c14
+
+Section Title
+-------------
+
+.. class:: c15
+
+That's it, the text just above this line.
+
+.. class:: c16
+
+-----
+
+.. class:: c17
+
+A paragraph.
+
+Bullet Lists
+------------
+
+.. class:: c18
+
+- A bullet list
+
+ .. class:: c19
+
+ + Nested bullet list.
+
+ .. class:: c20
+
+ + Nested item 2.
+
+Enumerated Lists
+----------------
+
+.. class:: c21
+
+1. Arabic numerals.
+
+ .. class:: c22
+
+ a) lower alpha)
+
+Definition Lists
+----------------
+
+.. class:: c23
+
+Term
+ .. class:: c24
+
+ Definition
+
+Field Lists
+-----------
+
+.. class:: c25
+
+:how arg1 arg2:
+
+ .. class:: c26
+
+ The field marker is a colon, the field name, and a colon.
+
+ .. class:: c27
+
+ The field body may contain one or more body elements, indented
+ relative to the field marker.
+
+Option Lists
+------------
+
+For listing command-line options:
+
+.. class:: c28
+
+-a
+ command-line option "a"
+
+.. class:: c29
+
+-x, -y, -z
+ Multiple options are an "option group".
+
+Literal Blocks
+--------------
+
+Literal blocks are indicated with a double-colon ("::") at the end of
+the preceding paragraph (over there ``-->``). They can be indented
+
+.. class:: c30
+
+::
+
+ if literal_block:
+ text = 'is left as-is'
+ spaces_and_linebreaks = 'are preserved'
+ markup_processing = None
+
+Or they can be quoted without indentation
+
+.. class:: c31
+
+::
+
+>> Great idea!
+>
+> Why didn't I think of that?
+
+Line Blocks
+-----------
+
+This section tests line blocks. Line blocks are body elements which
+consist of lines and other line blocks. Nested line blocks cause
+indentation.
+
+.. class:: c32
+
+| This is a line block. It ends with a blank line.
+
+.. class:: c33
+
+| New lines begin with a vertical bar ("|").
+
+Block Quotes
+------------
+
+Block quotes consist of indented body elements:
+
+ .. class:: c34
+
+ My theory by A. Elk. Brackets Miss, brackets. This theory goes as
+ follows and begins now. All brontosauruses are thin at one end, much
+ much thicker in the middle and then thin again at the far end. That
+ is my theory, it is mine, and belongs to me and I own it, and what
+ it is too.
+
+ .. class:: c35
+
+ -- Anne Elk (Miss)
+
+Doctest Blocks
+--------------
+
+.. class:: c36
+
+>>> print 'Python-specific usage examples; begun with ">>>"'
+Python-specific usage examples; begun with ">>>"
+>>> print '(cut and pasted from interactive Python sessions)'
+(cut and pasted from interactive Python sessions)
+
+Footnotes
+---------
+
+.. class:: c37
+
+.. [1] A footnote contains body elements, consistently indented by at least
+ 3 spaces.
+
+ .. class:: c38
+
+ This is the footnote's second paragraph.
+
+.. class:: c39
+
+.. [#label] Footnotes may be numbered, either manually (as in [1]_) or
+ automatically using a "#"-prefixed label. This footnote has a label
+ so it can be referred to from multiple places, both as a footnote
+ reference ([#label]_) and as a hyperlink reference (label_).
+
+.. class:: c40
+
+.. [#] This footnote is numbered automatically and anonymously using a label
+ of "#" only.
+
+.. class:: c41
+
+.. [*] Footnotes may also use symbols, specified with a "*" label. Here's a
+ reference to the next footnote: [*]_.
+
+Citations
+---------
+
+.. class:: c42
+
+.. [CIT2002] Citations are text-labeled footnotes. They may be rendered separately
+ and differently from footnotes.
+
+Targets
+-------
+
+.. class:: c43
+
+.. _example:
+
+.. class:: c44
+
+.. _Python: http://www.python.org/
+
+Some__ reference__.
+
+.. class:: c45
+
+__ Targets_
+
+.. class:: c46
+
+__ http://www.example.com/
+
+Directives
+----------
+
+.. contents:: :local:
+ :class: c47
+
+Images
+~~~~~~
+
+An image directive (also clickable -- a hyperlink reference):
+
+.. image:: ../../../docs/user/rst/images/title.png
+ :class: c48
+ :target: directives_
+
+A figure directive:
+
+.. figure:: ../../../docs/user/rst/images/title.png
+ :figclass: c49
+ :alt: reStructuredText, the markup syntax
+
+ A figure is an image with a caption and/or a legend:
+
+ .. class:: c50
+
+ +------------+-----------------------------------------------+
+ | re | Revised, revisited, based on 're' module. |
+ +------------+-----------------------------------------------+
+ | Structured | Structure-enhanced text, structuredtext. |
+ +------------+-----------------------------------------------+
+ | Text | Well it is, isn't it? |
+ +------------+-----------------------------------------------+
+
+Admonitions
+~~~~~~~~~~~
+
+.. class:: c51
+
+.. attention:: Directives at large.
+
+.. class:: c52
+
+.. caution:: Don't take any wooden nickels.
+
+.. class:: c53
+
+.. danger:: Mad scientist at work!
+
+.. class:: c54
+
+.. error:: Does not compute.
+
+.. class:: c55
+
+.. hint:: It's bigger than a bread box.
+
+.. class:: c56
+
+.. important::
+ - Wash behind your ears.
+
+ - Clean up your room.
+
+ - Call your mother.
+
+ - Back up your data.
+
+.. class:: c57
+
+.. note:: This is a note.
+
+.. class:: c58
+
+.. tip:: 15% if the service is good.
+
+.. class:: c59
+
+.. warning:: Strong prose may provoke extreme mental exertion. Reader discretion
+ is strongly advised.
+
+.. admonition:: And, by the way...
+ :class: c60
+
+ You can make up your own admonition too.
+
+Topics, Sidebars, and Rubrics
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. sidebar:: Sidebar Title
+ :subtitle: Optional Subtitle
+ :class: c61
+
+ This is a sidebar. It is for text outside the flow of the main text.
+
+ .. class:: c62
+
+ .. rubric:: This is a rubric inside a sidebar
+
+ Sidebars often appears beside the main text with a border and
+ background color.
+
+.. topic:: Topic Title
+ :class: c63
+
+ This is a topic.
+
+Compound Paragraph
+~~~~~~~~~~~~~~~~~~
+
+.. compound::
+ :class: c64
+
+ Compound 1, paragraph 1.
+
+ Compound 1, paragraph 2.
+
+ * Compound 1, list item one.
+
+ * Compound 1, list item two.
diff --git a/sandbox/xml2rst/tests/synthetic/original/standard_0_3_7.rst b/sandbox/xml2rst/tests/synthetic/original/standard_0_3_7.rst
new file mode 100644
index 000000000..9e39d2404
--- /dev/null
+++ b/sandbox/xml2rst/tests/synthetic/original/standard_0_3_7.rst
@@ -0,0 +1,636 @@
+.. This is a comment. Note how any initial comments are moved by
+ transforms to after the document title, subtitle, and docinfo.
+
+.. _doctitle:
+
+================================
+ reStructuredText Test Document
+================================
+
+.. Above is the document title, and below is the subtitle.
+ They are transformed from section titles after parsing.
+
+.. _subtitle:
+
+--------------------------------
+ Examples of Syntax Constructs
+--------------------------------
+
+.. bibliographic fields (which also require a transform):
+
+:Author: David Goodger
+:Address: 123 Example Street
+ Example, EX Canada
+ A1B 2C3
+:Contact: goodger@users.sourceforge.net
+:Authors: Me; Myself; I
+:organization: humankind
+:date: Now, or yesterday. Or maybe even *before* yesterday.
+:status: This is a "work in progress"
+:revision: is managed by a version control system.
+:version: 1
+:copyright: This document has been placed in the public domain. You
+ may do with it as you wish. You may copy, modify,
+ redistribute, reattribute, sell, buy, rent, lease,
+ destroy, or improve it, quote it at length, excerpt,
+ incorporate, collate, fold, staple, or mutilate it, or do
+ anything else to it that your or anyone else's heart
+ desires.
+:field name: This is a "generic bibliographic field".
+:field name "2":
+ Generic bibliographic fields may contain multiple body elements.
+
+ Like this.
+
+:Dedication:
+
+ For Docutils users & co-developers.
+
+:abstract:
+
+ This is a test document, containing at least one example of each
+ reStructuredText construct.
+
+.. meta::
+ :keywords: reStructuredText, test, parser
+ :description lang=en: A test document, containing at least one
+ example of each reStructuredText construct.
+
+.. contents:: Table of Contents
+.. section-numbering::
+
+
+Structural Elements
+===================
+
+Section Title
+-------------
+
+That's it, the text just above this line.
+
+Empty Section
+-------------
+
+Transitions
+-----------
+
+Here's a transition:
+
+---------
+
+It divides the section. Transitions may also occur between sections:
+
+---------
+
+Body Elements
+=============
+
+Paragraphs
+----------
+
+A paragraph.
+
+Inline Markup
+`````````````
+
+Paragraphs contain text and may contain inline markup: *emphasis*,
+**strong emphasis**, ``inline literals``, standalone hyperlinks
+(http://www.python.org), external hyperlinks (Python_), internal
+cross-references (example_), external hyperlinks with embedded URIs
+(`Python web site <http://www.python.org>`__), footnote references
+(manually numbered [1]_, anonymous auto-numbered [#]_, labeled
+auto-numbered [#label]_, or symbolic [*]_), citation references
+([CIT2002]_), substitution references (|example|), and _`inline
+hyperlink targets` (see Targets_ below for a reference back to here).
+Character-level inline markup is also possible (although exceedingly
+ugly!) in *re*\ ``Structured``\ *Text*. Problems are indicated by
+|problematic| text (generated by processing errors; this one is
+intentional). Here is a reference to the doctitle_ and the subtitle_.
+
+The default role for interpreted text is `Title Reference`. Here are
+some explicit interpreted text roles: a PEP reference (:PEP:`287`); an
+RFC reference (:RFC:`2822`); a :sub:`subscript`; a :sup:`superscript`;
+and explicit roles for :emphasis:`standard` :strong:`inline`
+:literal:`markup`.
+
+.. DO NOT RE-WRAP THE FOLLOWING PARAGRAPH!
+
+Let's test wrapping and whitespace significance in inline literals:
+``This is an example of --inline-literal --text, --including some--
+strangely--hyphenated-words. Adjust-the-width-of-your-browser-window
+to see how the text is wrapped. -- ---- -------- Now note the
+spacing between the words of this sentence (words
+should be grouped in pairs).``
+
+If the ``--pep-references`` option was supplied, there should be a
+live link to PEP 258 here.
+
+Bullet Lists
+------------
+
+- A bullet list
+
+ + Nested bullet list.
+ + Nested item 2.
+
+- Item 2.
+
+ Paragraph 2 of item 2.
+
+ * Nested bullet list.
+ * Nested item 2.
+
+ - Third level.
+ - Item 2.
+
+ * Nested item 3.
+
+ * This nested list should be compacted by the HTML writer.
+
+ .. _target:
+
+ .. Even if this item contains a target and a comment.
+
+Enumerated Lists
+----------------
+
+1. Arabic numerals.
+
+ a) lower alpha)
+
+ (i) (lower roman)
+
+ A. upper alpha.
+
+ I) upper roman)
+
+2. Lists that don't start at 1:
+
+ 3. Three
+
+ 4. Four
+
+ C. C
+
+ D. D
+
+ iii. iii
+
+ iv. iv
+
+Definition Lists
+----------------
+
+Term
+ Definition
+Term : classifier
+ Definition paragraph 1.
+
+ Definition paragraph 2.
+Term
+ Definition
+Term : classifier one : classifier two
+ Definition
+
+Field Lists
+-----------
+
+:what: Field lists map field names to field bodies, like database
+ records. They are often part of an extension syntax. They are
+ an unambiguous variant of RFC 2822 fields.
+
+:how arg1 arg2:
+
+ The field marker is a colon, the field name, and a colon.
+
+ The field body may contain one or more body elements, indented
+ relative to the field marker.
+
+:credits:
+
+ .. class:: credits
+
+ This paragraph has the `credits` class set. (This is actually not
+ about credits but just for ensuring that the class attribute
+ doesn't get stripped away.)
+
+Option Lists
+------------
+
+For listing command-line options:
+
+-a command-line option "a"
+-b file options can have arguments
+ and long descriptions
+--long options can be long also
+--input=file long options can also have
+ arguments
+
+--very-long-option
+ The description can also start on the next line.
+
+ The description may contain multiple body elements,
+ regardless of where it starts.
+
+-x, -y, -z Multiple options are an "option group".
+-v, --verbose Commonly-seen: short & long options.
+-1 file, --one=file, --two file
+ Multiple options with arguments.
+/V DOS/VMS-style options too
+
+There must be at least two spaces between the option and the
+description.
+
+Literal Blocks
+--------------
+
+Literal blocks are indicated with a double-colon ("::") at the end of
+the preceding paragraph (over there ``-->``). They can be indented::
+
+ if literal_block:
+ text = 'is left as-is'
+ spaces_and_linebreaks = 'are preserved'
+ markup_processing = None
+
+Or they can be quoted without indentation::
+
+>> Great idea!
+>
+> Why didn't I think of that?
+
+Line Blocks
+-----------
+
+This section tests line blocks. Line blocks are body elements which
+consist of lines and other line blocks. Nested line blocks cause
+indentation.
+
+| This is a line block. It ends with a blank line.
+| New lines begin with a vertical bar ("|").
+| Line breaks and initial indent are significant, and preserved.
+| Continuation lines are also possible. A long line that is intended
+ to wrap should begin with a space in place of the vertical bar.
+| The left edge of a continuation line need not be aligned with
+ the left edge of the text above it.
+
+| This is a second line block.
+|
+| Blank lines are permitted internally, but they must begin with a "|".
+
+Another line block, surrounded by paragraphs:
+
+| And it's no good waiting by the window
+| It's no good waiting for the sun
+| Please believe me, the things you dream of
+| They don't fall in the lap of no-one
+
+Take it away, Eric the Orchestra Leader!
+
+ | A one, two, a one two three four
+ |
+ | Half a bee, philosophically,
+ | must, *ipso facto*, half not be.
+ | But half the bee has got to be,
+ | *vis a vis* its entity. D'you see?
+ |
+ | But can a bee be said to be
+ | or not to be an entire bee,
+ | when half the bee is not a bee,
+ | due to some ancient injury?
+ |
+ | Singing...
+
+Block Quotes
+------------
+
+Block quotes consist of indented body elements:
+
+ My theory by A. Elk. Brackets Miss, brackets. This theory goes
+ as follows and begins now. All brontosauruses are thin at one
+ end, much much thicker in the middle and then thin again at the
+ far end. That is my theory, it is mine, and belongs to me and I
+ own it, and what it is too.
+
+ -- Anne Elk (Miss)
+
+Doctest Blocks
+--------------
+
+>>> print 'Python-specific usage examples; begun with ">>>"'
+Python-specific usage examples; begun with ">>>"
+>>> print '(cut and pasted from interactive Python sessions)'
+(cut and pasted from interactive Python sessions)
+
+Footnotes
+---------
+
+.. [1] A footnote contains body elements, consistently indented by at
+ least 3 spaces.
+
+ This is the footnote's second paragraph.
+
+.. [#label] Footnotes may be numbered, either manually (as in [1]_) or
+ automatically using a "#"-prefixed label. This footnote has a
+ label so it can be referred to from multiple places, both as a
+ footnote reference ([#label]_) and as a hyperlink reference
+ (label_).
+
+.. [#] This footnote is numbered automatically and anonymously using a
+ label of "#" only.
+
+ This is the second paragraph.
+
+ And this is the third paragraph.
+
+.. [*] Footnotes may also use symbols, specified with a "*" label.
+ Here's a reference to the next footnote: [*]_.
+
+.. [*] This footnote shows the next symbol in the sequence.
+
+.. [4] Here's an unreferenced footnote, with a reference to a
+ nonexistent footnote: [5]_.
+
+Citations
+---------
+
+.. [CIT2002] Citations are text-labeled footnotes. They may be
+ rendered separately and differently from footnotes.
+
+Here's a reference to the above, [CIT2002]_, and a [nonexistent]_
+citation.
+
+Targets
+-------
+
+.. _example:
+
+This paragraph is pointed to by the explicit "example" target. A
+reference can be found under `Inline Markup`_, above. `Inline
+hyperlink targets`_ are also possible.
+
+Section headers are implicit targets, referred to by name. See
+Targets_, which is a subsection of `Body Elements`_.
+
+Explicit external targets are interpolated into references such as
+"Python_".
+
+.. _Python: http://www.python.org/
+
+Targets may be indirect and anonymous. Thus `this phrase`__ may also
+refer to the Targets_ section.
+
+__ Targets_
+
+Here's a `hyperlink reference without a target`_, which generates an
+error.
+
+And another phrase__ pointing to an anonymous hyperlink.
+
+__ http://www.example.com/
+
+Duplicate Target Names
+``````````````````````
+
+Duplicate names in section headers or other implicit targets will
+generate "info" (level-1) system messages. Duplicate names in
+explicit targets will generate "warning" (level-2) system messages.
+
+Duplicate Target Names
+``````````````````````
+
+Since there are two "Duplicate Target Names" section headers, we
+cannot uniquely refer to either of them by name. If we try to (like
+this: `Duplicate Target Names`_), an error is generated.
+
+Directives
+----------
+
+.. contents:: :local:
+
+These are just a sample of the many reStructuredText Directives. For
+others, please see
+http://docutils.sourceforge.net/docs/ref/rst/directives.html.
+
+Document Parts
+``````````````
+
+An example of the "contents" directive can be seen above this section
+(a local, untitled table of contents_) and at the beginning of the
+document (a document-wide `table of contents`_).
+
+Images
+``````
+
+An image directive (also clickable -- a hyperlink reference):
+
+.. image:: ../../../docs/user/rst/images/title.png
+ :target: directives_
+
+.. image:: ../../../docs/user/rst/images/title.png
+ :target: http://www.merten-home.de/
+
+A figure directive:
+
+.. figure:: ../../../docs/user/rst/images/title.png
+ :alt: reStructuredText, the markup syntax
+
+ A figure is an image with a caption and/or a legend:
+
+ +------------+-----------------------------------------------+
+ | re | Revised, revisited, based on 're' module. |
+ +------------+-----------------------------------------------+
+ | Structured | Structure-enhanced text, structuredtext. |
+ +------------+-----------------------------------------------+
+ | Text | Well it is, isn't it? |
+ +------------+-----------------------------------------------+
+
+ This paragraph is also part of the legend.
+
+Admonitions
+```````````
+
+.. Attention:: Directives at large.
+
+.. Caution::
+
+ Don't take any wooden nickels.
+
+.. DANGER:: Mad scientist at work!
+
+.. Error:: Does not compute.
+
+.. Hint:: It's bigger than a bread box.
+
+.. Important::
+ - Wash behind your ears.
+ - Clean up your room.
+ - Call your mother.
+ - Back up your data.
+
+.. Note:: This is a note.
+
+.. Tip:: 15% if the service is good.
+
+.. WARNING:: Strong prose may provoke extreme mental exertion.
+ Reader discretion is strongly advised.
+
+.. admonition:: And, by the way...
+
+ You can make up your own admonition too.
+
+Topics, Sidebars, and Rubrics
+`````````````````````````````
+
+.. sidebar:: Sidebar Title
+ :subtitle: Optional Subtitle
+
+ This is a sidebar. It is for text outside the flow of the main
+ text.
+
+ .. rubric:: This is a rubric inside a sidebar
+
+ Sidebars often appears beside the main text with a border and
+ background color.
+
+.. topic:: Topic Title
+
+ This is a topic.
+
+.. rubric:: This is a rubric
+
+Target Footnotes
+````````````````
+
+.. target-notes::
+
+
+Replacement Text
+````````````````
+
+I recommend you try |Python|_.
+
+.. |Python| replace:: Python, *the* best language around
+
+Compound Paragraph
+``````````````````
+
+.. compound::
+ :class: some-class
+
+ Compound 1, paragraph 1.
+
+ Compound 1, paragraph 2.
+
+ * Compound 1, list item one.
+ * Compound 1, list item two.
+
+Another compound statement:
+
+.. compound::
+
+ Compound 2, a literal block::
+
+ Compound 2, literal.
+
+ Compound 2, this is a test.
+
+.. compound::
+
+ Compound 3, only consisting of one paragraph.
+
+.. compound::
+
+ ::
+
+ Compound 4.
+ This one starts with a literal block.
+
+ Compound 4, a paragraph.
+
+Now something *really* perverted -- a nested compound block. In
+LaTeX, the following paragraphs should all be first-line indented:
+
+.. compound::
+
+ Compound 5, block 1 (a paragraph).
+
+ .. compound::
+
+ Compound 6, block 2 in compound 5.
+
+ Compound 6, another paragraph.
+
+ Compound 5, block 3 (a paragraph).
+
+.. compound::
+
+ Compound 7, with a table inside:
+
+ +--------------------+--------------------+--------------------+
+ | Left cell, first | Middle cell, | Right cell. |
+ | paragraph. | consisting of | |
+ | | exactly one | Paragraph 2. |
+ | Left cell, second | paragraph. | |
+ | paragraph. | | Paragraph 3. |
+ +--------------------+--------------------+--------------------+
+
+ Compound 7, a paragraph after the table.
+
+ Compound 7, another paragraph.
+
+Substitution Definitions
+------------------------
+
+An inline image (|example|) example:
+
+.. |EXAMPLE| image:: ../../../docs/user/rst/images/biohazard.png
+
+(Substitution definitions are not visible in the HTML source.)
+
+Comments
+--------
+
+Here's one:
+
+.. Comments begin with two dots and a space. Anything may
+ follow, except for the syntax of footnotes, hyperlink
+ targets, directives, or substitution definitions.
+
+ Double-dashes -- "--" -- must be escaped somehow in HTML output.
+
+(View the HTML source to see the comment.)
+
+Raw text
+--------
+
+This does not necessarily look nice, because there may be missing white space.
+
+It's just there to freeze the behavior.
+
+.. raw:: html latex
+
+ A test.
+
+.. raw:: html latex
+
+ Second test.
+
+.. class:: myclass
+
+.. raw:: html latex
+
+ Another test with myclass set.
+
+.. role:: raw-role(raw)
+ :format: html latex
+ :class: myrawroleclass
+
+This is the :raw-role:`fourth test` with myrawroleclass set.
+
+.. raw:: html
+
+ Fifth test in HTML.<br />Line two.
+
+.. raw:: latex
+
+ Fifth test in LaTeX.\\Line two.
diff --git a/sandbox/xml2rst/tests/synthetic/original/standard_r6008.rst b/sandbox/xml2rst/tests/synthetic/original/standard_r6008.rst
new file mode 100644
index 000000000..cb4c9d177
--- /dev/null
+++ b/sandbox/xml2rst/tests/synthetic/original/standard_r6008.rst
@@ -0,0 +1,774 @@
+.. This is a comment. Note how any initial comments are moved by
+ transforms to after the document title, subtitle, and docinfo.
+
+.. _doctitle:
+
+================================
+ reStructuredText Test Document
+================================
+
+.. Above is the document title, and below is the subtitle.
+ They are transformed from section titles after parsing.
+
+.. _subtitle:
+
+--------------------------------
+ Examples of Syntax Constructs
+--------------------------------
+
+.. bibliographic fields (which also require a transform):
+
+:Author: David Goodger
+:Address: 123 Example Street
+ Example, EX Canada
+ A1B 2C3
+:Contact: goodger@python.org
+:Authors: Me; Myself; I
+:organization: humankind
+:date: Now, or yesterday. Or maybe even *before* yesterday.
+:status: This is a "work in progress"
+:revision: is managed by a version control system.
+:version: 1
+:copyright: This document has been placed in the public domain. You
+ may do with it as you wish. You may copy, modify,
+ redistribute, reattribute, sell, buy, rent, lease,
+ destroy, or improve it, quote it at length, excerpt,
+ incorporate, collate, fold, staple, or mutilate it, or do
+ anything else to it that your or anyone else's heart
+ desires.
+:field name: This is a "generic bibliographic field".
+:field name "2":
+ Generic bibliographic fields may contain multiple body elements.
+
+ Like this.
+
+:Dedication:
+
+ For Docutils users & co-developers.
+
+:abstract:
+
+ This is a test document, containing at least one example of each
+ reStructuredText construct.
+
+.. meta::
+ :keywords: reStructuredText, test, parser
+ :description lang=en: A test document, containing at least one
+ example of each reStructuredText construct.
+
+.. contents:: Table of Contents
+.. section-numbering::
+
+
+Structural Elements
+===================
+
+Section Title
+-------------
+Section Subtitle
+````````````````
+
+That's it, the text just above this line.
+
+Empty Section
+-------------
+
+Transitions
+-----------
+
+Here's a transition:
+
+---------
+
+It divides the section. Transitions may also occur between sections:
+
+---------
+
+Body Elements
+=============
+
+Paragraphs
+----------
+
+A paragraph.
+
+Inline Markup
+`````````````
+
+Paragraphs contain text and may contain inline markup: *emphasis*,
+**strong emphasis**, ``inline literals``, standalone hyperlinks
+(http://www.python.org), external hyperlinks (Python_), internal
+cross-references (example_), external hyperlinks with embedded URIs
+(`Python web site <http://www.python.org>`__), `anonymous hyperlink
+references`__ (`a second reference`__), footnote references (manually
+numbered [1]_, anonymous auto-numbered [#]_, labeled auto-numbered
+[#label]_, or symbolic [*]_), citation references ([CIT2002]_),
+substitution references (|example|), and _`inline hyperlink targets`
+(see Targets_ below for a reference back to here). Character-level
+inline markup is also possible (although exceedingly ugly!) in *re*\
+``Structured``\ *Text*. Problems are indicated by |problematic| text
+(generated by processing errors; this one is intentional). Here is a
+reference to the doctitle_ and the subtitle_.
+
+__ http://www.python.org/
+__ http://docutils.sourceforge.net/
+
+The default role for interpreted text is `Title Reference`. Here are
+some explicit interpreted text roles: a PEP reference (:PEP:`287`); an
+RFC reference (:RFC:`2822`); a :sub:`subscript`; a :sup:`superscript`;
+and explicit roles for :emphasis:`standard` :strong:`inline`
+:literal:`markup`.
+
+.. DO NOT RE-WRAP THE FOLLOWING PARAGRAPH!
+
+Let's test wrapping and whitespace significance in inline literals:
+``This is an example of --inline-literal --text, --including some--
+strangely--hyphenated-words. Adjust-the-width-of-your-browser-window
+to see how the text is wrapped. -- ---- -------- Now note the
+spacing between the words of this sentence (words
+should be grouped in pairs).``
+
+If the ``--pep-references`` option was supplied, there should be a
+live link to PEP 258 here.
+
+Bullet Lists
+------------
+
+- A bullet list
+
+ + Nested bullet list.
+ + Nested item 2.
+
+- Item 2.
+
+ Paragraph 2 of item 2.
+
+ * Nested bullet list.
+ * Nested item 2.
+
+ - Third level.
+ - Item 2.
+
+ * Nested item 3.
+
+ * This nested list should be compacted by the HTML writer.
+
+ .. _target:
+
+ .. Even if this item contains a target and a comment.
+
+Enumerated Lists
+----------------
+
+1. Arabic numerals.
+
+ a) lower alpha)
+
+ (i) (lower roman)
+
+ A. upper alpha.
+
+ I) upper roman)
+
+2. Lists that don't start at 1:
+
+ 3. Three
+
+ 4. Four
+
+ C. C
+
+ D. D
+
+ iii. iii
+
+ iv. iv
+
+Definition Lists
+----------------
+
+Term
+ Definition
+Term : classifier
+ Definition paragraph 1.
+
+ Definition paragraph 2.
+Term
+ Definition
+Term : classifier one : classifier two
+ Definition
+
+Field Lists
+-----------
+
+:what: Field lists map field names to field bodies, like database
+ records. They are often part of an extension syntax. They are
+ an unambiguous variant of RFC 2822 fields.
+
+:how arg1 arg2:
+
+ The field marker is a colon, the field name, and a colon.
+
+ The field body may contain one or more body elements, indented
+ relative to the field marker.
+
+:credits:
+
+ .. class:: credits
+
+ This paragraph has the `credits` class set. (This is actually not
+ about credits but just for ensuring that the class attribute
+ doesn't get stripped away.)
+
+Option Lists
+------------
+
+For listing command-line options:
+
+-a command-line option "a"
+-b file options can have arguments
+ and long descriptions
+--long options can be long also
+--input=file long options can also have
+ arguments
+
+--very-long-option
+ The description can also start on the next line.
+
+ The description may contain multiple body elements,
+ regardless of where it starts.
+
+-x, -y, -z Multiple options are an "option group".
+-v, --verbose Commonly-seen: short & long options.
+-1 file, --one=file, --two file
+ Multiple options with arguments.
+/V DOS/VMS-style options too
+
+There must be at least two spaces between the option and the
+description.
+
+Literal Blocks
+--------------
+
+Literal blocks are indicated with a double-colon ("::") at the end of
+the preceding paragraph (over there ``-->``). They can be indented::
+
+ if literal_block:
+ text = 'is left as-is'
+ spaces_and_linebreaks = 'are preserved'
+ markup_processing = None
+
+Or they can be quoted without indentation::
+
+>> Great idea!
+>
+> Why didn't I think of that?
+
+Line Blocks
+-----------
+
+This section tests line blocks. Line blocks are body elements which
+consist of lines and other line blocks. Nested line blocks cause
+indentation.
+
+| This is a line block. It ends with a blank line.
+| New lines begin with a vertical bar ("|").
+| Line breaks and initial indent are significant, and preserved.
+| Continuation lines are also possible. A long line that is intended
+ to wrap should begin with a space in place of the vertical bar.
+| The left edge of a continuation line need not be aligned with
+ the left edge of the text above it.
+
+| This is a second line block.
+|
+| Blank lines are permitted internally, but they must begin with a "|".
+
+Another line block, surrounded by paragraphs:
+
+| And it's no good waiting by the window
+| It's no good waiting for the sun
+| Please believe me, the things you dream of
+| They don't fall in the lap of no-one
+
+Take it away, Eric the Orchestra Leader!
+
+ | A one, two, a one two three four
+ |
+ | Half a bee, philosophically,
+ | must, *ipso facto*, half not be.
+ | But half the bee has got to be,
+ | *vis a vis* its entity. D'you see?
+ |
+ | But can a bee be said to be
+ | or not to be an entire bee,
+ | when half the bee is not a bee,
+ | due to some ancient injury?
+ |
+ | Singing...
+
+Block Quotes
+------------
+
+Block quotes consist of indented body elements:
+
+ My theory by A. Elk. Brackets Miss, brackets. This theory goes
+ as follows and begins now. All brontosauruses are thin at one
+ end, much much thicker in the middle and then thin again at the
+ far end. That is my theory, it is mine, and belongs to me and I
+ own it, and what it is too.
+
+ -- Anne Elk (Miss)
+
+Doctest Blocks
+--------------
+
+>>> print 'Python-specific usage examples; begun with ">>>"'
+Python-specific usage examples; begun with ">>>"
+>>> print '(cut and pasted from interactive Python sessions)'
+(cut and pasted from interactive Python sessions)
+
+Footnotes
+---------
+
+.. [1] A footnote contains body elements, consistently indented by at
+ least 3 spaces.
+
+ This is the footnote's second paragraph.
+
+.. [#label] Footnotes may be numbered, either manually (as in [1]_) or
+ automatically using a "#"-prefixed label. This footnote has a
+ label so it can be referred to from multiple places, both as a
+ footnote reference ([#label]_) and as a `hyperlink reference`__.
+
+ __ label_
+
+.. [#] This footnote is numbered automatically and anonymously using a
+ label of "#" only.
+
+ This is the second paragraph.
+
+ And this is the third paragraph.
+
+.. [*] Footnotes may also use symbols, specified with a "*" label.
+ Here's a reference to the next footnote: [*]_.
+
+.. [*] This footnote shows the next symbol in the sequence.
+
+.. [4] Here's an unreferenced footnote, with a reference to a
+ nonexistent footnote: [5]_.
+
+Citations
+---------
+
+.. [CIT2002] Citations are text-labeled footnotes. They may be
+ rendered separately and differently from footnotes.
+
+Here's a reference to the above, [CIT2002]_, and a [nonexistent]_
+citation.
+
+.. _Another Target:
+
+Targets
+-------
+
+.. _example:
+
+This paragraph is pointed to by the explicit "example" target. A
+reference can be found under `Inline Markup`_, above. `Inline
+hyperlink targets`_ are also possible.
+
+Section headers are implicit targets, referred to by name. See
+Targets_, which is a subsection of `Body Elements`_.
+
+Explicit external targets are interpolated into references such as
+"Python_".
+
+.. _Python: http://www.python.org/
+
+Targets may be indirect and anonymous. Thus `this phrase`__ may also
+refer to the Targets_ section.
+
+__ Targets_
+
+Here's a `hyperlink reference without a target`_, which generates an
+error.
+
+Duplicate Target Names
+``````````````````````
+
+Duplicate names in section headers or other implicit targets will
+generate "info" (level-1) system messages. Duplicate names in
+explicit targets will generate "warning" (level-2) system messages.
+
+Duplicate Target Names
+``````````````````````
+
+Since there are two "Duplicate Target Names" section headers, we
+cannot uniquely refer to either of them by name. If we try to (like
+this: `Duplicate Target Names`_), an error is generated.
+
+Directives
+----------
+
+.. contents:: :local:
+
+These are just a sample of the many reStructuredText Directives. For
+others, please see
+http://docutils.sourceforge.net/docs/ref/rst/directives.html.
+
+Document Parts
+``````````````
+
+An example of the "contents" directive can be seen above this section
+(a local, untitled table of contents_) and at the beginning of the
+document (a document-wide `table of contents`_).
+
+Images and Figures
+``````````````````
+
+An image directive (also clickable -- a hyperlink reference):
+
+.. image:: ../../../docs/user/rst/images/title.png
+ :class: class1 class2
+ :target: directives_
+
+Image with multiple IDs:
+
+.. _image target 1:
+.. _image target 2:
+.. _image target 3:
+.. image:: ../../../docs/user/rst/images/title.png
+
+A centered image:
+
+.. image:: ../../../docs/user/rst/images/biohazard.png
+ :align: center
+
+A left-aligned image:
+
+.. image:: ../../../docs/user/rst/images/biohazard.png
+ :align: left
+
+This paragraph might flow around the image.
+The specific behavior depends upon the style sheet and
+the browser or rendering software used.
+
+A right-aligned image:
+
+.. image:: ../../../docs/user/rst/images/biohazard.png
+ :align: right
+
+This paragraph might flow around the image.
+The specific behavior depends upon the style sheet and
+the browser or rendering software used.
+
+For inline images see `Substitution Definitions`_.
+
+Image size:
+
+An image 2 em wide:
+
+.. image:: ../../../docs/user/rst/images/biohazard.png
+ :width: 2 em
+
+An image 2 em wide and 15 pixel high:
+
+.. image:: ../../../docs/user/rst/images/biohazard.png
+ :width: 2em
+ :height: 15 px
+
+An image occupying 50% of the line width:
+
+.. image:: ../../../docs/user/rst/images/title.png
+ :width: 50%
+
+An image 2 cm high:
+
+.. image:: ../../../docs/user/rst/images/biohazard.png
+ :height: 2 cm
+
+A *figure* is an image with a caption and/or a legend. With page-based output
+media, figures might float to a different position if this helps the page
+layout.
+
+.. figure:: ../../../docs/user/rst/images/title.png
+ :figclass: figclass1 figclass2
+ :class: class1 class2
+ :alt: reStructuredText, the markup syntax
+ :width: 258
+
+ Plaintext markup syntax and parser system.
+
+ +------------+-----------------------------------------------+
+ | re | Revised, revisited, based on 're' module. |
+ +------------+-----------------------------------------------+
+ | Structured | Structure-enhanced text, structuredtext. |
+ +------------+-----------------------------------------------+
+ | Text | Well it is, isn't it? |
+ +------------+-----------------------------------------------+
+
+ This paragraph is also part of the legend.
+
+A left-aligned figure:
+
+.. figure:: ../../../docs/user/rst/images/biohazard.png
+ :figclass: figclass1 figclass2
+ :class: class1 class2
+ :alt: reStructuredText, the markup syntax
+ :align: left
+ :width: 50
+
+ This is the caption.
+
+ This is the legend.
+
+ The legend may consist of several paragraphs.
+
+This paragraph might flow around the figure. The specific behavior depends
+upon the style sheet and the browser or rendering software used.
+
+A centered figure:
+
+.. figure:: ../../../docs/user/rst/images/biohazard.png
+ :align: center
+ :width: 50
+
+ This is the caption.
+
+ This is the legend.
+
+ The legend may consist of several paragraphs.
+
+This paragraph might flow around the figure. The specific behavior depends
+upon the style sheet and the browser or rendering software used.
+
+A right-aligned figure:
+
+.. figure:: ../../../docs/user/rst/images/biohazard.png
+ :align: right
+ :width: 50
+
+ This is the caption.
+
+ This is the legend.
+
+ The legend may consist of several paragraphs.
+
+This paragraph might flow around the figure. The specific behavior depends
+upon the style sheet and the browser or rendering software used.
+
+
+Admonitions
+```````````
+
+.. Attention:: Directives at large.
+
+.. Caution::
+
+ Don't take any wooden nickels.
+
+.. DANGER:: Mad scientist at work!
+
+.. Error:: Does not compute.
+
+.. Hint:: It's bigger than a bread box.
+
+.. Important::
+ - Wash behind your ears.
+ - Clean up your room.
+ - Call your mother.
+ - Back up your data.
+
+.. Note:: This is a note.
+
+.. Tip:: 15% if the service is good.
+
+.. WARNING:: Strong prose may provoke extreme mental exertion.
+ Reader discretion is strongly advised.
+
+.. admonition:: And, by the way...
+
+ You can make up your own admonition too.
+
+ .. _Docutils: http://docutils.sourceforge.net/
+
+Topics, Sidebars, and Rubrics
+`````````````````````````````
+
+.. sidebar:: Sidebar Title
+ :subtitle: Optional Subtitle
+
+ This is a sidebar. It is for text outside the flow of the main
+ text.
+
+ .. rubric:: This is a rubric inside a sidebar
+
+ Sidebars often appears beside the main text with a border and
+ background color.
+
+.. topic:: Topic Title
+
+ This is a topic.
+
+.. rubric:: This is a rubric
+
+Target Footnotes
+````````````````
+
+.. target-notes::
+
+
+Replacement Text
+````````````````
+
+I recommend you try |Python|_.
+
+.. |Python| replace:: Python, *the* best language around
+
+Compound Paragraph
+``````````````````
+
+.. compound::
+ :class: some-class
+
+ Compound 1, paragraph 1.
+
+ Compound 1, paragraph 2.
+
+ * Compound 1, list item one.
+ * Compound 1, list item two.
+
+Another compound statement:
+
+.. compound::
+
+ Compound 2, a literal block::
+
+ Compound 2, literal.
+
+ Compound 2, this is a test.
+
+.. compound::
+
+ Compound 3, only consisting of one paragraph.
+
+.. compound::
+
+ ::
+
+ Compound 4.
+ This one starts with a literal block.
+
+ Compound 4, a paragraph.
+
+Now something *really* perverted -- a nested compound block. This is
+just to test that it works at all; the results don't have to be
+meaningful.
+
+.. compound::
+
+ Compound 5, block 1 (a paragraph).
+
+ .. compound::
+
+ Compound 6, block 2 in compound 5.
+
+ Compound 6, another paragraph.
+
+ Compound 5, block 3 (a paragraph).
+
+.. compound::
+
+ Compound 7, with a table inside:
+
+ +--------------------+--------------------+--------------------+
+ | Left cell, first | Middle cell, | Right cell. |
+ | paragraph. | consisting of | |
+ | | exactly one | Paragraph 2. |
+ | Left cell, second | paragraph. | |
+ | paragraph. | | Paragraph 3. |
+ +--------------------+--------------------+--------------------+
+
+ Compound 7, a paragraph after the table.
+
+ Compound 7, another paragraph.
+
+Parsed Literal Blocks
+`````````````````````
+
+.. parsed-literal::
+
+ This is a parsed literal block.
+ This line is indented. The next line is blank.
+
+ Inline markup is supported, e.g. *emphasis*, **strong**, ``literal
+ text``, footnotes [1]_, _`hyperlink targets`, and `references
+ <http://www.python.org/>`_.
+
+Substitution Definitions
+------------------------
+
+An inline image (|example|) example:
+
+.. |EXAMPLE| image:: ../../../docs/user/rst/images/biohazard.png
+
+(Substitution definitions are not visible in the HTML source.)
+
+Comments
+--------
+
+Here's one:
+
+.. Comments begin with two dots and a space. Anything may
+ follow, except for the syntax of footnotes, hyperlink
+ targets, directives, or substitution definitions.
+
+ Double-dashes -- "--" -- must be escaped somehow in HTML output.
+
+ Comments may contain non-ASCII characters: ä ö ü æ ø å
+
+(View the HTML source to see the comment.)
+
+Raw text
+--------
+
+This does not necessarily look nice, because there may be missing white space.
+
+It's just there to freeze the behavior.
+
+.. raw:: html latex
+
+ A test.
+
+.. raw:: html latex
+
+ Second test.
+
+.. class:: myclass
+
+.. raw:: html latex
+
+ Another test with myclass set.
+
+.. role:: raw-role(raw)
+ :format: html latex
+ :class: myrawroleclass
+
+This is the :raw-role:`fourth test` with myrawroleclass set.
+
+.. raw:: html
+
+ Fifth test in HTML.<br />Line two.
+
+.. raw:: latex
+
+ Fifth test in LaTeX.\\Line two.
+
+Container
+---------
+
+.. container:: custom
+
+ paragraph 1
+
+ paragraph 2
diff --git a/sandbox/xml2rst/tests/synthetic/readable/class.xml b/sandbox/xml2rst/tests/synthetic/readable/class.xml
new file mode 100644
index 000000000..da1d37784
--- /dev/null
+++ b/sandbox/xml2rst/tests/synthetic/readable/class.xml
@@ -0,0 +1,1000 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by Docutils 0.8 -->
+<document classes="c1 c2" ids="restructuredtext-test-document" names="restructuredtext\ test\ document" source="original/class.rst" title="reStructuredText Test Document">
+ <title>
+ reStructuredText Test Document
+ </title>
+ <subtitle classes="c3" ids="examples-of-syntax-constructs" names="examples\ of\ syntax\ constructs">
+ Examples of Syntax Constructs
+ </subtitle>
+ <docinfo>
+ <author>
+ David Goodger
+ </author>
+ </docinfo>
+ <comment xml:space="preserve">
+ bibliographic fields (which also require a transform):
+ </comment>
+ <field_list classes="c5">
+ <field>
+ <field_name>
+ Address
+ </field_name>
+ <field_body>
+ <paragraph>
+ 123 Example Street Example, EX Canada A1B 2C3
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ Contact
+ </field_name>
+ <field_body>
+ <paragraph>
+ <reference refuri="mailto:goodger@users.sourceforge.net">
+ goodger@users.sourceforge.net
+ </reference>
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ Authors
+ </field_name>
+ <field_body>
+ <paragraph>
+ Me; Myself; I
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ organization
+ </field_name>
+ <field_body>
+ <paragraph>
+ humankind
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ date
+ </field_name>
+ <field_body>
+ <paragraph>
+ Now, or yesterday. Or maybe even
+ <emphasis>
+ before
+ </emphasis>
+ yesterday.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ status
+ </field_name>
+ <field_body>
+ <paragraph>
+ This is a &quot;work in progress&quot;
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ revision
+ </field_name>
+ <field_body>
+ <paragraph>
+ is managed by a version control system.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ version
+ </field_name>
+ <field_body>
+ <paragraph>
+ 1
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ copyright
+ </field_name>
+ <field_body>
+ <paragraph>
+ This document has been placed in the public domain. You may do with
+it as you wish. You may copy, modify, redistribute, reattribute,
+sell, buy, rent, lease, destroy, or improve it, quote it at length,
+excerpt, incorporate, collate, fold, staple, or mutilate it, or do
+anything else to it that your or anyone else's heart desires.
+ </paragraph>
+ </field_body>
+ </field>
+ </field_list>
+ <field_list classes="c6">
+ <field>
+ <field_name>
+ field name
+ </field_name>
+ <field_body>
+ <paragraph>
+ This is a &quot;generic bibliographic field&quot;.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ field name &quot;2&quot;
+ </field_name>
+ <field_body>
+ <paragraph>
+ Generic bibliographic fields may contain multiple body elements.
+ </paragraph>
+ <paragraph classes="c7">
+ Like this.
+ </paragraph>
+ </field_body>
+ </field>
+ </field_list>
+ <field_list classes="c8">
+ <field>
+ <field_name>
+ Dedication
+ </field_name>
+ <field_body>
+ <paragraph classes="c9">
+ For Docutils users &amp; co-developers.
+ </paragraph>
+ </field_body>
+ </field>
+ </field_list>
+ <field_list classes="c10">
+ <field>
+ <field_name>
+ abstract
+ </field_name>
+ <field_body>
+ <paragraph>
+ This is a test document, containing at least one example of each
+reStructuredText construct.
+ </paragraph>
+ </field_body>
+ </field>
+ </field_list>
+ <topic classes="contents c12 c11" ids="table-of-contents" names="table\ of\ contents">
+ <title>
+ Table of Contents
+ </title>
+ <bullet_list classes="auto-toc">
+ <list_item>
+ <paragraph>
+ <reference ids="id9" refid="structural-elements">
+ <generated classes="sectnum">
+ 1   
+ </generated>
+ Structural Elements
+ </reference>
+ </paragraph>
+ <bullet_list classes="auto-toc">
+ <list_item>
+ <paragraph>
+ <reference ids="id10" refid="section-title">
+ <generated classes="sectnum">
+ 1.1   
+ </generated>
+ Section Title
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id11" refid="bullet-lists">
+ <generated classes="sectnum">
+ 1.2   
+ </generated>
+ Bullet Lists
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id12" refid="enumerated-lists">
+ <generated classes="sectnum">
+ 1.3   
+ </generated>
+ Enumerated Lists
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id13" refid="definition-lists">
+ <generated classes="sectnum">
+ 1.4   
+ </generated>
+ Definition Lists
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id14" refid="field-lists">
+ <generated classes="sectnum">
+ 1.5   
+ </generated>
+ Field Lists
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id15" refid="option-lists">
+ <generated classes="sectnum">
+ 1.6   
+ </generated>
+ Option Lists
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id16" refid="literal-blocks">
+ <generated classes="sectnum">
+ 1.7   
+ </generated>
+ Literal Blocks
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id17" refid="line-blocks">
+ <generated classes="sectnum">
+ 1.8   
+ </generated>
+ Line Blocks
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id18" refid="block-quotes">
+ <generated classes="sectnum">
+ 1.9   
+ </generated>
+ Block Quotes
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id19" refid="doctest-blocks">
+ <generated classes="sectnum">
+ 1.10   
+ </generated>
+ Doctest Blocks
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id20" refid="footnotes">
+ <generated classes="sectnum">
+ 1.11   
+ </generated>
+ Footnotes
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id21" refid="citations">
+ <generated classes="sectnum">
+ 1.12   
+ </generated>
+ Citations
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id22" refid="targets">
+ <generated classes="sectnum">
+ 1.13   
+ </generated>
+ Targets
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id23" refid="directives">
+ <generated classes="sectnum">
+ 1.14   
+ </generated>
+ Directives
+ </reference>
+ </paragraph>
+ <bullet_list classes="auto-toc">
+ <list_item>
+ <paragraph>
+ <reference ids="id24" refid="images">
+ <generated classes="sectnum">
+ 1.14.1   
+ </generated>
+ Images
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id25" refid="admonitions">
+ <generated classes="sectnum">
+ 1.14.2   
+ </generated>
+ Admonitions
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id26" refid="topics-sidebars-and-rubrics">
+ <generated classes="sectnum">
+ 1.14.3   
+ </generated>
+ Topics, Sidebars, and Rubrics
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id27" refid="compound-paragraph">
+ <generated classes="sectnum">
+ 1.14.4   
+ </generated>
+ Compound Paragraph
+ </reference>
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </list_item>
+ </bullet_list>
+ </list_item>
+ </bullet_list>
+ </topic>
+ <section classes="c13" ids="structural-elements" names="structural\ elements">
+ <title auto="1" refid="id9">
+ <generated classes="sectnum">
+ 1   
+ </generated>
+ Structural Elements
+ </title>
+ <section classes="c14" ids="section-title" names="section\ title">
+ <title auto="1" refid="id10">
+ <generated classes="sectnum">
+ 1.1   
+ </generated>
+ Section Title
+ </title>
+ <paragraph classes="c15">
+ That's it, the text just above this line.
+ </paragraph>
+ <transition classes="c16"/>
+ <paragraph classes="c17">
+ A paragraph.
+ </paragraph>
+ </section>
+ <section ids="bullet-lists" names="bullet\ lists">
+ <title auto="1" refid="id11">
+ <generated classes="sectnum">
+ 1.2   
+ </generated>
+ Bullet Lists
+ </title>
+ <bullet_list bullet="-" classes="c18">
+ <list_item>
+ <paragraph>
+ A bullet list
+ </paragraph>
+ <bullet_list bullet="+" classes="c19">
+ <list_item>
+ <paragraph>
+ Nested bullet list.
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ <bullet_list bullet="+" classes="c20">
+ <list_item>
+ <paragraph>
+ Nested item 2.
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </list_item>
+ </bullet_list>
+ </section>
+ <section ids="enumerated-lists" names="enumerated\ lists">
+ <title auto="1" refid="id12">
+ <generated classes="sectnum">
+ 1.3   
+ </generated>
+ Enumerated Lists
+ </title>
+ <enumerated_list classes="c21" enumtype="arabic" prefix="" suffix=".">
+ <list_item>
+ <paragraph>
+ Arabic numerals.
+ </paragraph>
+ <enumerated_list classes="c22" enumtype="loweralpha" prefix="" suffix=")">
+ <list_item>
+ <paragraph>
+ lower alpha)
+ </paragraph>
+ </list_item>
+ </enumerated_list>
+ </list_item>
+ </enumerated_list>
+ </section>
+ <section ids="definition-lists" names="definition\ lists">
+ <title auto="1" refid="id13">
+ <generated classes="sectnum">
+ 1.4   
+ </generated>
+ Definition Lists
+ </title>
+ <definition_list classes="c23">
+ <definition_list_item>
+ <term>
+ Term
+ </term>
+ <definition>
+ <paragraph classes="c24">
+ Definition
+ </paragraph>
+ </definition>
+ </definition_list_item>
+ </definition_list>
+ </section>
+ <section ids="field-lists" names="field\ lists">
+ <title auto="1" refid="id14">
+ <generated classes="sectnum">
+ 1.5   
+ </generated>
+ Field Lists
+ </title>
+ <field_list classes="c25">
+ <field>
+ <field_name>
+ how arg1 arg2
+ </field_name>
+ <field_body>
+ <paragraph classes="c26">
+ The field marker is a colon, the field name, and a colon.
+ </paragraph>
+ <paragraph classes="c27">
+ The field body may contain one or more body elements, indented
+relative to the field marker.
+ </paragraph>
+ </field_body>
+ </field>
+ </field_list>
+ </section>
+ <section ids="option-lists" names="option\ lists">
+ <title auto="1" refid="id15">
+ <generated classes="sectnum">
+ 1.6   
+ </generated>
+ Option Lists
+ </title>
+ <paragraph>
+ For listing command-line options:
+ </paragraph>
+ <option_list classes="c28">
+ <option_list_item>
+ <option_group>
+ <option>
+ <option_string>
+ -a
+ </option_string>
+ </option>
+ </option_group>
+ <description>
+ <paragraph>
+ command-line option &quot;a&quot;
+ </paragraph>
+ </description>
+ </option_list_item>
+ </option_list>
+ <option_list classes="c29">
+ <option_list_item>
+ <option_group>
+ <option>
+ <option_string>
+ -x
+ </option_string>
+ </option>
+ <option>
+ <option_string>
+ -y
+ </option_string>
+ </option>
+ <option>
+ <option_string>
+ -z
+ </option_string>
+ </option>
+ </option_group>
+ <description>
+ <paragraph>
+ Multiple options are an &quot;option group&quot;.
+ </paragraph>
+ </description>
+ </option_list_item>
+ </option_list>
+ </section>
+ <section ids="literal-blocks" names="literal\ blocks">
+ <title auto="1" refid="id16">
+ <generated classes="sectnum">
+ 1.7   
+ </generated>
+ Literal Blocks
+ </title>
+ <paragraph>
+ Literal blocks are indicated with a double-colon (&quot;::&quot;) at the end of
+the preceding paragraph (over there
+ <literal>
+ --&gt;
+ </literal>
+ ). They can be indented
+ </paragraph>
+ <literal_block classes="c30" xml:space="preserve">
+ if literal_block:
+ text = 'is left as-is'
+ spaces_and_linebreaks = 'are preserved'
+ markup_processing = None
+ </literal_block>
+ <paragraph>
+ Or they can be quoted without indentation
+ </paragraph>
+ <literal_block classes="c31" xml:space="preserve">
+ &gt;&gt; Great idea!
+&gt;
+&gt; Why didn't I think of that?
+ </literal_block>
+ </section>
+ <section ids="line-blocks" names="line\ blocks">
+ <title auto="1" refid="id17">
+ <generated classes="sectnum">
+ 1.8   
+ </generated>
+ Line Blocks
+ </title>
+ <paragraph>
+ This section tests line blocks. Line blocks are body elements which
+consist of lines and other line blocks. Nested line blocks cause
+indentation.
+ </paragraph>
+ <line_block classes="c32">
+ <line>
+ This is a line block. It ends with a blank line.
+ </line>
+ </line_block>
+ <line_block classes="c33">
+ <line>
+ New lines begin with a vertical bar (&quot;|&quot;).
+ </line>
+ </line_block>
+ </section>
+ <section ids="block-quotes" names="block\ quotes">
+ <title auto="1" refid="id18">
+ <generated classes="sectnum">
+ 1.9   
+ </generated>
+ Block Quotes
+ </title>
+ <paragraph>
+ Block quotes consist of indented body elements:
+ </paragraph>
+ <block_quote>
+ <paragraph classes="c34">
+ My theory by A. Elk. Brackets Miss, brackets. This theory goes as
+follows and begins now. All brontosauruses are thin at one end, much
+much thicker in the middle and then thin again at the far end. That
+is my theory, it is mine, and belongs to me and I own it, and what
+it is too.
+ </paragraph>
+ <attribution classes="c35">
+ Anne Elk (Miss)
+ </attribution>
+ </block_quote>
+ </section>
+ <section ids="doctest-blocks" names="doctest\ blocks">
+ <title auto="1" refid="id19">
+ <generated classes="sectnum">
+ 1.10   
+ </generated>
+ Doctest Blocks
+ </title>
+ <doctest_block classes="c36" xml:space="preserve">
+ &gt;&gt;&gt; print 'Python-specific usage examples; begun with &quot;&gt;&gt;&gt;&quot;'
+Python-specific usage examples; begun with &quot;&gt;&gt;&gt;&quot;
+&gt;&gt;&gt; print '(cut and pasted from interactive Python sessions)'
+(cut and pasted from interactive Python sessions)
+ </doctest_block>
+ </section>
+ <section ids="footnotes" names="footnotes">
+ <title auto="1" refid="id20">
+ <generated classes="sectnum">
+ 1.11   
+ </generated>
+ Footnotes
+ </title>
+ <footnote backrefs="id2" classes="c37" ids="id1" names="1">
+ <label>
+ 1
+ </label>
+ <paragraph>
+ A footnote contains body elements, consistently indented by at least
+3 spaces.
+ </paragraph>
+ <paragraph classes="c38">
+ This is the footnote's second paragraph.
+ </paragraph>
+ </footnote>
+ <footnote auto="1" backrefs="id3" classes="c39" ids="label" names="label">
+ <label>
+ 2
+ </label>
+ <paragraph>
+ Footnotes may be numbered, either manually (as in
+ <footnote_reference ids="id2" refid="id1">
+ 1
+ </footnote_reference>
+ ) or
+automatically using a &quot;#&quot;-prefixed label. This footnote has a label
+so it can be referred to from multiple places, both as a footnote
+reference (
+ <footnote_reference auto="1" ids="id3" refid="label">
+ 2
+ </footnote_reference>
+ ) and as a hyperlink reference (
+ <reference name="label" refid="label">
+ label
+ </reference>
+ ).
+ </paragraph>
+ </footnote>
+ <footnote auto="1" classes="c40" ids="id4" names="3">
+ <label>
+ 3
+ </label>
+ <paragraph>
+ This footnote is numbered automatically and anonymously using a label
+of &quot;#&quot; only.
+ </paragraph>
+ </footnote>
+ <footnote auto="*" backrefs="id6" classes="c41" ids="id5">
+ <label>
+ *
+ </label>
+ <paragraph>
+ Footnotes may also use symbols, specified with a &quot;*&quot; label. Here's a
+reference to the next footnote:
+ <footnote_reference auto="*" ids="id6" refid="id5">
+ *
+ </footnote_reference>
+ .
+ </paragraph>
+ </footnote>
+ </section>
+ <section ids="citations" names="citations">
+ <title auto="1" refid="id21">
+ <generated classes="sectnum">
+ 1.12   
+ </generated>
+ Citations
+ </title>
+ <citation classes="c42" ids="cit2002" names="cit2002">
+ <label>
+ CIT2002
+ </label>
+ <paragraph>
+ Citations are text-labeled footnotes. They may be rendered separately
+and differently from footnotes.
+ </paragraph>
+ </citation>
+ </section>
+ <section ids="targets" names="targets">
+ <title auto="1" refid="id22">
+ <generated classes="sectnum">
+ 1.13   
+ </generated>
+ Targets
+ </title>
+ <target refid="example"/>
+ <target ids="python example" names="python example" refuri="http://www.python.org/"/>
+ <paragraph classes="c43 c44">
+ <reference anonymous="1" name="Some" refid="targets">
+ Some
+ </reference>
+
+ <reference anonymous="1" name="reference" refuri="http://www.example.com/">
+ reference
+ </reference>
+ .
+ </paragraph>
+ <target anonymous="1" ids="id7" refid="targets"/>
+ <target anonymous="1" ids="id8" refuri="http://www.example.com/"/>
+ </section>
+ <section classes="c45 c46" ids="directives" names="directives">
+ <title auto="1" refid="id23">
+ <generated classes="sectnum">
+ 1.14   
+ </generated>
+ Directives
+ </title>
+ <topic classes="contents c47 local" ids="contents" names="contents">
+ <bullet_list classes="auto-toc">
+ <list_item>
+ <paragraph>
+ <reference ids="id28" refid="images">
+ <generated classes="sectnum">
+ 1.14.1   
+ </generated>
+ Images
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id29" refid="admonitions">
+ <generated classes="sectnum">
+ 1.14.2   
+ </generated>
+ Admonitions
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id30" refid="topics-sidebars-and-rubrics">
+ <generated classes="sectnum">
+ 1.14.3   
+ </generated>
+ Topics, Sidebars, and Rubrics
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id31" refid="compound-paragraph">
+ <generated classes="sectnum">
+ 1.14.4   
+ </generated>
+ Compound Paragraph
+ </reference>
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </topic>
+ <section ids="images" names="images">
+ <title auto="1" refid="id28">
+ <generated classes="sectnum">
+ 1.14.1   
+ </generated>
+ Images
+ </title>
+ <paragraph>
+ An image directive (also clickable -- a hyperlink reference):
+ </paragraph>
+ <reference name="directives" refid="directives">
+ <image classes="c48" uri="../../../docs/user/rst/images/title.png"/>
+ </reference>
+ <paragraph>
+ A figure directive:
+ </paragraph>
+ <figure classes="c49">
+ <image alt="reStructuredText, the markup syntax" uri="../../../docs/user/rst/images/title.png"/>
+ <caption>
+ A figure is an image with a caption and/or a legend:
+ </caption>
+ <legend>
+ <table classes="c50">
+ <tgroup cols="2">
+ <colspec colwidth="12"/>
+ <colspec colwidth="47"/>
+ <tbody>
+ <row>
+ <entry>
+ <paragraph>
+ re
+ </paragraph>
+ </entry>
+ <entry>
+ <paragraph>
+ Revised, revisited, based on 're' module.
+ </paragraph>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <paragraph>
+ Structured
+ </paragraph>
+ </entry>
+ <entry>
+ <paragraph>
+ Structure-enhanced text, structuredtext.
+ </paragraph>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <paragraph>
+ Text
+ </paragraph>
+ </entry>
+ <entry>
+ <paragraph>
+ Well it is, isn't it?
+ </paragraph>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </legend>
+ </figure>
+ </section>
+ <section ids="admonitions" names="admonitions">
+ <title auto="1" refid="id29">
+ <generated classes="sectnum">
+ 1.14.2   
+ </generated>
+ Admonitions
+ </title>
+ <attention classes="c51">
+ <paragraph>
+ Directives at large.
+ </paragraph>
+ </attention>
+ <caution classes="c52">
+ <paragraph>
+ Don't take any wooden nickels.
+ </paragraph>
+ </caution>
+ <danger classes="c53">
+ <paragraph>
+ Mad scientist at work!
+ </paragraph>
+ </danger>
+ <error classes="c54">
+ <paragraph>
+ Does not compute.
+ </paragraph>
+ </error>
+ <hint classes="c55">
+ <paragraph>
+ It's bigger than a bread box.
+ </paragraph>
+ </hint>
+ <important classes="c56">
+ <bullet_list bullet="-">
+ <list_item>
+ <paragraph>
+ Wash behind your ears.
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Clean up your room.
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Call your mother.
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Back up your data.
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </important>
+ <note classes="c57">
+ <paragraph>
+ This is a note.
+ </paragraph>
+ </note>
+ <tip classes="c58">
+ <paragraph>
+ 15% if the service is good.
+ </paragraph>
+ </tip>
+ <warning classes="c59">
+ <paragraph>
+ Strong prose may provoke extreme mental exertion. Reader discretion
+is strongly advised.
+ </paragraph>
+ </warning>
+ <admonition classes="c60">
+ <title>
+ And, by the way...
+ </title>
+ <paragraph>
+ You can make up your own admonition too.
+ </paragraph>
+ </admonition>
+ </section>
+ <section ids="topics-sidebars-and-rubrics" names="topics,\ sidebars,\ and\ rubrics">
+ <title auto="1" refid="id30">
+ <generated classes="sectnum">
+ 1.14.3   
+ </generated>
+ Topics, Sidebars, and Rubrics
+ </title>
+ <sidebar classes="c61">
+ <title>
+ Sidebar Title
+ </title>
+ <subtitle>
+ Optional Subtitle
+ </subtitle>
+ <paragraph>
+ This is a sidebar. It is for text outside the flow of the main text.
+ </paragraph>
+ <rubric classes="c62">
+ This is a rubric inside a sidebar
+ </rubric>
+ <paragraph>
+ Sidebars often appears beside the main text with a border and
+background color.
+ </paragraph>
+ </sidebar>
+ <topic classes="c63">
+ <title>
+ Topic Title
+ </title>
+ <paragraph>
+ This is a topic.
+ </paragraph>
+ </topic>
+ </section>
+ <section ids="compound-paragraph" names="compound\ paragraph">
+ <title auto="1" refid="id31">
+ <generated classes="sectnum">
+ 1.14.4   
+ </generated>
+ Compound Paragraph
+ </title>
+ <compound classes="c64">
+ <paragraph>
+ Compound 1, paragraph 1.
+ </paragraph>
+ <paragraph>
+ Compound 1, paragraph 2.
+ </paragraph>
+ <bullet_list bullet="*">
+ <list_item>
+ <paragraph>
+ Compound 1, list item one.
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Compound 1, list item two.
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </compound>
+ </section>
+ </section>
+ </section>
+</document>
diff --git a/sandbox/xml2rst/tests/synthetic/readable/standard_0_3_7.xml b/sandbox/xml2rst/tests/synthetic/readable/standard_0_3_7.xml
new file mode 100644
index 000000000..62fcebf59
--- /dev/null
+++ b/sandbox/xml2rst/tests/synthetic/readable/standard_0_3_7.xml
@@ -0,0 +1,2165 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by Docutils 0.8 -->
+<document ids="restructuredtext-test-document doctitle" names="restructuredtext\ test\ document doctitle" source="original/standard_0_3_7.rst" title="reStructuredText Test Document">
+ <title>
+ reStructuredText Test Document
+ </title>
+ <subtitle ids="examples-of-syntax-constructs subtitle" names="examples\ of\ syntax\ constructs subtitle">
+ Examples of Syntax Constructs
+ </subtitle>
+ <docinfo>
+ <author>
+ David Goodger
+ </author>
+ <address xml:space="preserve">
+ 123 Example Street
+Example, EX Canada
+A1B 2C3
+ </address>
+ <contact>
+ <reference refuri="mailto:goodger@users.sourceforge.net">
+ goodger@users.sourceforge.net
+ </reference>
+ </contact>
+ <authors>
+ <author>
+ Me
+ </author>
+ <author>
+ Myself
+ </author>
+ <author>
+ I
+ </author>
+ </authors>
+ <organization>
+ humankind
+ </organization>
+ <date>
+ Now, or yesterday. Or maybe even
+ <emphasis>
+ before
+ </emphasis>
+ yesterday.
+ </date>
+ <status>
+ This is a &quot;work in progress&quot;
+ </status>
+ <revision>
+ is managed by a version control system.
+ </revision>
+ <version>
+ 1
+ </version>
+ <copyright>
+ This document has been placed in the public domain. You
+may do with it as you wish. You may copy, modify,
+redistribute, reattribute, sell, buy, rent, lease,
+destroy, or improve it, quote it at length, excerpt,
+incorporate, collate, fold, staple, or mutilate it, or do
+anything else to it that your or anyone else's heart
+desires.
+ </copyright>
+ <field>
+ <field_name>
+ field name
+ </field_name>
+ <field_body>
+ <paragraph>
+ This is a &quot;generic bibliographic field&quot;.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ field name &quot;2&quot;
+ </field_name>
+ <field_body>
+ <paragraph>
+ Generic bibliographic fields may contain multiple body elements.
+ </paragraph>
+ <paragraph>
+ Like this.
+ </paragraph>
+ </field_body>
+ </field>
+ </docinfo>
+ <topic classes="dedication">
+ <title>
+ Dedication
+ </title>
+ <paragraph>
+ For Docutils users &amp; co-developers.
+ </paragraph>
+ </topic>
+ <topic classes="abstract">
+ <title>
+ Abstract
+ </title>
+ <paragraph>
+ This is a test document, containing at least one example of each
+reStructuredText construct.
+ </paragraph>
+ </topic>
+ <comment xml:space="preserve">
+ This is a comment. Note how any initial comments are moved by
+transforms to after the document title, subtitle, and docinfo.
+ </comment>
+ <target refid="doctitle"/>
+ <comment xml:space="preserve">
+ Above is the document title, and below is the subtitle.
+They are transformed from section titles after parsing.
+ </comment>
+ <target refid="subtitle"/>
+ <comment xml:space="preserve">
+ bibliographic fields (which also require a transform):
+ </comment>
+ <topic classes="contents" ids="table-of-contents" names="table\ of\ contents">
+ <title>
+ Table of Contents
+ </title>
+ <bullet_list classes="auto-toc">
+ <list_item>
+ <paragraph>
+ <reference ids="id28" refid="structural-elements">
+ <generated classes="sectnum">
+ 1   
+ </generated>
+ Structural Elements
+ </reference>
+ </paragraph>
+ <bullet_list classes="auto-toc">
+ <list_item>
+ <paragraph>
+ <reference ids="id29" refid="section-title">
+ <generated classes="sectnum">
+ 1.1   
+ </generated>
+ Section Title
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id30" refid="empty-section">
+ <generated classes="sectnum">
+ 1.2   
+ </generated>
+ Empty Section
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id31" refid="transitions">
+ <generated classes="sectnum">
+ 1.3   
+ </generated>
+ Transitions
+ </reference>
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id32" refid="body-elements">
+ <generated classes="sectnum">
+ 2   
+ </generated>
+ Body Elements
+ </reference>
+ </paragraph>
+ <bullet_list classes="auto-toc">
+ <list_item>
+ <paragraph>
+ <reference ids="id33" refid="paragraphs">
+ <generated classes="sectnum">
+ 2.1   
+ </generated>
+ Paragraphs
+ </reference>
+ </paragraph>
+ <bullet_list classes="auto-toc">
+ <list_item>
+ <paragraph>
+ <reference ids="id34" refid="inline-markup">
+ <generated classes="sectnum">
+ 2.1.1   
+ </generated>
+ Inline Markup
+ </reference>
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id35" refid="bullet-lists">
+ <generated classes="sectnum">
+ 2.2   
+ </generated>
+ Bullet Lists
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id36" refid="enumerated-lists">
+ <generated classes="sectnum">
+ 2.3   
+ </generated>
+ Enumerated Lists
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id37" refid="definition-lists">
+ <generated classes="sectnum">
+ 2.4   
+ </generated>
+ Definition Lists
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id38" refid="field-lists">
+ <generated classes="sectnum">
+ 2.5   
+ </generated>
+ Field Lists
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id39" refid="option-lists">
+ <generated classes="sectnum">
+ 2.6   
+ </generated>
+ Option Lists
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id40" refid="literal-blocks">
+ <generated classes="sectnum">
+ 2.7   
+ </generated>
+ Literal Blocks
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id41" refid="line-blocks">
+ <generated classes="sectnum">
+ 2.8   
+ </generated>
+ Line Blocks
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id42" refid="block-quotes">
+ <generated classes="sectnum">
+ 2.9   
+ </generated>
+ Block Quotes
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id43" refid="doctest-blocks">
+ <generated classes="sectnum">
+ 2.10   
+ </generated>
+ Doctest Blocks
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id44" refid="footnotes">
+ <generated classes="sectnum">
+ 2.11   
+ </generated>
+ Footnotes
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id45" refid="citations">
+ <generated classes="sectnum">
+ 2.12   
+ </generated>
+ Citations
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id46" refid="targets">
+ <generated classes="sectnum">
+ 2.13   
+ </generated>
+ Targets
+ </reference>
+ </paragraph>
+ <bullet_list classes="auto-toc">
+ <list_item>
+ <paragraph>
+ <reference ids="id47" refid="duplicate-target-names">
+ <generated classes="sectnum">
+ 2.13.1   
+ </generated>
+ Duplicate Target Names
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id48" refid="id19">
+ <generated classes="sectnum">
+ 2.13.2   
+ </generated>
+ Duplicate Target Names
+ </reference>
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id49" refid="directives">
+ <generated classes="sectnum">
+ 2.14   
+ </generated>
+ Directives
+ </reference>
+ </paragraph>
+ <bullet_list classes="auto-toc">
+ <list_item>
+ <paragraph>
+ <reference ids="id50" refid="document-parts">
+ <generated classes="sectnum">
+ 2.14.1   
+ </generated>
+ Document Parts
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id51" refid="images">
+ <generated classes="sectnum">
+ 2.14.2   
+ </generated>
+ Images
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id52" refid="admonitions">
+ <generated classes="sectnum">
+ 2.14.3   
+ </generated>
+ Admonitions
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id53" refid="topics-sidebars-and-rubrics">
+ <generated classes="sectnum">
+ 2.14.4   
+ </generated>
+ Topics, Sidebars, and Rubrics
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id54" refid="target-footnotes">
+ <generated classes="sectnum">
+ 2.14.5   
+ </generated>
+ Target Footnotes
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id55" refid="replacement-text">
+ <generated classes="sectnum">
+ 2.14.6   
+ </generated>
+ Replacement Text
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id56" refid="compound-paragraph">
+ <generated classes="sectnum">
+ 2.14.7   
+ </generated>
+ Compound Paragraph
+ </reference>
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id57" refid="substitution-definitions">
+ <generated classes="sectnum">
+ 2.15   
+ </generated>
+ Substitution Definitions
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id58" refid="comments">
+ <generated classes="sectnum">
+ 2.16   
+ </generated>
+ Comments
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id59" refid="raw-text">
+ <generated classes="sectnum">
+ 2.17   
+ </generated>
+ Raw text
+ </reference>
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </list_item>
+ </bullet_list>
+ </topic>
+ <section ids="structural-elements" names="structural\ elements">
+ <title auto="1" refid="id28">
+ <generated classes="sectnum">
+ 1   
+ </generated>
+ Structural Elements
+ </title>
+ <section ids="section-title" names="section\ title">
+ <title auto="1" refid="id29">
+ <generated classes="sectnum">
+ 1.1   
+ </generated>
+ Section Title
+ </title>
+ <paragraph>
+ That's it, the text just above this line.
+ </paragraph>
+ </section>
+ <section ids="empty-section" names="empty\ section">
+ <title auto="1" refid="id30">
+ <generated classes="sectnum">
+ 1.2   
+ </generated>
+ Empty Section
+ </title>
+ </section>
+ <section ids="transitions" names="transitions">
+ <title auto="1" refid="id31">
+ <generated classes="sectnum">
+ 1.3   
+ </generated>
+ Transitions
+ </title>
+ <paragraph>
+ Here's a transition:
+ </paragraph>
+ <transition/>
+ <paragraph>
+ It divides the section. Transitions may also occur between sections:
+ </paragraph>
+ </section>
+ </section>
+ <transition/>
+ <section ids="body-elements" names="body\ elements">
+ <title auto="1" refid="id32">
+ <generated classes="sectnum">
+ 2   
+ </generated>
+ Body Elements
+ </title>
+ <section ids="paragraphs" names="paragraphs">
+ <title auto="1" refid="id33">
+ <generated classes="sectnum">
+ 2.1   
+ </generated>
+ Paragraphs
+ </title>
+ <paragraph>
+ A paragraph.
+ </paragraph>
+ <section ids="inline-markup" names="inline\ markup">
+ <title auto="1" refid="id34">
+ <generated classes="sectnum">
+ 2.1.1   
+ </generated>
+ Inline Markup
+ </title>
+ <paragraph>
+ Paragraphs contain text and may contain inline markup:
+ <emphasis>
+ emphasis
+ </emphasis>
+ ,
+
+ <strong>
+ strong emphasis
+ </strong>
+ ,
+ <literal>
+ inline literals
+ </literal>
+ , standalone hyperlinks
+(
+ <reference refuri="http://www.python.org">
+ http://www.python.org
+ </reference>
+ ), external hyperlinks (
+ <reference name="Python" refuri="http://www.python.org/">
+ Python
+ </reference>
+
+ <footnote_reference auto="1" ids="id23" refid="id22">
+ 5
+ </footnote_reference>
+ ), internal
+cross-references (
+ <reference name="example" refid="example">
+ example
+ </reference>
+ ), external hyperlinks with embedded URIs
+(
+ <reference name="Python web site" refuri="http://www.python.org">
+ Python web site
+ </reference>
+ ), footnote references
+(manually numbered
+ <footnote_reference ids="id1" refid="id6">
+ 1
+ </footnote_reference>
+ , anonymous auto-numbered
+ <footnote_reference auto="1" ids="id2" refid="id9">
+ 3
+ </footnote_reference>
+ , labeled
+auto-numbered
+ <footnote_reference auto="1" ids="id3" refid="label">
+ 2
+ </footnote_reference>
+ , or symbolic
+ <footnote_reference auto="*" ids="id4" refid="id10">
+ *
+ </footnote_reference>
+ ), citation references
+(
+ <citation_reference ids="id5" refid="cit2002">
+ CIT2002
+ </citation_reference>
+ ), substitution references (
+ <image alt="EXAMPLE" uri="../../../docs/user/rst/images/biohazard.png"/>
+ ), and
+ <target ids="inline-hyperlink-targets" names="inline\ hyperlink\ targets">
+ inline
+hyperlink targets
+ </target>
+ (see
+ <reference name="Targets" refid="targets">
+ Targets
+ </reference>
+ below for a reference back to here).
+Character-level inline markup is also possible (although exceedingly
+ugly!) in
+ <emphasis>
+ re
+ </emphasis>
+
+ <literal>
+ Structured
+ </literal>
+
+ <emphasis>
+ Text
+ </emphasis>
+ . Problems are indicated by
+
+ <problematic ids="id21" refid="id20">
+ |problematic|
+ </problematic>
+ text (generated by processing errors; this one is
+intentional). Here is a reference to the
+ <reference name="doctitle" refid="doctitle">
+ doctitle
+ </reference>
+ and the
+ <reference name="subtitle" refid="subtitle">
+ subtitle
+ </reference>
+ .
+ </paragraph>
+ <paragraph>
+ The default role for interpreted text is
+ <title_reference>
+ Title Reference
+ </title_reference>
+ . Here are
+some explicit interpreted text roles: a PEP reference (
+ <reference refuri="http://www.python.org/dev/peps/pep-0287">
+ PEP 287
+ </reference>
+ ); an
+RFC reference (
+ <reference refuri="http://www.faqs.org/rfcs/rfc2822.html">
+ RFC 2822
+ </reference>
+ ); a
+ <subscript>
+ subscript
+ </subscript>
+ ; a
+ <superscript>
+ superscript
+ </superscript>
+ ;
+and explicit roles for
+ <emphasis>
+ standard
+ </emphasis>
+
+ <strong>
+ inline
+ </strong>
+
+
+ <literal>
+ markup
+ </literal>
+ .
+ </paragraph>
+ <comment xml:space="preserve">
+ DO NOT RE-WRAP THE FOLLOWING PARAGRAPH!
+ </comment>
+ <paragraph>
+ Let's test wrapping and whitespace significance in inline literals:
+
+ <literal>
+ This is an example of --inline-literal --text, --including some--
+strangely--hyphenated-words. Adjust-the-width-of-your-browser-window
+to see how the text is wrapped. -- ---- -------- Now note the
+spacing between the words of this sentence (words
+should be grouped in pairs).
+ </literal>
+ </paragraph>
+ <paragraph>
+ If the
+ <literal>
+ --pep-references
+ </literal>
+ option was supplied, there should be a
+live link to PEP 258 here.
+ </paragraph>
+ </section>
+ </section>
+ <section ids="bullet-lists" names="bullet\ lists">
+ <title auto="1" refid="id35">
+ <generated classes="sectnum">
+ 2.2   
+ </generated>
+ Bullet Lists
+ </title>
+ <bullet_list bullet="-">
+ <list_item>
+ <paragraph>
+ A bullet list
+ </paragraph>
+ <bullet_list bullet="+">
+ <list_item>
+ <paragraph>
+ Nested bullet list.
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Nested item 2.
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Item 2.
+ </paragraph>
+ <paragraph>
+ Paragraph 2 of item 2.
+ </paragraph>
+ <bullet_list bullet="*">
+ <list_item>
+ <paragraph>
+ Nested bullet list.
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Nested item 2.
+ </paragraph>
+ <bullet_list bullet="-">
+ <list_item>
+ <paragraph>
+ Third level.
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Item 2.
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Nested item 3.
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ This nested list should be compacted by the HTML writer.
+ </paragraph>
+ <target ids="target" names="target"/>
+ <comment xml:space="preserve">
+ Even if this item contains a target and a comment.
+ </comment>
+ </list_item>
+ </bullet_list>
+ </list_item>
+ </bullet_list>
+ </section>
+ <section ids="enumerated-lists" names="enumerated\ lists">
+ <title auto="1" refid="id36">
+ <generated classes="sectnum">
+ 2.3   
+ </generated>
+ Enumerated Lists
+ </title>
+ <enumerated_list enumtype="arabic" prefix="" suffix=".">
+ <list_item>
+ <paragraph>
+ Arabic numerals.
+ </paragraph>
+ <enumerated_list enumtype="loweralpha" prefix="" suffix=")">
+ <list_item>
+ <paragraph>
+ lower alpha)
+ </paragraph>
+ <enumerated_list enumtype="lowerroman" prefix="(" suffix=")">
+ <list_item>
+ <paragraph>
+ (lower roman)
+ </paragraph>
+ <enumerated_list enumtype="upperalpha" prefix="" suffix=".">
+ <list_item>
+ <paragraph>
+ upper alpha.
+ </paragraph>
+ <enumerated_list enumtype="upperroman" prefix="" suffix=")">
+ <list_item>
+ <paragraph>
+ upper roman)
+ </paragraph>
+ </list_item>
+ </enumerated_list>
+ </list_item>
+ </enumerated_list>
+ </list_item>
+ </enumerated_list>
+ </list_item>
+ </enumerated_list>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Lists that don't start at 1:
+ </paragraph>
+ <enumerated_list enumtype="arabic" prefix="" start="3" suffix=".">
+ <list_item>
+ <paragraph>
+ Three
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Four
+ </paragraph>
+ </list_item>
+ </enumerated_list>
+ <enumerated_list enumtype="upperalpha" prefix="" start="3" suffix=".">
+ <list_item>
+ <paragraph>
+ C
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ D
+ </paragraph>
+ </list_item>
+ </enumerated_list>
+ <enumerated_list enumtype="lowerroman" prefix="" start="3" suffix=".">
+ <list_item>
+ <paragraph>
+ iii
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ iv
+ </paragraph>
+ </list_item>
+ </enumerated_list>
+ </list_item>
+ </enumerated_list>
+ </section>
+ <section ids="definition-lists" names="definition\ lists">
+ <title auto="1" refid="id37">
+ <generated classes="sectnum">
+ 2.4   
+ </generated>
+ Definition Lists
+ </title>
+ <definition_list>
+ <definition_list_item>
+ <term>
+ Term
+ </term>
+ <definition>
+ <paragraph>
+ Definition
+ </paragraph>
+ </definition>
+ </definition_list_item>
+ <definition_list_item>
+ <term>
+ Term
+ </term>
+ <classifier>
+ classifier
+ </classifier>
+ <definition>
+ <paragraph>
+ Definition paragraph 1.
+ </paragraph>
+ <paragraph>
+ Definition paragraph 2.
+ </paragraph>
+ </definition>
+ </definition_list_item>
+ <definition_list_item>
+ <term>
+ Term
+ </term>
+ <definition>
+ <paragraph>
+ Definition
+ </paragraph>
+ </definition>
+ </definition_list_item>
+ <definition_list_item>
+ <term>
+ Term
+ </term>
+ <classifier>
+ classifier one
+ </classifier>
+ <classifier>
+ classifier two
+ </classifier>
+ <definition>
+ <paragraph>
+ Definition
+ </paragraph>
+ </definition>
+ </definition_list_item>
+ </definition_list>
+ </section>
+ <section ids="field-lists" names="field\ lists">
+ <title auto="1" refid="id38">
+ <generated classes="sectnum">
+ 2.5   
+ </generated>
+ Field Lists
+ </title>
+ <field_list>
+ <field>
+ <field_name>
+ what
+ </field_name>
+ <field_body>
+ <paragraph>
+ Field lists map field names to field bodies, like database
+records. They are often part of an extension syntax. They are
+an unambiguous variant of RFC 2822 fields.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ how arg1 arg2
+ </field_name>
+ <field_body>
+ <paragraph>
+ The field marker is a colon, the field name, and a colon.
+ </paragraph>
+ <paragraph>
+ The field body may contain one or more body elements, indented
+relative to the field marker.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ credits
+ </field_name>
+ <field_body>
+ <paragraph classes="credits">
+ This paragraph has the
+ <title_reference>
+ credits
+ </title_reference>
+ class set. (This is actually not
+about credits but just for ensuring that the class attribute
+doesn't get stripped away.)
+ </paragraph>
+ </field_body>
+ </field>
+ </field_list>
+ </section>
+ <section ids="option-lists" names="option\ lists">
+ <title auto="1" refid="id39">
+ <generated classes="sectnum">
+ 2.6   
+ </generated>
+ Option Lists
+ </title>
+ <paragraph>
+ For listing command-line options:
+ </paragraph>
+ <option_list>
+ <option_list_item>
+ <option_group>
+ <option>
+ <option_string>
+ -a
+ </option_string>
+ </option>
+ </option_group>
+ <description>
+ <paragraph>
+ command-line option &quot;a&quot;
+ </paragraph>
+ </description>
+ </option_list_item>
+ <option_list_item>
+ <option_group>
+ <option>
+ <option_string>
+ -b
+ </option_string>
+ <option_argument delimiter=" ">
+ file
+ </option_argument>
+ </option>
+ </option_group>
+ <description>
+ <paragraph>
+ options can have arguments
+and long descriptions
+ </paragraph>
+ </description>
+ </option_list_item>
+ <option_list_item>
+ <option_group>
+ <option>
+ <option_string>
+ --long
+ </option_string>
+ </option>
+ </option_group>
+ <description>
+ <paragraph>
+ options can be long also
+ </paragraph>
+ </description>
+ </option_list_item>
+ <option_list_item>
+ <option_group>
+ <option>
+ <option_string>
+ --input
+ </option_string>
+ <option_argument delimiter="=">
+ file
+ </option_argument>
+ </option>
+ </option_group>
+ <description>
+ <paragraph>
+ long options can also have
+arguments
+ </paragraph>
+ </description>
+ </option_list_item>
+ <option_list_item>
+ <option_group>
+ <option>
+ <option_string>
+ --very-long-option
+ </option_string>
+ </option>
+ </option_group>
+ <description>
+ <paragraph>
+ The description can also start on the next line.
+ </paragraph>
+ <paragraph>
+ The description may contain multiple body elements,
+regardless of where it starts.
+ </paragraph>
+ </description>
+ </option_list_item>
+ <option_list_item>
+ <option_group>
+ <option>
+ <option_string>
+ -x
+ </option_string>
+ </option>
+ <option>
+ <option_string>
+ -y
+ </option_string>
+ </option>
+ <option>
+ <option_string>
+ -z
+ </option_string>
+ </option>
+ </option_group>
+ <description>
+ <paragraph>
+ Multiple options are an &quot;option group&quot;.
+ </paragraph>
+ </description>
+ </option_list_item>
+ <option_list_item>
+ <option_group>
+ <option>
+ <option_string>
+ -v
+ </option_string>
+ </option>
+ <option>
+ <option_string>
+ --verbose
+ </option_string>
+ </option>
+ </option_group>
+ <description>
+ <paragraph>
+ Commonly-seen: short &amp; long options.
+ </paragraph>
+ </description>
+ </option_list_item>
+ <option_list_item>
+ <option_group>
+ <option>
+ <option_string>
+ -1
+ </option_string>
+ <option_argument delimiter=" ">
+ file
+ </option_argument>
+ </option>
+ <option>
+ <option_string>
+ --one
+ </option_string>
+ <option_argument delimiter="=">
+ file
+ </option_argument>
+ </option>
+ <option>
+ <option_string>
+ --two
+ </option_string>
+ <option_argument delimiter=" ">
+ file
+ </option_argument>
+ </option>
+ </option_group>
+ <description>
+ <paragraph>
+ Multiple options with arguments.
+ </paragraph>
+ </description>
+ </option_list_item>
+ <option_list_item>
+ <option_group>
+ <option>
+ <option_string>
+ /V
+ </option_string>
+ </option>
+ </option_group>
+ <description>
+ <paragraph>
+ DOS/VMS-style options too
+ </paragraph>
+ </description>
+ </option_list_item>
+ </option_list>
+ <paragraph>
+ There must be at least two spaces between the option and the
+description.
+ </paragraph>
+ </section>
+ <section ids="literal-blocks" names="literal\ blocks">
+ <title auto="1" refid="id40">
+ <generated classes="sectnum">
+ 2.7   
+ </generated>
+ Literal Blocks
+ </title>
+ <paragraph>
+ Literal blocks are indicated with a double-colon (&quot;::&quot;) at the end of
+the preceding paragraph (over there
+ <literal>
+ --&gt;
+ </literal>
+ ). They can be indented:
+ </paragraph>
+ <literal_block xml:space="preserve">
+ if literal_block:
+ text = 'is left as-is'
+ spaces_and_linebreaks = 'are preserved'
+ markup_processing = None
+ </literal_block>
+ <paragraph>
+ Or they can be quoted without indentation:
+ </paragraph>
+ <literal_block xml:space="preserve">
+ &gt;&gt; Great idea!
+&gt;
+&gt; Why didn't I think of that?
+ </literal_block>
+ </section>
+ <section ids="line-blocks" names="line\ blocks">
+ <title auto="1" refid="id41">
+ <generated classes="sectnum">
+ 2.8   
+ </generated>
+ Line Blocks
+ </title>
+ <paragraph>
+ This section tests line blocks. Line blocks are body elements which
+consist of lines and other line blocks. Nested line blocks cause
+indentation.
+ </paragraph>
+ <line_block>
+ <line>
+ This is a line block. It ends with a blank line.
+ </line>
+ <line_block>
+ <line>
+ New lines begin with a vertical bar (&quot;|&quot;).
+ </line>
+ <line>
+ Line breaks and initial indent are significant, and preserved.
+ </line>
+ <line_block>
+ <line>
+ Continuation lines are also possible. A long line that is intended
+to wrap should begin with a space in place of the vertical bar.
+ </line>
+ </line_block>
+ <line>
+ The left edge of a continuation line need not be aligned with
+the left edge of the text above it.
+ </line>
+ </line_block>
+ </line_block>
+ <line_block>
+ <line>
+ This is a second line block.
+ </line>
+ <line/>
+ <line>
+ Blank lines are permitted internally, but they must begin with a &quot;|&quot;.
+ </line>
+ </line_block>
+ <paragraph>
+ Another line block, surrounded by paragraphs:
+ </paragraph>
+ <line_block>
+ <line>
+ And it's no good waiting by the window
+ </line>
+ <line>
+ It's no good waiting for the sun
+ </line>
+ <line>
+ Please believe me, the things you dream of
+ </line>
+ <line>
+ They don't fall in the lap of no-one
+ </line>
+ </line_block>
+ <paragraph>
+ Take it away, Eric the Orchestra Leader!
+ </paragraph>
+ <block_quote>
+ <line_block>
+ <line>
+ A one, two, a one two three four
+ </line>
+ <line/>
+ <line>
+ Half a bee, philosophically,
+ </line>
+ <line_block>
+ <line>
+ must,
+ <emphasis>
+ ipso facto
+ </emphasis>
+ , half not be.
+ </line>
+ </line_block>
+ <line>
+ But half the bee has got to be,
+ </line>
+ <line_block>
+ <line>
+ <emphasis>
+ vis a vis
+ </emphasis>
+ its entity. D'you see?
+ </line>
+ <line/>
+ </line_block>
+ <line>
+ But can a bee be said to be
+ </line>
+ <line_block>
+ <line>
+ or not to be an entire bee,
+ </line>
+ <line_block>
+ <line>
+ when half the bee is not a bee,
+ </line>
+ <line_block>
+ <line>
+ due to some ancient injury?
+ </line>
+ <line/>
+ </line_block>
+ </line_block>
+ </line_block>
+ <line>
+ Singing...
+ </line>
+ </line_block>
+ </block_quote>
+ </section>
+ <section ids="block-quotes" names="block\ quotes">
+ <title auto="1" refid="id42">
+ <generated classes="sectnum">
+ 2.9   
+ </generated>
+ Block Quotes
+ </title>
+ <paragraph>
+ Block quotes consist of indented body elements:
+ </paragraph>
+ <block_quote>
+ <paragraph>
+ My theory by A. Elk. Brackets Miss, brackets. This theory goes
+as follows and begins now. All brontosauruses are thin at one
+end, much much thicker in the middle and then thin again at the
+far end. That is my theory, it is mine, and belongs to me and I
+own it, and what it is too.
+ </paragraph>
+ <attribution>
+ Anne Elk (Miss)
+ </attribution>
+ </block_quote>
+ </section>
+ <section ids="doctest-blocks" names="doctest\ blocks">
+ <title auto="1" refid="id43">
+ <generated classes="sectnum">
+ 2.10   
+ </generated>
+ Doctest Blocks
+ </title>
+ <doctest_block xml:space="preserve">
+ &gt;&gt;&gt; print 'Python-specific usage examples; begun with &quot;&gt;&gt;&gt;&quot;'
+Python-specific usage examples; begun with &quot;&gt;&gt;&gt;&quot;
+&gt;&gt;&gt; print '(cut and pasted from interactive Python sessions)'
+(cut and pasted from interactive Python sessions)
+ </doctest_block>
+ </section>
+ <section ids="footnotes" names="footnotes">
+ <title auto="1" refid="id44">
+ <generated classes="sectnum">
+ 2.11   
+ </generated>
+ Footnotes
+ </title>
+ <footnote backrefs="id1 id7" ids="id6" names="1">
+ <label>
+ 1
+ </label>
+ <paragraph>
+ A footnote contains body elements, consistently indented by at
+least 3 spaces.
+ </paragraph>
+ <paragraph>
+ This is the footnote's second paragraph.
+ </paragraph>
+ </footnote>
+ <footnote auto="1" backrefs="id3 id8" ids="label" names="label">
+ <label>
+ 2
+ </label>
+ <paragraph>
+ Footnotes may be numbered, either manually (as in
+ <footnote_reference ids="id7" refid="id6">
+ 1
+ </footnote_reference>
+ ) or
+automatically using a &quot;#&quot;-prefixed label. This footnote has a
+label so it can be referred to from multiple places, both as a
+footnote reference (
+ <footnote_reference auto="1" ids="id8" refid="label">
+ 2
+ </footnote_reference>
+ ) and as a hyperlink reference
+(
+ <reference name="label" refid="label">
+ label
+ </reference>
+ ).
+ </paragraph>
+ </footnote>
+ <footnote auto="1" backrefs="id2" ids="id9" names="3">
+ <label>
+ 3
+ </label>
+ <paragraph>
+ This footnote is numbered automatically and anonymously using a
+label of &quot;#&quot; only.
+ </paragraph>
+ <paragraph>
+ This is the second paragraph.
+ </paragraph>
+ <paragraph>
+ And this is the third paragraph.
+ </paragraph>
+ </footnote>
+ <footnote auto="*" backrefs="id4" ids="id10">
+ <label>
+ *
+ </label>
+ <paragraph>
+ Footnotes may also use symbols, specified with a &quot;*&quot; label.
+Here's a reference to the next footnote:
+ <footnote_reference auto="*" ids="id11" refid="id12">
+ †
+ </footnote_reference>
+ .
+ </paragraph>
+ </footnote>
+ <footnote auto="*" backrefs="id11" ids="id12">
+ <label>
+ †
+ </label>
+ <paragraph>
+ This footnote shows the next symbol in the sequence.
+ </paragraph>
+ </footnote>
+ <footnote ids="id13" names="4">
+ <label>
+ 4
+ </label>
+ <paragraph>
+ Here's an unreferenced footnote, with a reference to a
+nonexistent footnote:
+ <problematic ids="id68 id14" refid="id67">
+ [5]_
+ </problematic>
+ .
+ </paragraph>
+ </footnote>
+ </section>
+ <section ids="citations" names="citations">
+ <title auto="1" refid="id45">
+ <generated classes="sectnum">
+ 2.12   
+ </generated>
+ Citations
+ </title>
+ <citation backrefs="id5 id15" ids="cit2002" names="cit2002">
+ <label>
+ CIT2002
+ </label>
+ <paragraph>
+ Citations are text-labeled footnotes. They may be
+rendered separately and differently from footnotes.
+ </paragraph>
+ </citation>
+ <paragraph>
+ Here's a reference to the above,
+ <citation_reference ids="id15" refid="cit2002">
+ CIT2002
+ </citation_reference>
+ , and a
+ <problematic ids="id70 id16" refid="id69">
+ [nonexistent]_
+ </problematic>
+
+citation.
+ </paragraph>
+ </section>
+ <section ids="targets" names="targets">
+ <title auto="1" refid="id46">
+ <generated classes="sectnum">
+ 2.13   
+ </generated>
+ Targets
+ </title>
+ <target refid="example"/>
+ <paragraph ids="example" names="example">
+ This paragraph is pointed to by the explicit &quot;example&quot; target. A
+reference can be found under
+ <reference name="Inline Markup" refid="inline-markup">
+ Inline Markup
+ </reference>
+ , above.
+ <reference name="Inline hyperlink targets" refid="inline-hyperlink-targets">
+ Inline
+hyperlink targets
+ </reference>
+ are also possible.
+ </paragraph>
+ <paragraph>
+ Section headers are implicit targets, referred to by name. See
+
+ <reference name="Targets" refid="targets">
+ Targets
+ </reference>
+ , which is a subsection of
+ <reference name="Body Elements" refid="body-elements">
+ Body Elements
+ </reference>
+ .
+ </paragraph>
+ <paragraph>
+ Explicit external targets are interpolated into references such as
+&quot;
+ <reference name="Python" refuri="http://www.python.org/">
+ Python
+ </reference>
+
+ <footnote_reference auto="1" ids="id24" refid="id22">
+ 5
+ </footnote_reference>
+ &quot;.
+ </paragraph>
+ <target ids="python" names="python" refuri="http://www.python.org/"/>
+ <paragraph>
+ Targets may be indirect and anonymous. Thus
+ <reference anonymous="1" name="this phrase" refid="targets">
+ this phrase
+ </reference>
+ may also
+refer to the
+ <reference name="Targets" refid="targets">
+ Targets
+ </reference>
+ section.
+ </paragraph>
+ <target anonymous="1" ids="id17" refid="targets"/>
+ <paragraph>
+ Here's a
+ <problematic ids="id72" refid="id71">
+ `hyperlink reference without a target`_
+ </problematic>
+ , which generates an
+error.
+ </paragraph>
+ <paragraph>
+ And another
+ <reference anonymous="1" name="phrase" refuri="http://www.example.com/">
+ phrase
+ </reference>
+
+ <footnote_reference auto="1" ids="id27" refid="id26">
+ 6
+ </footnote_reference>
+ pointing to an anonymous hyperlink.
+ </paragraph>
+ <target anonymous="1" ids="id18" refuri="http://www.example.com/"/>
+ <section dupnames="duplicate\ target\ names" ids="duplicate-target-names">
+ <title auto="1" refid="id47">
+ <generated classes="sectnum">
+ 2.13.1   
+ </generated>
+ Duplicate Target Names
+ </title>
+ <paragraph>
+ Duplicate names in section headers or other implicit targets will
+generate &quot;info&quot; (level-1) system messages. Duplicate names in
+explicit targets will generate &quot;warning&quot; (level-2) system messages.
+ </paragraph>
+ </section>
+ <section dupnames="duplicate\ target\ names" ids="id19">
+ <title auto="1" refid="id48">
+ <generated classes="sectnum">
+ 2.13.2   
+ </generated>
+ Duplicate Target Names
+ </title>
+ <paragraph>
+ Since there are two &quot;Duplicate Target Names&quot; section headers, we
+cannot uniquely refer to either of them by name. If we try to (like
+this:
+ <problematic ids="id74" refid="id73">
+ `Duplicate Target Names`_
+ </problematic>
+ ), an error is generated.
+ </paragraph>
+ </section>
+ </section>
+ <section ids="directives" names="directives">
+ <title auto="1" refid="id49">
+ <generated classes="sectnum">
+ 2.14   
+ </generated>
+ Directives
+ </title>
+ <topic classes="contents local" ids="contents" names="contents">
+ <bullet_list classes="auto-toc">
+ <list_item>
+ <paragraph>
+ <reference ids="id60" refid="document-parts">
+ <generated classes="sectnum">
+ 2.14.1   
+ </generated>
+ Document Parts
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id61" refid="images">
+ <generated classes="sectnum">
+ 2.14.2   
+ </generated>
+ Images
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id62" refid="admonitions">
+ <generated classes="sectnum">
+ 2.14.3   
+ </generated>
+ Admonitions
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id63" refid="topics-sidebars-and-rubrics">
+ <generated classes="sectnum">
+ 2.14.4   
+ </generated>
+ Topics, Sidebars, and Rubrics
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id64" refid="target-footnotes">
+ <generated classes="sectnum">
+ 2.14.5   
+ </generated>
+ Target Footnotes
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id65" refid="replacement-text">
+ <generated classes="sectnum">
+ 2.14.6   
+ </generated>
+ Replacement Text
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id66" refid="compound-paragraph">
+ <generated classes="sectnum">
+ 2.14.7   
+ </generated>
+ Compound Paragraph
+ </reference>
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </topic>
+ <paragraph>
+ These are just a sample of the many reStructuredText Directives. For
+others, please see
+
+ <reference refuri="http://docutils.sourceforge.net/docs/ref/rst/directives.html">
+ http://docutils.sourceforge.net/docs/ref/rst/directives.html
+ </reference>
+ .
+ </paragraph>
+ <section ids="document-parts" names="document\ parts">
+ <title auto="1" refid="id60">
+ <generated classes="sectnum">
+ 2.14.1   
+ </generated>
+ Document Parts
+ </title>
+ <paragraph>
+ An example of the &quot;contents&quot; directive can be seen above this section
+(a local, untitled table of
+ <reference name="contents" refid="contents">
+ contents
+ </reference>
+ ) and at the beginning of the
+document (a document-wide
+ <reference name="table of contents" refid="table-of-contents">
+ table of contents
+ </reference>
+ ).
+ </paragraph>
+ </section>
+ <section ids="images" names="images">
+ <title auto="1" refid="id61">
+ <generated classes="sectnum">
+ 2.14.2   
+ </generated>
+ Images
+ </title>
+ <paragraph>
+ An image directive (also clickable -- a hyperlink reference):
+ </paragraph>
+ <reference name="directives" refid="directives">
+ <image uri="../../../docs/user/rst/images/title.png"/>
+ </reference>
+ <reference refuri="http://www.merten-home.de/">
+ <image uri="../../../docs/user/rst/images/title.png"/>
+ </reference>
+ <paragraph>
+ A figure directive:
+ </paragraph>
+ <figure>
+ <image alt="reStructuredText, the markup syntax" uri="../../../docs/user/rst/images/title.png"/>
+ <caption>
+ A figure is an image with a caption and/or a legend:
+ </caption>
+ <legend>
+ <table>
+ <tgroup cols="2">
+ <colspec colwidth="12"/>
+ <colspec colwidth="47"/>
+ <tbody>
+ <row>
+ <entry>
+ <paragraph>
+ re
+ </paragraph>
+ </entry>
+ <entry>
+ <paragraph>
+ Revised, revisited, based on 're' module.
+ </paragraph>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <paragraph>
+ Structured
+ </paragraph>
+ </entry>
+ <entry>
+ <paragraph>
+ Structure-enhanced text, structuredtext.
+ </paragraph>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <paragraph>
+ Text
+ </paragraph>
+ </entry>
+ <entry>
+ <paragraph>
+ Well it is, isn't it?
+ </paragraph>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <paragraph>
+ This paragraph is also part of the legend.
+ </paragraph>
+ </legend>
+ </figure>
+ </section>
+ <section ids="admonitions" names="admonitions">
+ <title auto="1" refid="id62">
+ <generated classes="sectnum">
+ 2.14.3   
+ </generated>
+ Admonitions
+ </title>
+ <attention>
+ <paragraph>
+ Directives at large.
+ </paragraph>
+ </attention>
+ <caution>
+ <paragraph>
+ Don't take any wooden nickels.
+ </paragraph>
+ </caution>
+ <danger>
+ <paragraph>
+ Mad scientist at work!
+ </paragraph>
+ </danger>
+ <error>
+ <paragraph>
+ Does not compute.
+ </paragraph>
+ </error>
+ <hint>
+ <paragraph>
+ It's bigger than a bread box.
+ </paragraph>
+ </hint>
+ <important>
+ <bullet_list bullet="-">
+ <list_item>
+ <paragraph>
+ Wash behind your ears.
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Clean up your room.
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Call your mother.
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Back up your data.
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </important>
+ <note>
+ <paragraph>
+ This is a note.
+ </paragraph>
+ </note>
+ <tip>
+ <paragraph>
+ 15% if the service is good.
+ </paragraph>
+ </tip>
+ <warning>
+ <paragraph>
+ Strong prose may provoke extreme mental exertion.
+Reader discretion is strongly advised.
+ </paragraph>
+ </warning>
+ <admonition classes="admonition-and-by-the-way">
+ <title>
+ And, by the way...
+ </title>
+ <paragraph>
+ You can make up your own admonition too.
+ </paragraph>
+ </admonition>
+ </section>
+ <section ids="topics-sidebars-and-rubrics" names="topics,\ sidebars,\ and\ rubrics">
+ <title auto="1" refid="id63">
+ <generated classes="sectnum">
+ 2.14.4   
+ </generated>
+ Topics, Sidebars, and Rubrics
+ </title>
+ <sidebar>
+ <title>
+ Sidebar Title
+ </title>
+ <subtitle>
+ Optional Subtitle
+ </subtitle>
+ <paragraph>
+ This is a sidebar. It is for text outside the flow of the main
+text.
+ </paragraph>
+ <rubric>
+ This is a rubric inside a sidebar
+ </rubric>
+ <paragraph>
+ Sidebars often appears beside the main text with a border and
+background color.
+ </paragraph>
+ </sidebar>
+ <topic>
+ <title>
+ Topic Title
+ </title>
+ <paragraph>
+ This is a topic.
+ </paragraph>
+ </topic>
+ <rubric>
+ This is a rubric
+ </rubric>
+ </section>
+ <section ids="target-footnotes" names="target\ footnotes">
+ <title auto="1" refid="id64">
+ <generated classes="sectnum">
+ 2.14.5   
+ </generated>
+ Target Footnotes
+ </title>
+ <footnote auto="1" backrefs="id23 id24 id25" ids="id22" names="TARGET_NOTE:\ id22">
+ <label>
+ 5
+ </label>
+ <paragraph>
+ <reference refuri="http://www.python.org/">
+ http://www.python.org/
+ </reference>
+ </paragraph>
+ </footnote>
+ <footnote auto="1" backrefs="id27" ids="id26" names="TARGET_NOTE:\ id26">
+ <label>
+ 6
+ </label>
+ <paragraph>
+ <reference refuri="http://www.example.com/">
+ http://www.example.com/
+ </reference>
+ </paragraph>
+ </footnote>
+ </section>
+ <section ids="replacement-text" names="replacement\ text">
+ <title auto="1" refid="id65">
+ <generated classes="sectnum">
+ 2.14.6   
+ </generated>
+ Replacement Text
+ </title>
+ <paragraph>
+ I recommend you try
+ <reference refuri="http://www.python.org/">
+ Python,
+ <emphasis>
+ the
+ </emphasis>
+ best language around
+ </reference>
+
+ <footnote_reference auto="1" ids="id25" refid="id22">
+ 5
+ </footnote_reference>
+ .
+ </paragraph>
+ <substitution_definition names="Python">
+ Python,
+ <emphasis>
+ the
+ </emphasis>
+ best language around
+ </substitution_definition>
+ </section>
+ <section ids="compound-paragraph" names="compound\ paragraph">
+ <title auto="1" refid="id66">
+ <generated classes="sectnum">
+ 2.14.7   
+ </generated>
+ Compound Paragraph
+ </title>
+ <compound classes="some-class">
+ <paragraph>
+ Compound 1, paragraph 1.
+ </paragraph>
+ <paragraph>
+ Compound 1, paragraph 2.
+ </paragraph>
+ <bullet_list bullet="*">
+ <list_item>
+ <paragraph>
+ Compound 1, list item one.
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Compound 1, list item two.
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </compound>
+ <paragraph>
+ Another compound statement:
+ </paragraph>
+ <compound>
+ <paragraph>
+ Compound 2, a literal block:
+ </paragraph>
+ <literal_block xml:space="preserve">
+ Compound 2, literal.
+ </literal_block>
+ <paragraph>
+ Compound 2, this is a test.
+ </paragraph>
+ </compound>
+ <compound>
+ <paragraph>
+ Compound 3, only consisting of one paragraph.
+ </paragraph>
+ </compound>
+ <compound>
+ <literal_block xml:space="preserve">
+ Compound 4.
+This one starts with a literal block.
+ </literal_block>
+ <paragraph>
+ Compound 4, a paragraph.
+ </paragraph>
+ </compound>
+ <paragraph>
+ Now something
+ <emphasis>
+ really
+ </emphasis>
+ perverted -- a nested compound block. In
+LaTeX, the following paragraphs should all be first-line indented:
+ </paragraph>
+ <compound>
+ <paragraph>
+ Compound 5, block 1 (a paragraph).
+ </paragraph>
+ <compound>
+ <paragraph>
+ Compound 6, block 2 in compound 5.
+ </paragraph>
+ <paragraph>
+ Compound 6, another paragraph.
+ </paragraph>
+ </compound>
+ <paragraph>
+ Compound 5, block 3 (a paragraph).
+ </paragraph>
+ </compound>
+ <compound>
+ <paragraph>
+ Compound 7, with a table inside:
+ </paragraph>
+ <table>
+ <tgroup cols="3">
+ <colspec colwidth="20"/>
+ <colspec colwidth="20"/>
+ <colspec colwidth="20"/>
+ <tbody>
+ <row>
+ <entry>
+ <paragraph>
+ Left cell, first
+paragraph.
+ </paragraph>
+ <paragraph>
+ Left cell, second
+paragraph.
+ </paragraph>
+ </entry>
+ <entry>
+ <paragraph>
+ Middle cell,
+consisting of
+exactly one
+paragraph.
+ </paragraph>
+ </entry>
+ <entry>
+ <paragraph>
+ Right cell.
+ </paragraph>
+ <paragraph>
+ Paragraph 2.
+ </paragraph>
+ <paragraph>
+ Paragraph 3.
+ </paragraph>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <paragraph>
+ Compound 7, a paragraph after the table.
+ </paragraph>
+ <paragraph>
+ Compound 7, another paragraph.
+ </paragraph>
+ </compound>
+ </section>
+ </section>
+ <section ids="substitution-definitions" names="substitution\ definitions">
+ <title auto="1" refid="id57">
+ <generated classes="sectnum">
+ 2.15   
+ </generated>
+ Substitution Definitions
+ </title>
+ <paragraph>
+ An inline image (
+ <image alt="EXAMPLE" uri="../../../docs/user/rst/images/biohazard.png"/>
+ ) example:
+ </paragraph>
+ <substitution_definition names="EXAMPLE">
+ <image alt="EXAMPLE" uri="../../../docs/user/rst/images/biohazard.png"/>
+ </substitution_definition>
+ <paragraph>
+ (Substitution definitions are not visible in the HTML source.)
+ </paragraph>
+ </section>
+ <section ids="comments" names="comments">
+ <title auto="1" refid="id58">
+ <generated classes="sectnum">
+ 2.16   
+ </generated>
+ Comments
+ </title>
+ <paragraph>
+ Here's one:
+ </paragraph>
+ <comment xml:space="preserve">
+ Comments begin with two dots and a space. Anything may
+follow, except for the syntax of footnotes, hyperlink
+targets, directives, or substitution definitions.
+
+Double-dashes -- &quot;--&quot; -- must be escaped somehow in HTML output.
+ </comment>
+ <paragraph>
+ (View the HTML source to see the comment.)
+ </paragraph>
+ </section>
+ <section ids="raw-text" names="raw\ text">
+ <title auto="1" refid="id59">
+ <generated classes="sectnum">
+ 2.17   
+ </generated>
+ Raw text
+ </title>
+ <paragraph>
+ This does not necessarily look nice, because there may be missing white space.
+ </paragraph>
+ <paragraph>
+ It's just there to freeze the behavior.
+ </paragraph>
+ <raw format="html latex" xml:space="preserve">
+ A test.
+ </raw>
+ <raw format="html latex" xml:space="preserve">
+ Second test.
+ </raw>
+ <raw classes="myclass" format="html latex" xml:space="preserve">
+ Another test with myclass set.
+ </raw>
+ <paragraph>
+ This is the
+ <raw classes="myrawroleclass" format="html latex" xml:space="preserve">
+ fourth test
+ </raw>
+ with myrawroleclass set.
+ </paragraph>
+ <raw format="html" xml:space="preserve">
+ Fifth test in HTML.&lt;br /&gt;Line two.
+ </raw>
+ <raw format="latex" xml:space="preserve">
+ Fifth test in LaTeX.\\Line two.
+ </raw>
+ </section>
+ </section>
+ <section classes="system-messages">
+ <title>
+ Docutils System Messages
+ </title>
+ <system_message backrefs="id21" ids="id20" level="3" line="96" source="original/standard_0_3_7.rst" type="ERROR">
+ <paragraph>
+ Undefined substitution referenced: &quot;problematic&quot;.
+ </paragraph>
+ </system_message>
+ <system_message backrefs="id68" ids="id67" level="3" line="350" source="original/standard_0_3_7.rst" type="ERROR">
+ <paragraph>
+ Unknown target name: &quot;5&quot;.
+ </paragraph>
+ </system_message>
+ <system_message backrefs="id70" ids="id69" level="3" line="359" source="original/standard_0_3_7.rst" type="ERROR">
+ <paragraph>
+ Unknown target name: &quot;nonexistent&quot;.
+ </paragraph>
+ </system_message>
+ <system_message backrefs="id72" ids="id71" level="3" line="384" source="original/standard_0_3_7.rst" type="ERROR">
+ <paragraph>
+ Unknown target name: &quot;hyperlink reference without a target&quot;.
+ </paragraph>
+ </system_message>
+ <system_message backrefs="id74" ids="id73" level="3" line="401" source="original/standard_0_3_7.rst" type="ERROR">
+ <paragraph>
+ Duplicate target name, cannot be used as a unique reference: &quot;duplicate target names&quot;.
+ </paragraph>
+ </system_message>
+ </section>
+</document>
diff --git a/sandbox/xml2rst/tests/synthetic/readable/standard_r6008.xml b/sandbox/xml2rst/tests/synthetic/readable/standard_r6008.xml
new file mode 100644
index 000000000..6075d2cba
--- /dev/null
+++ b/sandbox/xml2rst/tests/synthetic/readable/standard_r6008.xml
@@ -0,0 +1,2403 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by Docutils 0.8 -->
+<document ids="restructuredtext-test-document doctitle" names="restructuredtext\ test\ document doctitle" source="original/standard_r6008.rst" title="reStructuredText Test Document">
+ <title>
+ reStructuredText Test Document
+ </title>
+ <subtitle ids="examples-of-syntax-constructs subtitle" names="examples\ of\ syntax\ constructs subtitle">
+ Examples of Syntax Constructs
+ </subtitle>
+ <docinfo>
+ <author>
+ David Goodger
+ </author>
+ <address xml:space="preserve">
+ 123 Example Street
+Example, EX Canada
+A1B 2C3
+ </address>
+ <contact>
+ <reference refuri="mailto:goodger@python.org">
+ goodger@python.org
+ </reference>
+ </contact>
+ <authors>
+ <author>
+ Me
+ </author>
+ <author>
+ Myself
+ </author>
+ <author>
+ I
+ </author>
+ </authors>
+ <organization>
+ humankind
+ </organization>
+ <date>
+ Now, or yesterday. Or maybe even
+ <emphasis>
+ before
+ </emphasis>
+ yesterday.
+ </date>
+ <status>
+ This is a &quot;work in progress&quot;
+ </status>
+ <revision>
+ is managed by a version control system.
+ </revision>
+ <version>
+ 1
+ </version>
+ <copyright>
+ This document has been placed in the public domain. You
+may do with it as you wish. You may copy, modify,
+redistribute, reattribute, sell, buy, rent, lease,
+destroy, or improve it, quote it at length, excerpt,
+incorporate, collate, fold, staple, or mutilate it, or do
+anything else to it that your or anyone else's heart
+desires.
+ </copyright>
+ <field>
+ <field_name>
+ field name
+ </field_name>
+ <field_body>
+ <paragraph>
+ This is a &quot;generic bibliographic field&quot;.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ field name &quot;2&quot;
+ </field_name>
+ <field_body>
+ <paragraph>
+ Generic bibliographic fields may contain multiple body elements.
+ </paragraph>
+ <paragraph>
+ Like this.
+ </paragraph>
+ </field_body>
+ </field>
+ </docinfo>
+ <topic classes="dedication">
+ <title>
+ Dedication
+ </title>
+ <paragraph>
+ For Docutils users &amp; co-developers.
+ </paragraph>
+ </topic>
+ <topic classes="abstract">
+ <title>
+ Abstract
+ </title>
+ <paragraph>
+ This is a test document, containing at least one example of each
+reStructuredText construct.
+ </paragraph>
+ </topic>
+ <comment xml:space="preserve">
+ This is a comment. Note how any initial comments are moved by
+transforms to after the document title, subtitle, and docinfo.
+ </comment>
+ <target refid="doctitle"/>
+ <comment xml:space="preserve">
+ Above is the document title, and below is the subtitle.
+They are transformed from section titles after parsing.
+ </comment>
+ <target refid="subtitle"/>
+ <comment xml:space="preserve">
+ bibliographic fields (which also require a transform):
+ </comment>
+ <topic classes="contents" ids="table-of-contents" names="table\ of\ contents">
+ <title>
+ Table of Contents
+ </title>
+ <bullet_list classes="auto-toc">
+ <list_item>
+ <paragraph>
+ <reference ids="id32" refid="structural-elements">
+ <generated classes="sectnum">
+ 1   
+ </generated>
+ Structural Elements
+ </reference>
+ </paragraph>
+ <bullet_list classes="auto-toc">
+ <list_item>
+ <paragraph>
+ <reference ids="id33" refid="section-title">
+ <generated classes="sectnum">
+ 1.1   
+ </generated>
+ Section Title
+ </reference>
+ </paragraph>
+ <bullet_list classes="auto-toc">
+ <list_item>
+ <paragraph>
+ <reference ids="id34" refid="section-subtitle">
+ <generated classes="sectnum">
+ 1.1.1   
+ </generated>
+ Section Subtitle
+ </reference>
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id35" refid="empty-section">
+ <generated classes="sectnum">
+ 1.2   
+ </generated>
+ Empty Section
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id36" refid="transitions">
+ <generated classes="sectnum">
+ 1.3   
+ </generated>
+ Transitions
+ </reference>
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id37" refid="body-elements">
+ <generated classes="sectnum">
+ 2   
+ </generated>
+ Body Elements
+ </reference>
+ </paragraph>
+ <bullet_list classes="auto-toc">
+ <list_item>
+ <paragraph>
+ <reference ids="id38" refid="paragraphs">
+ <generated classes="sectnum">
+ 2.1   
+ </generated>
+ Paragraphs
+ </reference>
+ </paragraph>
+ <bullet_list classes="auto-toc">
+ <list_item>
+ <paragraph>
+ <reference ids="id39" refid="inline-markup">
+ <generated classes="sectnum">
+ 2.1.1   
+ </generated>
+ Inline Markup
+ </reference>
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id40" refid="bullet-lists">
+ <generated classes="sectnum">
+ 2.2   
+ </generated>
+ Bullet Lists
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id41" refid="enumerated-lists">
+ <generated classes="sectnum">
+ 2.3   
+ </generated>
+ Enumerated Lists
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id42" refid="definition-lists">
+ <generated classes="sectnum">
+ 2.4   
+ </generated>
+ Definition Lists
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id43" refid="field-lists">
+ <generated classes="sectnum">
+ 2.5   
+ </generated>
+ Field Lists
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id44" refid="option-lists">
+ <generated classes="sectnum">
+ 2.6   
+ </generated>
+ Option Lists
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id45" refid="literal-blocks">
+ <generated classes="sectnum">
+ 2.7   
+ </generated>
+ Literal Blocks
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id46" refid="line-blocks">
+ <generated classes="sectnum">
+ 2.8   
+ </generated>
+ Line Blocks
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id47" refid="block-quotes">
+ <generated classes="sectnum">
+ 2.9   
+ </generated>
+ Block Quotes
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id48" refid="doctest-blocks">
+ <generated classes="sectnum">
+ 2.10   
+ </generated>
+ Doctest Blocks
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id49" refid="footnotes">
+ <generated classes="sectnum">
+ 2.11   
+ </generated>
+ Footnotes
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id50" refid="citations">
+ <generated classes="sectnum">
+ 2.12   
+ </generated>
+ Citations
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id51" refid="targets">
+ <generated classes="sectnum">
+ 2.13   
+ </generated>
+ Targets
+ </reference>
+ </paragraph>
+ <bullet_list classes="auto-toc">
+ <list_item>
+ <paragraph>
+ <reference ids="id52" refid="duplicate-target-names">
+ <generated classes="sectnum">
+ 2.13.1   
+ </generated>
+ Duplicate Target Names
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id53" refid="id21">
+ <generated classes="sectnum">
+ 2.13.2   
+ </generated>
+ Duplicate Target Names
+ </reference>
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id54" refid="directives">
+ <generated classes="sectnum">
+ 2.14   
+ </generated>
+ Directives
+ </reference>
+ </paragraph>
+ <bullet_list classes="auto-toc">
+ <list_item>
+ <paragraph>
+ <reference ids="id55" refid="document-parts">
+ <generated classes="sectnum">
+ 2.14.1   
+ </generated>
+ Document Parts
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id56" refid="images-and-figures">
+ <generated classes="sectnum">
+ 2.14.2   
+ </generated>
+ Images and Figures
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id57" refid="admonitions">
+ <generated classes="sectnum">
+ 2.14.3   
+ </generated>
+ Admonitions
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id58" refid="topics-sidebars-and-rubrics">
+ <generated classes="sectnum">
+ 2.14.4   
+ </generated>
+ Topics, Sidebars, and Rubrics
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id59" refid="target-footnotes">
+ <generated classes="sectnum">
+ 2.14.5   
+ </generated>
+ Target Footnotes
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id60" refid="replacement-text">
+ <generated classes="sectnum">
+ 2.14.6   
+ </generated>
+ Replacement Text
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id61" refid="compound-paragraph">
+ <generated classes="sectnum">
+ 2.14.7   
+ </generated>
+ Compound Paragraph
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id62" refid="parsed-literal-blocks">
+ <generated classes="sectnum">
+ 2.14.8   
+ </generated>
+ Parsed Literal Blocks
+ </reference>
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id63" refid="substitution-definitions">
+ <generated classes="sectnum">
+ 2.15   
+ </generated>
+ Substitution Definitions
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id64" refid="comments">
+ <generated classes="sectnum">
+ 2.16   
+ </generated>
+ Comments
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id65" refid="raw-text">
+ <generated classes="sectnum">
+ 2.17   
+ </generated>
+ Raw text
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id66" refid="container">
+ <generated classes="sectnum">
+ 2.18   
+ </generated>
+ Container
+ </reference>
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </list_item>
+ </bullet_list>
+ </topic>
+ <section ids="structural-elements" names="structural\ elements">
+ <title auto="1" refid="id32">
+ <generated classes="sectnum">
+ 1   
+ </generated>
+ Structural Elements
+ </title>
+ <section ids="section-title" names="section\ title">
+ <title auto="1" refid="id33">
+ <generated classes="sectnum">
+ 1.1   
+ </generated>
+ Section Title
+ </title>
+ <section ids="section-subtitle" names="section\ subtitle">
+ <title auto="1" refid="id34">
+ <generated classes="sectnum">
+ 1.1.1   
+ </generated>
+ Section Subtitle
+ </title>
+ <paragraph>
+ That's it, the text just above this line.
+ </paragraph>
+ </section>
+ </section>
+ <section ids="empty-section" names="empty\ section">
+ <title auto="1" refid="id35">
+ <generated classes="sectnum">
+ 1.2   
+ </generated>
+ Empty Section
+ </title>
+ </section>
+ <section ids="transitions" names="transitions">
+ <title auto="1" refid="id36">
+ <generated classes="sectnum">
+ 1.3   
+ </generated>
+ Transitions
+ </title>
+ <paragraph>
+ Here's a transition:
+ </paragraph>
+ <transition/>
+ <paragraph>
+ It divides the section. Transitions may also occur between sections:
+ </paragraph>
+ </section>
+ </section>
+ <transition/>
+ <section ids="body-elements" names="body\ elements">
+ <title auto="1" refid="id37">
+ <generated classes="sectnum">
+ 2   
+ </generated>
+ Body Elements
+ </title>
+ <section ids="paragraphs" names="paragraphs">
+ <title auto="1" refid="id38">
+ <generated classes="sectnum">
+ 2.1   
+ </generated>
+ Paragraphs
+ </title>
+ <paragraph>
+ A paragraph.
+ </paragraph>
+ <section ids="inline-markup" names="inline\ markup">
+ <title auto="1" refid="id39">
+ <generated classes="sectnum">
+ 2.1.1   
+ </generated>
+ Inline Markup
+ </title>
+ <paragraph>
+ Paragraphs contain text and may contain inline markup:
+ <emphasis>
+ emphasis
+ </emphasis>
+ ,
+
+ <strong>
+ strong emphasis
+ </strong>
+ ,
+ <literal>
+ inline literals
+ </literal>
+ , standalone hyperlinks
+(
+ <reference refuri="http://www.python.org">
+ http://www.python.org
+ </reference>
+ ), external hyperlinks (
+ <reference name="Python" refuri="http://www.python.org/">
+ Python
+ </reference>
+
+ <footnote_reference auto="1" ids="id26" refid="id25">
+ 5
+ </footnote_reference>
+ ), internal
+cross-references (
+ <reference name="example" refid="example">
+ example
+ </reference>
+ ), external hyperlinks with embedded URIs
+(
+ <reference name="Python web site" refuri="http://www.python.org">
+ Python web site
+ </reference>
+ ),
+ <reference anonymous="1" name="anonymous hyperlink references" refuri="http://www.python.org/">
+ anonymous hyperlink
+references
+ </reference>
+
+ <footnote_reference auto="1" ids="id29" refid="id25">
+ 5
+ </footnote_reference>
+ (
+ <reference anonymous="1" name="a second reference" refuri="http://docutils.sourceforge.net/">
+ a second reference
+ </reference>
+
+ <footnote_reference auto="1" ids="id31" refid="id30">
+ 6
+ </footnote_reference>
+ ), footnote references (manually
+numbered
+ <footnote_reference ids="id1" refid="id8">
+ 1
+ </footnote_reference>
+ , anonymous auto-numbered
+ <footnote_reference auto="1" ids="id2" refid="id12">
+ 3
+ </footnote_reference>
+ , labeled auto-numbered
+
+ <footnote_reference auto="1" ids="id3" refid="label">
+ 2
+ </footnote_reference>
+ , or symbolic
+ <footnote_reference auto="*" ids="id4" refid="id13">
+ *
+ </footnote_reference>
+ ), citation references (
+ <citation_reference ids="id5" refid="cit2002">
+ CIT2002
+ </citation_reference>
+ ),
+substitution references (
+ <image alt="EXAMPLE" uri="../../../docs/user/rst/images/biohazard.png"/>
+ ), and
+ <target ids="inline-hyperlink-targets" names="inline\ hyperlink\ targets">
+ inline hyperlink targets
+ </target>
+
+(see
+ <reference name="Targets" refid="targets">
+ Targets
+ </reference>
+ below for a reference back to here). Character-level
+inline markup is also possible (although exceedingly ugly!) in
+ <emphasis>
+ re
+ </emphasis>
+
+ <literal>
+ Structured
+ </literal>
+
+ <emphasis>
+ Text
+ </emphasis>
+ . Problems are indicated by
+ <problematic ids="id24" refid="id23">
+ |problematic|
+ </problematic>
+ text
+(generated by processing errors; this one is intentional). Here is a
+reference to the
+ <reference name="doctitle" refid="doctitle">
+ doctitle
+ </reference>
+ and the
+ <reference name="subtitle" refid="subtitle">
+ subtitle
+ </reference>
+ .
+ </paragraph>
+ <target anonymous="1" ids="id6" refuri="http://www.python.org/"/>
+ <target anonymous="1" ids="id7" refuri="http://docutils.sourceforge.net/"/>
+ <paragraph>
+ The default role for interpreted text is
+ <title_reference>
+ Title Reference
+ </title_reference>
+ . Here are
+some explicit interpreted text roles: a PEP reference (
+ <reference refuri="http://www.python.org/dev/peps/pep-0287">
+ PEP 287
+ </reference>
+ ); an
+RFC reference (
+ <reference refuri="http://www.faqs.org/rfcs/rfc2822.html">
+ RFC 2822
+ </reference>
+ ); a
+ <subscript>
+ subscript
+ </subscript>
+ ; a
+ <superscript>
+ superscript
+ </superscript>
+ ;
+and explicit roles for
+ <emphasis>
+ standard
+ </emphasis>
+
+ <strong>
+ inline
+ </strong>
+
+
+ <literal>
+ markup
+ </literal>
+ .
+ </paragraph>
+ <comment xml:space="preserve">
+ DO NOT RE-WRAP THE FOLLOWING PARAGRAPH!
+ </comment>
+ <paragraph>
+ Let's test wrapping and whitespace significance in inline literals:
+
+ <literal>
+ This is an example of --inline-literal --text, --including some--
+strangely--hyphenated-words. Adjust-the-width-of-your-browser-window
+to see how the text is wrapped. -- ---- -------- Now note the
+spacing between the words of this sentence (words
+should be grouped in pairs).
+ </literal>
+ </paragraph>
+ <paragraph>
+ If the
+ <literal>
+ --pep-references
+ </literal>
+ option was supplied, there should be a
+live link to PEP 258 here.
+ </paragraph>
+ </section>
+ </section>
+ <section ids="bullet-lists" names="bullet\ lists">
+ <title auto="1" refid="id40">
+ <generated classes="sectnum">
+ 2.2   
+ </generated>
+ Bullet Lists
+ </title>
+ <bullet_list bullet="-">
+ <list_item>
+ <paragraph>
+ A bullet list
+ </paragraph>
+ <bullet_list bullet="+">
+ <list_item>
+ <paragraph>
+ Nested bullet list.
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Nested item 2.
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Item 2.
+ </paragraph>
+ <paragraph>
+ Paragraph 2 of item 2.
+ </paragraph>
+ <bullet_list bullet="*">
+ <list_item>
+ <paragraph>
+ Nested bullet list.
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Nested item 2.
+ </paragraph>
+ <bullet_list bullet="-">
+ <list_item>
+ <paragraph>
+ Third level.
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Item 2.
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Nested item 3.
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ This nested list should be compacted by the HTML writer.
+ </paragraph>
+ <target ids="target" names="target"/>
+ <comment xml:space="preserve">
+ Even if this item contains a target and a comment.
+ </comment>
+ </list_item>
+ </bullet_list>
+ </list_item>
+ </bullet_list>
+ </section>
+ <section ids="enumerated-lists" names="enumerated\ lists">
+ <title auto="1" refid="id41">
+ <generated classes="sectnum">
+ 2.3   
+ </generated>
+ Enumerated Lists
+ </title>
+ <enumerated_list enumtype="arabic" prefix="" suffix=".">
+ <list_item>
+ <paragraph>
+ Arabic numerals.
+ </paragraph>
+ <enumerated_list enumtype="loweralpha" prefix="" suffix=")">
+ <list_item>
+ <paragraph>
+ lower alpha)
+ </paragraph>
+ <enumerated_list enumtype="lowerroman" prefix="(" suffix=")">
+ <list_item>
+ <paragraph>
+ (lower roman)
+ </paragraph>
+ <enumerated_list enumtype="upperalpha" prefix="" suffix=".">
+ <list_item>
+ <paragraph>
+ upper alpha.
+ </paragraph>
+ <enumerated_list enumtype="upperroman" prefix="" suffix=")">
+ <list_item>
+ <paragraph>
+ upper roman)
+ </paragraph>
+ </list_item>
+ </enumerated_list>
+ </list_item>
+ </enumerated_list>
+ </list_item>
+ </enumerated_list>
+ </list_item>
+ </enumerated_list>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Lists that don't start at 1:
+ </paragraph>
+ <enumerated_list enumtype="arabic" prefix="" start="3" suffix=".">
+ <list_item>
+ <paragraph>
+ Three
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Four
+ </paragraph>
+ </list_item>
+ </enumerated_list>
+ <enumerated_list enumtype="upperalpha" prefix="" start="3" suffix=".">
+ <list_item>
+ <paragraph>
+ C
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ D
+ </paragraph>
+ </list_item>
+ </enumerated_list>
+ <enumerated_list enumtype="lowerroman" prefix="" start="3" suffix=".">
+ <list_item>
+ <paragraph>
+ iii
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ iv
+ </paragraph>
+ </list_item>
+ </enumerated_list>
+ </list_item>
+ </enumerated_list>
+ </section>
+ <section ids="definition-lists" names="definition\ lists">
+ <title auto="1" refid="id42">
+ <generated classes="sectnum">
+ 2.4   
+ </generated>
+ Definition Lists
+ </title>
+ <definition_list>
+ <definition_list_item>
+ <term>
+ Term
+ </term>
+ <definition>
+ <paragraph>
+ Definition
+ </paragraph>
+ </definition>
+ </definition_list_item>
+ <definition_list_item>
+ <term>
+ Term
+ </term>
+ <classifier>
+ classifier
+ </classifier>
+ <definition>
+ <paragraph>
+ Definition paragraph 1.
+ </paragraph>
+ <paragraph>
+ Definition paragraph 2.
+ </paragraph>
+ </definition>
+ </definition_list_item>
+ <definition_list_item>
+ <term>
+ Term
+ </term>
+ <definition>
+ <paragraph>
+ Definition
+ </paragraph>
+ </definition>
+ </definition_list_item>
+ <definition_list_item>
+ <term>
+ Term
+ </term>
+ <classifier>
+ classifier one
+ </classifier>
+ <classifier>
+ classifier two
+ </classifier>
+ <definition>
+ <paragraph>
+ Definition
+ </paragraph>
+ </definition>
+ </definition_list_item>
+ </definition_list>
+ </section>
+ <section ids="field-lists" names="field\ lists">
+ <title auto="1" refid="id43">
+ <generated classes="sectnum">
+ 2.5   
+ </generated>
+ Field Lists
+ </title>
+ <field_list>
+ <field>
+ <field_name>
+ what
+ </field_name>
+ <field_body>
+ <paragraph>
+ Field lists map field names to field bodies, like database
+records. They are often part of an extension syntax. They are
+an unambiguous variant of RFC 2822 fields.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ how arg1 arg2
+ </field_name>
+ <field_body>
+ <paragraph>
+ The field marker is a colon, the field name, and a colon.
+ </paragraph>
+ <paragraph>
+ The field body may contain one or more body elements, indented
+relative to the field marker.
+ </paragraph>
+ </field_body>
+ </field>
+ <field>
+ <field_name>
+ credits
+ </field_name>
+ <field_body>
+ <paragraph classes="credits">
+ This paragraph has the
+ <title_reference>
+ credits
+ </title_reference>
+ class set. (This is actually not
+about credits but just for ensuring that the class attribute
+doesn't get stripped away.)
+ </paragraph>
+ </field_body>
+ </field>
+ </field_list>
+ </section>
+ <section ids="option-lists" names="option\ lists">
+ <title auto="1" refid="id44">
+ <generated classes="sectnum">
+ 2.6   
+ </generated>
+ Option Lists
+ </title>
+ <paragraph>
+ For listing command-line options:
+ </paragraph>
+ <option_list>
+ <option_list_item>
+ <option_group>
+ <option>
+ <option_string>
+ -a
+ </option_string>
+ </option>
+ </option_group>
+ <description>
+ <paragraph>
+ command-line option &quot;a&quot;
+ </paragraph>
+ </description>
+ </option_list_item>
+ <option_list_item>
+ <option_group>
+ <option>
+ <option_string>
+ -b
+ </option_string>
+ <option_argument delimiter=" ">
+ file
+ </option_argument>
+ </option>
+ </option_group>
+ <description>
+ <paragraph>
+ options can have arguments
+and long descriptions
+ </paragraph>
+ </description>
+ </option_list_item>
+ <option_list_item>
+ <option_group>
+ <option>
+ <option_string>
+ --long
+ </option_string>
+ </option>
+ </option_group>
+ <description>
+ <paragraph>
+ options can be long also
+ </paragraph>
+ </description>
+ </option_list_item>
+ <option_list_item>
+ <option_group>
+ <option>
+ <option_string>
+ --input
+ </option_string>
+ <option_argument delimiter="=">
+ file
+ </option_argument>
+ </option>
+ </option_group>
+ <description>
+ <paragraph>
+ long options can also have
+arguments
+ </paragraph>
+ </description>
+ </option_list_item>
+ <option_list_item>
+ <option_group>
+ <option>
+ <option_string>
+ --very-long-option
+ </option_string>
+ </option>
+ </option_group>
+ <description>
+ <paragraph>
+ The description can also start on the next line.
+ </paragraph>
+ <paragraph>
+ The description may contain multiple body elements,
+regardless of where it starts.
+ </paragraph>
+ </description>
+ </option_list_item>
+ <option_list_item>
+ <option_group>
+ <option>
+ <option_string>
+ -x
+ </option_string>
+ </option>
+ <option>
+ <option_string>
+ -y
+ </option_string>
+ </option>
+ <option>
+ <option_string>
+ -z
+ </option_string>
+ </option>
+ </option_group>
+ <description>
+ <paragraph>
+ Multiple options are an &quot;option group&quot;.
+ </paragraph>
+ </description>
+ </option_list_item>
+ <option_list_item>
+ <option_group>
+ <option>
+ <option_string>
+ -v
+ </option_string>
+ </option>
+ <option>
+ <option_string>
+ --verbose
+ </option_string>
+ </option>
+ </option_group>
+ <description>
+ <paragraph>
+ Commonly-seen: short &amp; long options.
+ </paragraph>
+ </description>
+ </option_list_item>
+ <option_list_item>
+ <option_group>
+ <option>
+ <option_string>
+ -1
+ </option_string>
+ <option_argument delimiter=" ">
+ file
+ </option_argument>
+ </option>
+ <option>
+ <option_string>
+ --one
+ </option_string>
+ <option_argument delimiter="=">
+ file
+ </option_argument>
+ </option>
+ <option>
+ <option_string>
+ --two
+ </option_string>
+ <option_argument delimiter=" ">
+ file
+ </option_argument>
+ </option>
+ </option_group>
+ <description>
+ <paragraph>
+ Multiple options with arguments.
+ </paragraph>
+ </description>
+ </option_list_item>
+ <option_list_item>
+ <option_group>
+ <option>
+ <option_string>
+ /V
+ </option_string>
+ </option>
+ </option_group>
+ <description>
+ <paragraph>
+ DOS/VMS-style options too
+ </paragraph>
+ </description>
+ </option_list_item>
+ </option_list>
+ <paragraph>
+ There must be at least two spaces between the option and the
+description.
+ </paragraph>
+ </section>
+ <section ids="literal-blocks" names="literal\ blocks">
+ <title auto="1" refid="id45">
+ <generated classes="sectnum">
+ 2.7   
+ </generated>
+ Literal Blocks
+ </title>
+ <paragraph>
+ Literal blocks are indicated with a double-colon (&quot;::&quot;) at the end of
+the preceding paragraph (over there
+ <literal>
+ --&gt;
+ </literal>
+ ). They can be indented:
+ </paragraph>
+ <literal_block xml:space="preserve">
+ if literal_block:
+ text = 'is left as-is'
+ spaces_and_linebreaks = 'are preserved'
+ markup_processing = None
+ </literal_block>
+ <paragraph>
+ Or they can be quoted without indentation:
+ </paragraph>
+ <literal_block xml:space="preserve">
+ &gt;&gt; Great idea!
+&gt;
+&gt; Why didn't I think of that?
+ </literal_block>
+ </section>
+ <section ids="line-blocks" names="line\ blocks">
+ <title auto="1" refid="id46">
+ <generated classes="sectnum">
+ 2.8   
+ </generated>
+ Line Blocks
+ </title>
+ <paragraph>
+ This section tests line blocks. Line blocks are body elements which
+consist of lines and other line blocks. Nested line blocks cause
+indentation.
+ </paragraph>
+ <line_block>
+ <line>
+ This is a line block. It ends with a blank line.
+ </line>
+ <line_block>
+ <line>
+ New lines begin with a vertical bar (&quot;|&quot;).
+ </line>
+ <line>
+ Line breaks and initial indent are significant, and preserved.
+ </line>
+ <line_block>
+ <line>
+ Continuation lines are also possible. A long line that is intended
+to wrap should begin with a space in place of the vertical bar.
+ </line>
+ </line_block>
+ <line>
+ The left edge of a continuation line need not be aligned with
+the left edge of the text above it.
+ </line>
+ </line_block>
+ </line_block>
+ <line_block>
+ <line>
+ This is a second line block.
+ </line>
+ <line/>
+ <line>
+ Blank lines are permitted internally, but they must begin with a &quot;|&quot;.
+ </line>
+ </line_block>
+ <paragraph>
+ Another line block, surrounded by paragraphs:
+ </paragraph>
+ <line_block>
+ <line>
+ And it's no good waiting by the window
+ </line>
+ <line>
+ It's no good waiting for the sun
+ </line>
+ <line>
+ Please believe me, the things you dream of
+ </line>
+ <line>
+ They don't fall in the lap of no-one
+ </line>
+ </line_block>
+ <paragraph>
+ Take it away, Eric the Orchestra Leader!
+ </paragraph>
+ <block_quote>
+ <line_block>
+ <line>
+ A one, two, a one two three four
+ </line>
+ <line/>
+ <line>
+ Half a bee, philosophically,
+ </line>
+ <line_block>
+ <line>
+ must,
+ <emphasis>
+ ipso facto
+ </emphasis>
+ , half not be.
+ </line>
+ </line_block>
+ <line>
+ But half the bee has got to be,
+ </line>
+ <line_block>
+ <line>
+ <emphasis>
+ vis a vis
+ </emphasis>
+ its entity. D'you see?
+ </line>
+ <line/>
+ </line_block>
+ <line>
+ But can a bee be said to be
+ </line>
+ <line_block>
+ <line>
+ or not to be an entire bee,
+ </line>
+ <line_block>
+ <line>
+ when half the bee is not a bee,
+ </line>
+ <line_block>
+ <line>
+ due to some ancient injury?
+ </line>
+ <line/>
+ </line_block>
+ </line_block>
+ </line_block>
+ <line>
+ Singing...
+ </line>
+ </line_block>
+ </block_quote>
+ </section>
+ <section ids="block-quotes" names="block\ quotes">
+ <title auto="1" refid="id47">
+ <generated classes="sectnum">
+ 2.9   
+ </generated>
+ Block Quotes
+ </title>
+ <paragraph>
+ Block quotes consist of indented body elements:
+ </paragraph>
+ <block_quote>
+ <paragraph>
+ My theory by A. Elk. Brackets Miss, brackets. This theory goes
+as follows and begins now. All brontosauruses are thin at one
+end, much much thicker in the middle and then thin again at the
+far end. That is my theory, it is mine, and belongs to me and I
+own it, and what it is too.
+ </paragraph>
+ <attribution>
+ Anne Elk (Miss)
+ </attribution>
+ </block_quote>
+ </section>
+ <section ids="doctest-blocks" names="doctest\ blocks">
+ <title auto="1" refid="id48">
+ <generated classes="sectnum">
+ 2.10   
+ </generated>
+ Doctest Blocks
+ </title>
+ <doctest_block xml:space="preserve">
+ &gt;&gt;&gt; print 'Python-specific usage examples; begun with &quot;&gt;&gt;&gt;&quot;'
+Python-specific usage examples; begun with &quot;&gt;&gt;&gt;&quot;
+&gt;&gt;&gt; print '(cut and pasted from interactive Python sessions)'
+(cut and pasted from interactive Python sessions)
+ </doctest_block>
+ </section>
+ <section ids="footnotes" names="footnotes">
+ <title auto="1" refid="id49">
+ <generated classes="sectnum">
+ 2.11   
+ </generated>
+ Footnotes
+ </title>
+ <footnote backrefs="id1 id9 id22" ids="id8" names="1">
+ <label>
+ 1
+ </label>
+ <paragraph>
+ A footnote contains body elements, consistently indented by at
+least 3 spaces.
+ </paragraph>
+ <paragraph>
+ This is the footnote's second paragraph.
+ </paragraph>
+ </footnote>
+ <footnote auto="1" backrefs="id3 id10" ids="label" names="label">
+ <label>
+ 2
+ </label>
+ <paragraph>
+ Footnotes may be numbered, either manually (as in
+ <footnote_reference ids="id9" refid="id8">
+ 1
+ </footnote_reference>
+ ) or
+automatically using a &quot;#&quot;-prefixed label. This footnote has a
+label so it can be referred to from multiple places, both as a
+footnote reference (
+ <footnote_reference auto="1" ids="id10" refid="label">
+ 2
+ </footnote_reference>
+ ) and as a
+ <reference anonymous="1" name="hyperlink reference" refid="label">
+ hyperlink reference
+ </reference>
+ .
+ </paragraph>
+ <target anonymous="1" ids="id11" refid="label"/>
+ </footnote>
+ <footnote auto="1" backrefs="id2" ids="id12" names="3">
+ <label>
+ 3
+ </label>
+ <paragraph>
+ This footnote is numbered automatically and anonymously using a
+label of &quot;#&quot; only.
+ </paragraph>
+ <paragraph>
+ This is the second paragraph.
+ </paragraph>
+ <paragraph>
+ And this is the third paragraph.
+ </paragraph>
+ </footnote>
+ <footnote auto="*" backrefs="id4" ids="id13">
+ <label>
+ *
+ </label>
+ <paragraph>
+ Footnotes may also use symbols, specified with a &quot;*&quot; label.
+Here's a reference to the next footnote:
+ <footnote_reference auto="*" ids="id14" refid="id15">
+ †
+ </footnote_reference>
+ .
+ </paragraph>
+ </footnote>
+ <footnote auto="*" backrefs="id14" ids="id15">
+ <label>
+ †
+ </label>
+ <paragraph>
+ This footnote shows the next symbol in the sequence.
+ </paragraph>
+ </footnote>
+ <footnote ids="id16" names="4">
+ <label>
+ 4
+ </label>
+ <paragraph>
+ Here's an unreferenced footnote, with a reference to a
+nonexistent footnote:
+ <problematic ids="id76 id17" refid="id75">
+ [5]_
+ </problematic>
+ .
+ </paragraph>
+ </footnote>
+ </section>
+ <section ids="citations" names="citations">
+ <title auto="1" refid="id50">
+ <generated classes="sectnum">
+ 2.12   
+ </generated>
+ Citations
+ </title>
+ <citation backrefs="id5 id18" ids="cit2002" names="cit2002">
+ <label>
+ CIT2002
+ </label>
+ <paragraph>
+ Citations are text-labeled footnotes. They may be
+rendered separately and differently from footnotes.
+ </paragraph>
+ </citation>
+ <paragraph>
+ Here's a reference to the above,
+ <citation_reference ids="id18" refid="cit2002">
+ CIT2002
+ </citation_reference>
+ , and a
+ <problematic ids="id78 id19" refid="id77">
+ [nonexistent]_
+ </problematic>
+
+citation.
+ </paragraph>
+ <target refid="another-target"/>
+ </section>
+ <section ids="targets another-target" names="targets another\ target">
+ <title auto="1" refid="id51">
+ <generated classes="sectnum">
+ 2.13   
+ </generated>
+ Targets
+ </title>
+ <target refid="example"/>
+ <paragraph ids="example" names="example">
+ This paragraph is pointed to by the explicit &quot;example&quot; target. A
+reference can be found under
+ <reference name="Inline Markup" refid="inline-markup">
+ Inline Markup
+ </reference>
+ , above.
+ <reference name="Inline hyperlink targets" refid="inline-hyperlink-targets">
+ Inline
+hyperlink targets
+ </reference>
+ are also possible.
+ </paragraph>
+ <paragraph>
+ Section headers are implicit targets, referred to by name. See
+
+ <reference name="Targets" refid="targets">
+ Targets
+ </reference>
+ , which is a subsection of
+ <reference name="Body Elements" refid="body-elements">
+ Body Elements
+ </reference>
+ .
+ </paragraph>
+ <paragraph>
+ Explicit external targets are interpolated into references such as
+&quot;
+ <reference name="Python" refuri="http://www.python.org/">
+ Python
+ </reference>
+
+ <footnote_reference auto="1" ids="id27" refid="id25">
+ 5
+ </footnote_reference>
+ &quot;.
+ </paragraph>
+ <target ids="python" names="python" refuri="http://www.python.org/"/>
+ <paragraph>
+ Targets may be indirect and anonymous. Thus
+ <reference anonymous="1" name="this phrase" refid="targets">
+ this phrase
+ </reference>
+ may also
+refer to the
+ <reference name="Targets" refid="targets">
+ Targets
+ </reference>
+ section.
+ </paragraph>
+ <target anonymous="1" ids="id20" refid="targets"/>
+ <paragraph>
+ Here's a
+ <problematic ids="id80" refid="id79">
+ `hyperlink reference without a target`_
+ </problematic>
+ , which generates an
+error.
+ </paragraph>
+ <section dupnames="duplicate\ target\ names" ids="duplicate-target-names">
+ <title auto="1" refid="id52">
+ <generated classes="sectnum">
+ 2.13.1   
+ </generated>
+ Duplicate Target Names
+ </title>
+ <paragraph>
+ Duplicate names in section headers or other implicit targets will
+generate &quot;info&quot; (level-1) system messages. Duplicate names in
+explicit targets will generate &quot;warning&quot; (level-2) system messages.
+ </paragraph>
+ </section>
+ <section dupnames="duplicate\ target\ names" ids="id21">
+ <title auto="1" refid="id53">
+ <generated classes="sectnum">
+ 2.13.2   
+ </generated>
+ Duplicate Target Names
+ </title>
+ <paragraph>
+ Since there are two &quot;Duplicate Target Names&quot; section headers, we
+cannot uniquely refer to either of them by name. If we try to (like
+this:
+ <problematic ids="id82" refid="id81">
+ `Duplicate Target Names`_
+ </problematic>
+ ), an error is generated.
+ </paragraph>
+ </section>
+ </section>
+ <section ids="directives" names="directives">
+ <title auto="1" refid="id54">
+ <generated classes="sectnum">
+ 2.14   
+ </generated>
+ Directives
+ </title>
+ <topic classes="contents local" ids="contents" names="contents">
+ <bullet_list classes="auto-toc">
+ <list_item>
+ <paragraph>
+ <reference ids="id67" refid="document-parts">
+ <generated classes="sectnum">
+ 2.14.1   
+ </generated>
+ Document Parts
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id68" refid="images-and-figures">
+ <generated classes="sectnum">
+ 2.14.2   
+ </generated>
+ Images and Figures
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id69" refid="admonitions">
+ <generated classes="sectnum">
+ 2.14.3   
+ </generated>
+ Admonitions
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id70" refid="topics-sidebars-and-rubrics">
+ <generated classes="sectnum">
+ 2.14.4   
+ </generated>
+ Topics, Sidebars, and Rubrics
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id71" refid="target-footnotes">
+ <generated classes="sectnum">
+ 2.14.5   
+ </generated>
+ Target Footnotes
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id72" refid="replacement-text">
+ <generated classes="sectnum">
+ 2.14.6   
+ </generated>
+ Replacement Text
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id73" refid="compound-paragraph">
+ <generated classes="sectnum">
+ 2.14.7   
+ </generated>
+ Compound Paragraph
+ </reference>
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ <reference ids="id74" refid="parsed-literal-blocks">
+ <generated classes="sectnum">
+ 2.14.8   
+ </generated>
+ Parsed Literal Blocks
+ </reference>
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </topic>
+ <paragraph>
+ These are just a sample of the many reStructuredText Directives. For
+others, please see
+
+ <reference refuri="http://docutils.sourceforge.net/docs/ref/rst/directives.html">
+ http://docutils.sourceforge.net/docs/ref/rst/directives.html
+ </reference>
+ .
+ </paragraph>
+ <section ids="document-parts" names="document\ parts">
+ <title auto="1" refid="id67">
+ <generated classes="sectnum">
+ 2.14.1   
+ </generated>
+ Document Parts
+ </title>
+ <paragraph>
+ An example of the &quot;contents&quot; directive can be seen above this section
+(a local, untitled table of
+ <reference name="contents" refid="contents">
+ contents
+ </reference>
+ ) and at the beginning of the
+document (a document-wide
+ <reference name="table of contents" refid="table-of-contents">
+ table of contents
+ </reference>
+ ).
+ </paragraph>
+ </section>
+ <section ids="images-and-figures" names="images\ and\ figures">
+ <title auto="1" refid="id68">
+ <generated classes="sectnum">
+ 2.14.2   
+ </generated>
+ Images and Figures
+ </title>
+ <paragraph>
+ An image directive (also clickable -- a hyperlink reference):
+ </paragraph>
+ <reference name="directives" refid="directives">
+ <image classes="class1 class2" uri="../../../docs/user/rst/images/title.png"/>
+ </reference>
+ <paragraph>
+ Image with multiple IDs:
+ </paragraph>
+ <target refid="image-target-1"/>
+ <target refid="image-target-2"/>
+ <target refid="image-target-3"/>
+ <image ids="image-target-3 image-target-2 image-target-1" names="image\ target\ 3 image\ target\ 2 image\ target\ 1" uri="../../../docs/user/rst/images/title.png"/>
+ <paragraph>
+ A centered image:
+ </paragraph>
+ <image align="center" uri="../../../docs/user/rst/images/biohazard.png"/>
+ <paragraph>
+ A left-aligned image:
+ </paragraph>
+ <image align="left" uri="../../../docs/user/rst/images/biohazard.png"/>
+ <paragraph>
+ This paragraph might flow around the image.
+The specific behavior depends upon the style sheet and
+the browser or rendering software used.
+ </paragraph>
+ <paragraph>
+ A right-aligned image:
+ </paragraph>
+ <image align="right" uri="../../../docs/user/rst/images/biohazard.png"/>
+ <paragraph>
+ This paragraph might flow around the image.
+The specific behavior depends upon the style sheet and
+the browser or rendering software used.
+ </paragraph>
+ <paragraph>
+ For inline images see
+ <reference name="Substitution Definitions" refid="substitution-definitions">
+ Substitution Definitions
+ </reference>
+ .
+ </paragraph>
+ <paragraph>
+ Image size:
+ </paragraph>
+ <paragraph>
+ An image 2 em wide:
+ </paragraph>
+ <image uri="../../../docs/user/rst/images/biohazard.png" width="2em"/>
+ <paragraph>
+ An image 2 em wide and 15 pixel high:
+ </paragraph>
+ <image height="15px" uri="../../../docs/user/rst/images/biohazard.png" width="2em"/>
+ <paragraph>
+ An image occupying 50% of the line width:
+ </paragraph>
+ <image uri="../../../docs/user/rst/images/title.png" width="50%"/>
+ <paragraph>
+ An image 2 cm high:
+ </paragraph>
+ <image height="2cm" uri="../../../docs/user/rst/images/biohazard.png"/>
+ <paragraph>
+ A
+ <emphasis>
+ figure
+ </emphasis>
+ is an image with a caption and/or a legend. With page-based output
+media, figures might float to a different position if this helps the page
+layout.
+ </paragraph>
+ <figure classes="figclass1 figclass2">
+ <image alt="reStructuredText, the markup syntax" classes="class1 class2" uri="../../../docs/user/rst/images/title.png" width="258"/>
+ <caption>
+ Plaintext markup syntax and parser system.
+ </caption>
+ <legend>
+ <table>
+ <tgroup cols="2">
+ <colspec colwidth="12"/>
+ <colspec colwidth="47"/>
+ <tbody>
+ <row>
+ <entry>
+ <paragraph>
+ re
+ </paragraph>
+ </entry>
+ <entry>
+ <paragraph>
+ Revised, revisited, based on 're' module.
+ </paragraph>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <paragraph>
+ Structured
+ </paragraph>
+ </entry>
+ <entry>
+ <paragraph>
+ Structure-enhanced text, structuredtext.
+ </paragraph>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <paragraph>
+ Text
+ </paragraph>
+ </entry>
+ <entry>
+ <paragraph>
+ Well it is, isn't it?
+ </paragraph>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <paragraph>
+ This paragraph is also part of the legend.
+ </paragraph>
+ </legend>
+ </figure>
+ <paragraph>
+ A left-aligned figure:
+ </paragraph>
+ <figure align="left" classes="figclass1 figclass2">
+ <image alt="reStructuredText, the markup syntax" classes="class1 class2" uri="../../../docs/user/rst/images/biohazard.png" width="50"/>
+ <caption>
+ This is the caption.
+ </caption>
+ <legend>
+ <paragraph>
+ This is the legend.
+ </paragraph>
+ <paragraph>
+ The legend may consist of several paragraphs.
+ </paragraph>
+ </legend>
+ </figure>
+ <paragraph>
+ This paragraph might flow around the figure. The specific behavior depends
+upon the style sheet and the browser or rendering software used.
+ </paragraph>
+ <paragraph>
+ A centered figure:
+ </paragraph>
+ <figure align="center">
+ <image uri="../../../docs/user/rst/images/biohazard.png" width="50"/>
+ <caption>
+ This is the caption.
+ </caption>
+ <legend>
+ <paragraph>
+ This is the legend.
+ </paragraph>
+ <paragraph>
+ The legend may consist of several paragraphs.
+ </paragraph>
+ </legend>
+ </figure>
+ <paragraph>
+ This paragraph might flow around the figure. The specific behavior depends
+upon the style sheet and the browser or rendering software used.
+ </paragraph>
+ <paragraph>
+ A right-aligned figure:
+ </paragraph>
+ <figure align="right">
+ <image uri="../../../docs/user/rst/images/biohazard.png" width="50"/>
+ <caption>
+ This is the caption.
+ </caption>
+ <legend>
+ <paragraph>
+ This is the legend.
+ </paragraph>
+ <paragraph>
+ The legend may consist of several paragraphs.
+ </paragraph>
+ </legend>
+ </figure>
+ <paragraph>
+ This paragraph might flow around the figure. The specific behavior depends
+upon the style sheet and the browser or rendering software used.
+ </paragraph>
+ </section>
+ <section ids="admonitions" names="admonitions">
+ <title auto="1" refid="id69">
+ <generated classes="sectnum">
+ 2.14.3   
+ </generated>
+ Admonitions
+ </title>
+ <attention>
+ <paragraph>
+ Directives at large.
+ </paragraph>
+ </attention>
+ <caution>
+ <paragraph>
+ Don't take any wooden nickels.
+ </paragraph>
+ </caution>
+ <danger>
+ <paragraph>
+ Mad scientist at work!
+ </paragraph>
+ </danger>
+ <error>
+ <paragraph>
+ Does not compute.
+ </paragraph>
+ </error>
+ <hint>
+ <paragraph>
+ It's bigger than a bread box.
+ </paragraph>
+ </hint>
+ <important>
+ <bullet_list bullet="-">
+ <list_item>
+ <paragraph>
+ Wash behind your ears.
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Clean up your room.
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Call your mother.
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Back up your data.
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </important>
+ <note>
+ <paragraph>
+ This is a note.
+ </paragraph>
+ </note>
+ <tip>
+ <paragraph>
+ 15% if the service is good.
+ </paragraph>
+ </tip>
+ <warning>
+ <paragraph>
+ Strong prose may provoke extreme mental exertion.
+Reader discretion is strongly advised.
+ </paragraph>
+ </warning>
+ <admonition classes="admonition-and-by-the-way">
+ <title>
+ And, by the way...
+ </title>
+ <paragraph>
+ You can make up your own admonition too.
+ </paragraph>
+ <target ids="docutils" names="docutils" refuri="http://docutils.sourceforge.net/"/>
+ </admonition>
+ </section>
+ <section ids="topics-sidebars-and-rubrics" names="topics,\ sidebars,\ and\ rubrics">
+ <title auto="1" refid="id70">
+ <generated classes="sectnum">
+ 2.14.4   
+ </generated>
+ Topics, Sidebars, and Rubrics
+ </title>
+ <sidebar>
+ <title>
+ Sidebar Title
+ </title>
+ <subtitle>
+ Optional Subtitle
+ </subtitle>
+ <paragraph>
+ This is a sidebar. It is for text outside the flow of the main
+text.
+ </paragraph>
+ <rubric>
+ This is a rubric inside a sidebar
+ </rubric>
+ <paragraph>
+ Sidebars often appears beside the main text with a border and
+background color.
+ </paragraph>
+ </sidebar>
+ <topic>
+ <title>
+ Topic Title
+ </title>
+ <paragraph>
+ This is a topic.
+ </paragraph>
+ </topic>
+ <rubric>
+ This is a rubric
+ </rubric>
+ </section>
+ <section ids="target-footnotes" names="target\ footnotes">
+ <title auto="1" refid="id71">
+ <generated classes="sectnum">
+ 2.14.5   
+ </generated>
+ Target Footnotes
+ </title>
+ <footnote auto="1" backrefs="id26 id27 id28 id29" ids="id25" names="TARGET_NOTE:\ id25">
+ <label>
+ 5
+ </label>
+ <paragraph>
+ <reference refuri="http://www.python.org/">
+ http://www.python.org/
+ </reference>
+ </paragraph>
+ </footnote>
+ <footnote auto="1" backrefs="id31" ids="id30" names="TARGET_NOTE:\ id30">
+ <label>
+ 6
+ </label>
+ <paragraph>
+ <reference refuri="http://docutils.sourceforge.net/">
+ http://docutils.sourceforge.net/
+ </reference>
+ </paragraph>
+ </footnote>
+ </section>
+ <section ids="replacement-text" names="replacement\ text">
+ <title auto="1" refid="id72">
+ <generated classes="sectnum">
+ 2.14.6   
+ </generated>
+ Replacement Text
+ </title>
+ <paragraph>
+ I recommend you try
+ <reference refuri="http://www.python.org/">
+ Python,
+ <emphasis>
+ the
+ </emphasis>
+ best language around
+ </reference>
+
+ <footnote_reference auto="1" ids="id28" refid="id25">
+ 5
+ </footnote_reference>
+ .
+ </paragraph>
+ <substitution_definition names="Python">
+ Python,
+ <emphasis>
+ the
+ </emphasis>
+ best language around
+ </substitution_definition>
+ </section>
+ <section ids="compound-paragraph" names="compound\ paragraph">
+ <title auto="1" refid="id73">
+ <generated classes="sectnum">
+ 2.14.7   
+ </generated>
+ Compound Paragraph
+ </title>
+ <compound classes="some-class">
+ <paragraph>
+ Compound 1, paragraph 1.
+ </paragraph>
+ <paragraph>
+ Compound 1, paragraph 2.
+ </paragraph>
+ <bullet_list bullet="*">
+ <list_item>
+ <paragraph>
+ Compound 1, list item one.
+ </paragraph>
+ </list_item>
+ <list_item>
+ <paragraph>
+ Compound 1, list item two.
+ </paragraph>
+ </list_item>
+ </bullet_list>
+ </compound>
+ <paragraph>
+ Another compound statement:
+ </paragraph>
+ <compound>
+ <paragraph>
+ Compound 2, a literal block:
+ </paragraph>
+ <literal_block xml:space="preserve">
+ Compound 2, literal.
+ </literal_block>
+ <paragraph>
+ Compound 2, this is a test.
+ </paragraph>
+ </compound>
+ <compound>
+ <paragraph>
+ Compound 3, only consisting of one paragraph.
+ </paragraph>
+ </compound>
+ <compound>
+ <literal_block xml:space="preserve">
+ Compound 4.
+This one starts with a literal block.
+ </literal_block>
+ <paragraph>
+ Compound 4, a paragraph.
+ </paragraph>
+ </compound>
+ <paragraph>
+ Now something
+ <emphasis>
+ really
+ </emphasis>
+ perverted -- a nested compound block. This is
+just to test that it works at all; the results don't have to be
+meaningful.
+ </paragraph>
+ <compound>
+ <paragraph>
+ Compound 5, block 1 (a paragraph).
+ </paragraph>
+ <compound>
+ <paragraph>
+ Compound 6, block 2 in compound 5.
+ </paragraph>
+ <paragraph>
+ Compound 6, another paragraph.
+ </paragraph>
+ </compound>
+ <paragraph>
+ Compound 5, block 3 (a paragraph).
+ </paragraph>
+ </compound>
+ <compound>
+ <paragraph>
+ Compound 7, with a table inside:
+ </paragraph>
+ <table>
+ <tgroup cols="3">
+ <colspec colwidth="20"/>
+ <colspec colwidth="20"/>
+ <colspec colwidth="20"/>
+ <tbody>
+ <row>
+ <entry>
+ <paragraph>
+ Left cell, first
+paragraph.
+ </paragraph>
+ <paragraph>
+ Left cell, second
+paragraph.
+ </paragraph>
+ </entry>
+ <entry>
+ <paragraph>
+ Middle cell,
+consisting of
+exactly one
+paragraph.
+ </paragraph>
+ </entry>
+ <entry>
+ <paragraph>
+ Right cell.
+ </paragraph>
+ <paragraph>
+ Paragraph 2.
+ </paragraph>
+ <paragraph>
+ Paragraph 3.
+ </paragraph>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <paragraph>
+ Compound 7, a paragraph after the table.
+ </paragraph>
+ <paragraph>
+ Compound 7, another paragraph.
+ </paragraph>
+ </compound>
+ </section>
+ <section ids="parsed-literal-blocks" names="parsed\ literal\ blocks">
+ <title auto="1" refid="id74">
+ <generated classes="sectnum">
+ 2.14.8   
+ </generated>
+ Parsed Literal Blocks
+ </title>
+ <literal_block xml:space="preserve">
+ This is a parsed literal block.
+ This line is indented. The next line is blank.
+
+Inline markup is supported, e.g.
+ <emphasis>
+ emphasis
+ </emphasis>
+ ,
+ <strong>
+ strong
+ </strong>
+ ,
+ <literal>
+ literal
+text
+ </literal>
+ , footnotes
+ <footnote_reference ids="id22" refid="id8">
+ 1
+ </footnote_reference>
+ ,
+ <target ids="hyperlink-targets" names="hyperlink\ targets">
+ hyperlink targets
+ </target>
+ , and
+ <reference name="references" refuri="http://www.python.org/">
+ references
+ </reference>
+ <target ids="references" names="references" refuri="http://www.python.org/"/>
+ .
+ </literal_block>
+ </section>
+ </section>
+ <section ids="substitution-definitions" names="substitution\ definitions">
+ <title auto="1" refid="id63">
+ <generated classes="sectnum">
+ 2.15   
+ </generated>
+ Substitution Definitions
+ </title>
+ <paragraph>
+ An inline image (
+ <image alt="EXAMPLE" uri="../../../docs/user/rst/images/biohazard.png"/>
+ ) example:
+ </paragraph>
+ <substitution_definition names="EXAMPLE">
+ <image alt="EXAMPLE" uri="../../../docs/user/rst/images/biohazard.png"/>
+ </substitution_definition>
+ <paragraph>
+ (Substitution definitions are not visible in the HTML source.)
+ </paragraph>
+ </section>
+ <section ids="comments" names="comments">
+ <title auto="1" refid="id64">
+ <generated classes="sectnum">
+ 2.16   
+ </generated>
+ Comments
+ </title>
+ <paragraph>
+ Here's one:
+ </paragraph>
+ <comment xml:space="preserve">
+ Comments begin with two dots and a space. Anything may
+follow, except for the syntax of footnotes, hyperlink
+targets, directives, or substitution definitions.
+
+Double-dashes -- &quot;--&quot; -- must be escaped somehow in HTML output.
+
+Comments may contain non-ASCII characters: ä ö ü æ ø å
+ </comment>
+ <paragraph>
+ (View the HTML source to see the comment.)
+ </paragraph>
+ </section>
+ <section ids="raw-text" names="raw\ text">
+ <title auto="1" refid="id65">
+ <generated classes="sectnum">
+ 2.17   
+ </generated>
+ Raw text
+ </title>
+ <paragraph>
+ This does not necessarily look nice, because there may be missing white space.
+ </paragraph>
+ <paragraph>
+ It's just there to freeze the behavior.
+ </paragraph>
+ <raw format="html latex" xml:space="preserve">
+ A test.
+ </raw>
+ <raw format="html latex" xml:space="preserve">
+ Second test.
+ </raw>
+ <raw classes="myclass" format="html latex" xml:space="preserve">
+ Another test with myclass set.
+ </raw>
+ <paragraph>
+ This is the
+ <raw classes="myrawroleclass" format="html latex" xml:space="preserve">
+ fourth test
+ </raw>
+ with myrawroleclass set.
+ </paragraph>
+ <raw format="html" xml:space="preserve">
+ Fifth test in HTML.&lt;br /&gt;Line two.
+ </raw>
+ <raw format="latex" xml:space="preserve">
+ Fifth test in LaTeX.\\Line two.
+ </raw>
+ </section>
+ <section ids="container" names="container">
+ <title auto="1" refid="id66">
+ <generated classes="sectnum">
+ 2.18   
+ </generated>
+ Container
+ </title>
+ <container classes="custom">
+ <paragraph>
+ paragraph 1
+ </paragraph>
+ <paragraph>
+ paragraph 2
+ </paragraph>
+ </container>
+ </section>
+ </section>
+ <section classes="system-messages">
+ <title>
+ Docutils System Messages
+ </title>
+ <system_message backrefs="id24" ids="id23" level="3" line="98" source="original/standard_r6008.rst" type="ERROR">
+ <paragraph>
+ Undefined substitution referenced: &quot;problematic&quot;.
+ </paragraph>
+ </system_message>
+ <system_message backrefs="id76" ids="id75" level="3" line="357" source="original/standard_r6008.rst" type="ERROR">
+ <paragraph>
+ Unknown target name: &quot;5&quot;.
+ </paragraph>
+ </system_message>
+ <system_message backrefs="id78" ids="id77" level="3" line="366" source="original/standard_r6008.rst" type="ERROR">
+ <paragraph>
+ Unknown target name: &quot;nonexistent&quot;.
+ </paragraph>
+ </system_message>
+ <system_message backrefs="id80" ids="id79" level="3" line="393" source="original/standard_r6008.rst" type="ERROR">
+ <paragraph>
+ Unknown target name: &quot;hyperlink reference without a target&quot;.
+ </paragraph>
+ </system_message>
+ <system_message backrefs="id82" ids="id81" level="3" line="406" source="original/standard_r6008.rst" type="ERROR">
+ <paragraph>
+ Duplicate target name, cannot be used as a unique reference: &quot;duplicate target names&quot;.
+ </paragraph>
+ </system_message>
+ </section>
+</document>