You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by wa...@apache.org on 2020/11/02 20:37:38 UTC

[openoffice-org] 01/02: Migration of xml assets

This is an automated email from the ASF dual-hosted git repository.

wave pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/openoffice-org.git

commit 8561dc7d8a419da303ecc81ba833e29d29c632f2
Author: Dave Fisher <da...@davefisher.tech>
AuthorDate: Mon Nov 2 12:37:15 2020 -0800

    Migration of xml assets
---
 assets/xml/__modules/left_sidebar_topics.htmlx     |   14 +
 assets/xml/faq.xml                                 |  286 ++++
 assets/xml/faq.xsl                                 |  110 ++
 assets/xml/filter/sveo1eo2.gif                     |  Bin 0 -> 3549 bytes
 assets/xml/filter/sveo1eo3.gif                     |  Bin 0 -> 5163 bytes
 assets/xml/filter/sveo1eo4.gif                     |  Bin 0 -> 4751 bytes
 assets/xml/filter/sveo1eo5.gif                     |  Bin 0 -> 4308 bytes
 assets/xml/filter/sveo1eo6.gif                     |  Bin 0 -> 3894 bytes
 assets/xml/filter/sveo1eo7.gif                     |  Bin 0 -> 4780 bytes
 assets/xml/oasis/extract-manifest.xsl              |   73 +
 assets/xml/oasis/extract-strict.xsl                |   73 +
 assets/xml/oasis/extract.xsl                       |   74 ++
 assets/xml/oasis/oasis2ooo.xsl                     |   26 +
 assets/xml/oasis/office-spec.sxw                   |  Bin 0 -> 447172 bytes
 assets/xml/oasis/ooo2oasis.xsl                     |  547 ++++++++
 assets/xml/oasis/opendocument-package.odt          |  Bin 0 -> 42954 bytes
 assets/xml/oasis/opendocument-spec.odt             |  Bin 0 -> 488069 bytes
 assets/xml/oasis/process_xsd.xsl                   |   23 +
 assets/xml/oasis/simplify_rng.xsl                  |  167 +++
 assets/xml/odf2xhtml/index.fodt                    |    4 +
 assets/xml/odf2xhtml/rdf-extract.xsl               |  249 ++++
 assets/xml/opendocument-cropped_0.jpg              |  Bin 0 -> 50427 bytes
 .../optimization/current_optimization_status.sxc   |  Bin 0 -> 6504 bytes
 assets/xml/optimization/downloads/libxmlwrap.zip   |  Bin 0 -> 9953 bytes
 .../protocoll_export_simple_editcells.sxc          |  Bin 0 -> 130348 bytes
 .../protocoll_export_simple_formulacells.sxc       |  Bin 0 -> 132728 bytes
 .../protocoll_export_simple_numbercells.sxc        |  Bin 0 -> 131543 bytes
 .../protocoll_export_simple_textcells.sxc          |  Bin 0 -> 132555 bytes
 .../protocoll_import_simple_editcells.sxc          |  Bin 0 -> 123643 bytes
 .../protocoll_import_simple_formulacells.sxc       |  Bin 0 -> 124998 bytes
 .../protocoll_import_simple_numbercells.sxc        |  Bin 0 -> 115012 bytes
 .../protocoll_import_simple_textcells.sxc          |  Bin 0 -> 122890 bytes
 assets/xml/optimization/simple_editcells.sxc       |  Bin 0 -> 113470 bytes
 assets/xml/optimization/simple_formulacells.sxc    |  Bin 0 -> 967815 bytes
 assets/xml/optimization/simple_numbercells.sxc     |  Bin 0 -> 233109 bytes
 assets/xml/optimization/simple_textcells.sxc       |  Bin 0 -> 86394 bytes
 assets/xml/prj/build.lst                           |    3 +
 assets/xml/prj/d.lst                               |    1 +
 assets/xml/robots.txt                              |    7 +
 assets/xml/saxecho/xmlflat.jpg                     |  Bin 0 -> 321202 bytes
 assets/xml/saxecho/xmltree.jpg                     |  Bin 0 -> 170368 bytes
 assets/xml/sx2ml/index.fodt                        |    4 +
 assets/xml/sx2ml/master_document_support.zip       |  Bin 0 -> 41925 bytes
 assets/xml/xmerge/docbook/images/DocumentTitle.jpg |  Bin 0 -> 68685 bytes
 assets/xml/xmerge/docbook/images/Navigator.gif     |  Bin 0 -> 9445 bytes
 .../xml/xmerge/docbook/images/ParagraphStyles.png  |  Bin 0 -> 7810 bytes
 assets/xml/xmerge/docbook/images/SaveAs.jpg        |  Bin 0 -> 29235 bytes
 assets/xml/xmerge/docbook/images/Table.jpg         |  Bin 0 -> 84475 bytes
 assets/xml/xmerge/docs/XMerge_sdk.pdf              |  Bin 0 -> 180235 bytes
 assets/xml/xmerge/docs/XMerge_sdk.sxw              |  Bin 0 -> 116919 bytes
 assets/xml/xmerge/docs/XSLTPlugin.pdf              |  Bin 0 -> 11428 bytes
 assets/xml/xmerge/docs/XSLTPlugin.sxw              |  Bin 0 -> 9742 bytes
 assets/xml/xmerge/docs/xmerge_javadoc.zip          |  Bin 0 -> 624359 bytes
 assets/xml/xmerge/downloads/DocBookFilter.zip      |  Bin 0 -> 33385 bytes
 assets/xml/xmerge/downloads/DocBookTemplate.stw    |  Bin 0 -> 6656 bytes
 assets/xml/xmerge/downloads/InstallerSrc.zip       |  Bin 0 -> 360195 bytes
 assets/xml/xmerge/downloads/XMergeInstall.jar      |  Bin 0 -> 762848 bytes
 assets/xml/xmerge/downloads/docbook.jar            |  Bin 0 -> 14027 bytes
 assets/xml/xmerge/downloads/docbook_template.sxw   |  Bin 0 -> 8454 bytes
 assets/xml/xmerge/downloads/docbook_template.xml   |    1 +
 assets/xml/xmerge/downloads/docbooktosoff.xsl      | 1404 ++++++++++++++++++++
 assets/xml/xmerge/downloads/flatxmlbinaries.tar.gz |  Bin 0 -> 86894 bytes
 assets/xml/xmerge/downloads/gedit.sxw              |  Bin 0 -> 13498 bytes
 assets/xml/xmerge/downloads/gedit.xml              | 1079 +++++++++++++++
 assets/xml/xmerge/downloads/smalldeviceSol.tar.gz  |  Bin 0 -> 406538 bytes
 assets/xml/xmerge/downloads/sofftodocbook.xsl      |  741 +++++++++++
 .../xml/xmerge/downloads/sofftodocbookheadings.xsl |  844 ++++++++++++
 assets/xml/xmerge/downloads/xmergesync.zip         |  Bin 0 -> 137429 bytes
 .../xmerge/plugins/images/conversion-ppc2002.jpg   |  Bin 0 -> 21399 bytes
 .../xml/xmerge/plugins/images/conversion-ppc2k.jpg |  Bin 0 -> 21312 bytes
 .../xml/xmerge/plugins/images/conversion-sxw.jpg   |  Bin 0 -> 75541 bytes
 assets/xml/xmerge/plugins/images/formula_pxl.jpg   |  Bin 0 -> 30195 bytes
 assets/xml/xmerge/plugins/images/formula_sxc.jpg   |  Bin 0 -> 69979 bytes
 assets/xml/xmerge/plugins/images/moddoc.jpg        |  Bin 0 -> 74511 bytes
 assets/xml/xmerge/plugins/images/mpdbmod.jpg       |  Bin 0 -> 29441 bytes
 assets/xml/xmerge/plugins/images/mpdborig.jpg      |  Bin 0 -> 29571 bytes
 assets/xml/xmerge/plugins/images/origdoc.jpg       |  Bin 0 -> 75134 bytes
 assets/xml/xmerge/plugins/images/pdbmod.jpg        |  Bin 0 -> 27397 bytes
 assets/xml/xmerge/plugins/images/pdborig.jpg       |  Bin 0 -> 27126 bytes
 .../xml/xmerge/plugins/images/spreadsheetmod.jpg   |  Bin 0 -> 88920 bytes
 .../xml/xmerge/plugins/images/spreadsheetorig.jpg  |  Bin 0 -> 89832 bytes
 assets/xml/xmerge/smalldeviceWin.zip               |  Bin 0 -> 577873 bytes
 assets/xml/xmerge/xmerge_src.zip                   |  Bin 0 -> 762213 bytes
 assets/xml/xml_specification.pdf                   |  Bin 0 -> 1418866 bytes
 assets/xml/xml_specification_draft.pdf             |  Bin 0 -> 1418866 bytes
 assets/xml/xmloff.css                              |   70 +
 86 files changed, 5800 insertions(+)

diff --git a/assets/xml/__modules/left_sidebar_topics.htmlx b/assets/xml/__modules/left_sidebar_topics.htmlx
new file mode 100755
index 0000000..36b80ba
--- /dev/null
+++ b/assets/xml/__modules/left_sidebar_topics.htmlx
@@ -0,0 +1,14 @@
+<dl id="wikibox" class="navgroup"> 
+      <dt><a href="http://wiki.services.openoffice.org/wiki/Xml"> XML Wiki</a></dt>
+  <dd>
+  <ul>
+<li style="margin: 0px 0px 0px 0px"><a href="http://wiki.services.openoffice.org/wiki/Xml/Efforts">&raquo; Current Effort</a></li>
+<li style="margin: 0px 0px 0px 0px"><a href="http://wiki.services.openoffice.org/wiki/Xml/ContributionAreas">&raquo; Contributions</a></li>
+<li style="margin: 0px 0px 0px 0px"><a href="http://wiki.services.openoffice.org/wiki/Xml/ArticlesAndBooks">&raquo; Articles and Books</a></li>
+<li style="margin: 0px 0px 0px 0px"><a href="http://wiki.services.openoffice.org/wiki/Xml/Research">&raquo; Reports and Research</a></li>
+<li style="margin: 0px 0px 0px 0px"><a href="http://wiki.services.openoffice.org/wiki/Xml/Tools">&raquo; Tools</a></li>
+<li style="margin: 0px 0px 0px 0px"><a href="http://wiki.services.openoffice.org/wiki/Xml/Filters">&raquo; Filters</a></li>
+<li style="margin: 0px 0px 0px 0px"><a href="http://wiki.services.openoffice.org/wiki/Xml/Modules">&raquo; Modules</a></li>
+  </ul>
+  </dd>
+</dl>
diff --git a/assets/xml/faq.xml b/assets/xml/faq.xml
new file mode 100644
index 0000000..b857a54
--- /dev/null
+++ b/assets/xml/faq.xml
@@ -0,0 +1,286 @@
+
+<faqs
+    maintainer="Daniel.Vogelheim@germany.sun.com"
+    maintainer-name="dvo" >
+
+ <faq>
+  <question>
+    Which OpenOffice.org application uses XML-based file formats?
+  </question>
+  <answer>
+    All OpenOffice.org applications use XML-based file formats. All
+    applications (except Math) use the same format as defined in our <a
+    href="xml_specification_draft.pdf">specification</a>. 
+    The Math component uses our package structure and format (see
+    below), but uses <a href="http://www.w3.org/Math/">MathML</a>
+    inside the package.
+  </answer>
+ </faq>
+
+ <faq>
+  <question>
+    What are the default file extensions for XML-based documents?
+  </question>
+  <answer>
+    <table summary="OpenOffice.org XML file types">
+     <tr> <th>Writer</th> <td>sxw</td> </tr>
+     <tr> <th>Calc</th> <td>sxc</td> </tr>
+     <tr> <th>Draw</th> <td>sxd</td> </tr>
+     <tr> <th>Impress</th> <td>sxi</td> </tr>
+     <tr> <th>Math</th> <td>sxm</td> </tr>
+     <tr> <th>Writer<br/>global document</th> <td>sxg</td> </tr>
+    </table>
+    <p>XML is also used in other OpenOffice.org files
+    (e.g. configuration) which are not covered in the <tt>xmloff</tt> 
+    project.</p>
+  </answer>
+ </faq>
+
+ <faq>
+  <question>
+    What is all that binary goo I see in your files?
+  </question>
+  <answer>
+    <p>Our documents use packages that contain the XML data alongside
+    binary data such as images. The packages use the well known ZIP format. 
+    Just open an sxw/sxc/... file with a ZIP-tool of your choice, and 
+    you get access to the unadulterated XML.</p>
+    <p>The document meta data (in the meta.xml stream) is not
+    compressed. This allows for easy searching and extraction of the
+    meta data.</p>
+    <p> For more information on our packages, see the next question. </p>
+  </answer>
+ </faq>
+
+ <faq>
+  <question>
+    What package format do you use, and what do I find inside?    
+  </question>
+  <answer>
+
+    <p>We use the well-known ZIP file format as a package format. In
+    addition, we store an XML-based manifest file that describes the
+    package content and may supply additional information about the
+    included files (e.g. encryption method). Since we use ZIP, most
+    archive programs can already handle our files.</p>
+
+    <p>Inside the package, you generally find several streams that
+    make up the full office document. These are: </p>
+
+    <table>
+     <tr> 
+      <th>meta.xml</th> 
+      <td>information about the document (author, time of last save, ...)</td>
+     </tr>
+     <tr>
+      <th>styles.xml</th>
+      <td>styles that are used in the document</td>
+     </tr>
+     <tr>
+      <th>content.xml</th>
+      <td>main document content (text, tables, graphical elements)</td>
+     </tr>
+     <tr>
+      <th>settings.xml</th>
+      <td>document and view settings (such as magnification level and 
+          selected printer); these are usually application specific </td>
+     </tr>
+     <tr>
+      <th>META-INF/manifest.xml</th>
+      <td>provides additional information about the other files (such
+      as MIME type or encryption method)</td>
+     </tr>
+     <tr>
+      <th>Pictures/</th>
+      <td>directory containing images (in their native, binary formats)</td>
+     </tr>
+     <tr>
+      <th>Dialogs/</th>
+      <td>directory containing dialogs used by document macros</td>
+     </tr>
+     <tr>
+      <th>Basic/</th>
+      <td>directory containing StarBasic macros</td>
+     </tr>
+     <tr>
+      <th>Obj.../</th>
+      <td>directories containing embedded objects, such as charts;
+      each directory contains one such object, stored in its native format.
+      For OpenOffice.org objects that is its XML representation, for other
+      objects it's usually a binary format.</td>
+     </tr>
+    </table>
+
+    <p>For more information on why we chose ZIP, please read <a
+    href="package.html">package.html</a>. For more information on the
+    ZIP format itself, please look <a
+    href="http://www.wotsit.org/">here</a>.</p>
+  </answer>
+ </faq>
+
+ <faq>
+  <question>
+    How can I put additional information into an XML file?
+  </question>
+  <answer>
+    <p><em>Alien</em> attributes, i.e. attributes not defined in the
+    OpenOffice.org DTD, will be preserved if they are attached to
+    <code>&lt;style:properties&gt;</code> elements in style
+    definitions. All other alien content will be discarded by the
+    OpenOffice.org import filters.</p>
+    <p>Since you can attach styles to arbitrary text ranges, you can
+    use this mechanism to attach your information to arbitrary text
+    ranges, too.</p>
+    <p><strong>Note:</strong> The above mechanism seems to only work
+    in Writer. The issue is under investigation.</p>
+    <p>It is planned that you can also put additional files with your
+    own content into the packages. However, this doesn't work yet.</p>
+  </answer>
+ </faq>
+
+ <faq>
+  <question>
+    But I really, really want plain XML. No compression, no binary
+    data, no nothing. Just plain XML. Can I have that, please?
+  </question>
+  <answer>
+    <p>For purposes of import and export, we provide <a
+    href="http://udk.openoffice.org/">UNO</a>-based services that
+    allow you to import or export XML data through the SAX
+    interface. A documentation of this technique is available <a
+    href="filter/">here</a>.</p>
+    <p>Also, it is planned to allow plain XML files (without packages)
+    to be read and written. However, this is not implemented yet.</p>
+  </answer>
+ </faq>
+
+ <faq>
+  <question>
+    Why are so many styles written out?
+  </question>
+  <answer>
+    <p>In general, styles that are used in the document or that have been
+    modified by the user are written to disk. The former is necessary
+    to render the document correctly. The latter is preserved because
+    if a user edited those styles, he/she is likely to use them later
+    on. Therefore, those styles should not be discarded, even though
+    they do not contribute to the document in its current form and
+    shape.</p>
+    <p>If styles that meet neither of these criteria are written, then
+    this is may be considered a bug. The Draw, Impress, and Calc
+    applications currently show this behavior. </p>
+  </answer>
+ </faq>
+
+ <faq>
+  <question>
+    How are embedded images and binary data handled?
+  </question>
+  <answer>
+    Images and embedded objects are stored in their native formats
+    into the ZIP-based package format.
+  </answer>
+ </faq>
+
+ <faq>
+  <question>
+    Why didn't you use XHTML, XSL-FO, SVG, etc. ?
+  </question>
+  <answer>
+    <p>Those formats are not used because they do not have a
+    suitable level of presentation for office documents. When we found an
+    established format (like the ones mentioned above) contains
+    concepts that are used in OpenOffice.org as well, then we
+    generally adopted their representation for those concepts in our
+    XML format. We hope this will ease transformation between the
+    formats.</p>
+
+<!--
+    <p>As an example for the unsuitable level of presentation consider
+    text fields: A text field contains a string of text that gets
+    automatically for this consider text fields: Text fields are
+    special regions of text strings that are automatically updated by
+    the application. The text fields must be preserved, of course, so
+    the application can continue to update them. While the above
+    formats easily accomodate the text field output (after all, it's
+    just a string of text), they can only be represented by some sort
+    of extension to the basic format. Since these sort of issues
+    occur quite a lot, it seemed more prudent to create an own format.</p>
+-->
+
+  </answer>
+ </faq>
+
+ <faq>
+  <question>
+    Can I write an XML translation from or into  ...?
+  </question>
+  <answer>
+    <p>You are absolutely welcome to write transformation from our
+    XML-based file format into and from anything you see fit.</p>
+  </answer>
+ </faq>
+
+ <faq>
+  <question>
+    I found a bug. What do I do?
+  </question>
+  <answer>
+    <p>Report it using <a
+    href="http://www.openoffice.org/issues/enter_bug.cgi">IssueZilla</a>. Try
+    to give a detailed description of what went wrong. Don't forget to
+    include the document in which the error occurred. (After submission
+    of the bug, choose "create attachment".)</p>
+    <p><strong>DON'T BE SHY ABOUT REPORTING BUGS!</strong> All of us
+    are interested in stable and bug-free applications, and bug
+    reports from our users are a very important means towards that
+    end. Bug reports help all of us. If you don't report your
+    findings, we can't fix them, and so they will cause problems for
+    users as well.</p>
+  </answer>
+ </faq>
+
+ <faq>
+  <question>
+    Hey, I like your XML format. How can I help?
+  </question>
+  <answer>
+    There are many things you can do to help.
+    <ol>
+     <li>You can spread the word, e.g. by telling your friends and
+     co-workers about OpenOffice.org.</li>
+     <li>You can use the OpenOffice.org applications and report any
+     bugs you find.</li>
+     <li>You can program transformation from our format into others
+     (and vice versa).</li>
+     <li>You can implement one of the suggestions on the todo list on our homepage. </li>
+    </ol>
+  </answer>
+ </faq>
+
+ <faq>
+  <question>
+    But what about ...? And why isn't
+    my favorite question in here?
+  </question>
+  <answer>
+    If your question is not answered here, ask it on our mailing
+    list. You can view the archives <a
+    href="http://xml.openoffice.org/xml-dev/">here</a>. Instructions
+    for joining the list are on our <a
+    href="http://xml.openoffice.org">project homepage</a>.
+  </answer>
+ </faq>
+
+ <!-- faq template 
+ <faq>
+  <question>
+   ...
+  </question>
+  <answer>
+    ...
+  </answer>
+ </faq>
+ -->
+
+</faqs>
diff --git a/assets/xml/faq.xsl b/assets/xml/faq.xsl
new file mode 100644
index 0000000..bf380c5
--- /dev/null
+++ b/assets/xml/faq.xsl
@@ -0,0 +1,110 @@
+<?xml version="1.0"?> 
+
+<!--
+    Transform FAQs into HTML.
+
+    Input XML is expected to look like this:
+
+    <faqs maintainer="...email..." maintainer-name="...name...">
+     <faq>
+      <question> ...? </question>
+      <answer> ... test with HTML ... </answer>
+     </faq>
+     <faq> ... </faq>
+     <faq> ... </faq>
+     <faq> ... </faq>
+    </faqs>
+-->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+    <xsl:output method="html" indent="no"/>
+
+    <!-- document root: list questions, then q+a -->
+    <xsl:template match="faqs">
+
+        <!-- header question list -->
+        <a name="top"/>
+        <p><img src="http://www.openoffice.org/sharedimages/start_blue_bar.gif" alt=""/>&#160;&#160;<font size="-1"><b>MOST FREQUENTLY ASKED QUESTIONS: QUESTIONS</b></font>&#160;&#160;<img src="http://www.openoffice.org/sharedimages/end_blue_bar.gif" alt=""/></p>
+
+        <!-- list of questions -->
+        <ol>
+            <xsl:apply-templates mode="list"/>
+        </ol>
+
+        <!-- header answers -->
+        <p><img src="http://www.openoffice.org/sharedimages/start_blue_bar.gif" alt=""/>&#160;&#160;<font size="-1"><b>MOST FREQUENTLY ASKED QUESTIONS: ANSWERS</b></font>&#160;&#160;<img  src="http://www.openoffice.org/sharedimages/end_blue_bar.gif" alt=""/></p>
+
+        <!-- list of q+answers -->
+        <xsl:apply-templates/>
+
+        <xsl:if test="@maintainer">
+            <p><small>FAQ maintained by <a href="mailto:{@maintainer}">
+                <xsl:choose>
+                    <xsl:when test="@maintainer-name">
+                        <xsl:value-of select="@maintainer-name"/>
+                    </xsl:when>
+                    <xsl:otherwise>
+                        <xsl:value-of select="@maintainer"/>
+                    </xsl:otherwise>
+                </xsl:choose>
+            </a>.</small></p>
+        </xsl:if>
+
+    </xsl:template>
+
+
+
+    <!-- FAQ element (list mode) -->
+    <!-- <li><a href="#1">...</a></li> -->
+    <xsl:template mode="list" match="faq">
+        <li><a href="#{1+count(preceding::faq)}"><xsl:apply-templates select="question"/></a></li>
+    </xsl:template>
+
+    <!-- FAQ element (question + answer) -->
+    <!-- <ol>
+            <a name="1"></a>
+            <li value ="1">
+                <b>...?</b>
+                <p> ... </p>
+                <br/><br/>
+            </li>
+        </ol>
+        <a href="main_faq_new.html">Back to main question page</a><br/>
+        <a href="#top">Back to top</a>
+        <HR ALIGN=left SIZE="1" NOSHADE> 
+        <br/>
+    -->
+    <xsl:template match="faq">
+        <ol>
+            <a name="{1+count(preceding::faq)}"/>
+            <li value="{1+count(preceding::faq)}">
+                <b> <xsl:apply-templates select="question"/> </b>
+                <xsl:choose>
+                    <xsl:when test="answer/p">
+                        <xsl:apply-templates select="answer" mode="copy"/>
+                    </xsl:when>
+                    <xsl:otherwise>
+                        <p>
+                            <xsl:apply-templates select="answer" mode="copy"/>
+                        </p>
+                    </xsl:otherwise>
+                </xsl:choose>
+                <br/>
+            </li>
+        </ol>
+
+        <a href="#top">Back to top</a>
+        <hr align="left" size="1" noshade="noshade"/> 
+        <br/>
+    </xsl:template>
+
+
+    <!-- copy mode copies all content -->
+    <xsl:template mode="copy" match="@*|node()">
+        <xsl:copy>
+            <xsl:apply-templates mode="copy" select="@*|node()"/>
+        </xsl:copy>
+    </xsl:template>
+
+</xsl:stylesheet>
diff --git a/assets/xml/filter/sveo1eo2.gif b/assets/xml/filter/sveo1eo2.gif
new file mode 100644
index 0000000..c30be3e
Binary files /dev/null and b/assets/xml/filter/sveo1eo2.gif differ
diff --git a/assets/xml/filter/sveo1eo3.gif b/assets/xml/filter/sveo1eo3.gif
new file mode 100644
index 0000000..8721406
Binary files /dev/null and b/assets/xml/filter/sveo1eo3.gif differ
diff --git a/assets/xml/filter/sveo1eo4.gif b/assets/xml/filter/sveo1eo4.gif
new file mode 100644
index 0000000..5b30ee4
Binary files /dev/null and b/assets/xml/filter/sveo1eo4.gif differ
diff --git a/assets/xml/filter/sveo1eo5.gif b/assets/xml/filter/sveo1eo5.gif
new file mode 100644
index 0000000..6e39d0d
Binary files /dev/null and b/assets/xml/filter/sveo1eo5.gif differ
diff --git a/assets/xml/filter/sveo1eo6.gif b/assets/xml/filter/sveo1eo6.gif
new file mode 100644
index 0000000..3638ec2
Binary files /dev/null and b/assets/xml/filter/sveo1eo6.gif differ
diff --git a/assets/xml/filter/sveo1eo7.gif b/assets/xml/filter/sveo1eo7.gif
new file mode 100644
index 0000000..42e121e
Binary files /dev/null and b/assets/xml/filter/sveo1eo7.gif differ
diff --git a/assets/xml/oasis/extract-manifest.xsl b/assets/xml/oasis/extract-manifest.xsl
new file mode 100644
index 0000000..602e06c
--- /dev/null
+++ b/assets/xml/oasis/extract-manifest.xsl
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet version="1.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:text="http://openoffice.org/2000/text" 
+  xmlns:office="http://openoffice.org/2000/office"
+  xmlns:style="http://openoffice.org/2000/style">
+
+  <xsl:output method="text"/>
+
+  <!-- which paragraph styles do we wish to extract? Default: Code -->
+  <xsl:param name="style" select="'RelaxNG Manifest'"/>
+
+  <!-- default: don't output anything -->
+  <xsl:template match="text()"/>
+
+  <!-- paragraph with the proper style found? Then generate output! -->
+  <xsl:template match="text:p">
+
+    <!-- determine all parent styles of this paragraph; use key 'parents' -->
+    <xsl:variable name="parents"
+      select="@text:style-name |
+              key('parents',@text:style-name) |
+              key('parents',key('parents',@text:style-name)) |
+              key('parents',key('parents',key('parents',@text:style-name)))"/>
+
+    <!-- if proper parent style is found, generate output! -->
+    <xsl:if test="$parents = $style">
+      <xsl:apply-templates mode="output"/>
+      <xsl:text>
+</xsl:text>
+    </xsl:if>
+  </xsl:template>
+
+  <xsl:key name="parents"
+    match="style:style/@style:parent-style-name"
+    use="../@style:name" />
+
+  <!-- generate output: just copy all text we find -->
+  <xsl:template mode="output">
+    <xsl:copy>
+      <xsl:apply-templates/>
+    </xsl:copy>
+  </xsl:template>
+
+  <xsl:template mode="output" match="text()">
+    <xsl:copy/>
+  </xsl:template>
+
+  <!-- white space handling: <text:s>, <text:tab> elements  -->
+  <xsl:template mode="output" match="text:tab-stop">
+    <xsl:text>    </xsl:text>
+  </xsl:template>
+
+  <xsl:template mode="output" match="text:s">
+    <xsl:call-template name="repeat">
+      <xsl:with-param name="count" select="@text:c"/>
+      <xsl:with-param name="string" select="' '"/>
+    </xsl:call-template>
+  </xsl:template>
+
+  <xsl:template name="repeat">
+    <xsl:param name="count"/>
+    <xsl:param name="string"/>
+    <xsl:if test="$count > 0">
+      <xsl:value-of select="$string"/>
+      <xsl:call-template name="repeat">
+        <xsl:with-param name="count" select="$count -1"/>
+        <xsl:with-param name="string" select="$string"/>
+      </xsl:call-template>
+    </xsl:if>
+  </xsl:template>
+
+</xsl:stylesheet>
diff --git a/assets/xml/oasis/extract-strict.xsl b/assets/xml/oasis/extract-strict.xsl
new file mode 100644
index 0000000..3e582c4
--- /dev/null
+++ b/assets/xml/oasis/extract-strict.xsl
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet version="1.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:text="http://openoffice.org/2000/text" 
+  xmlns:office="http://openoffice.org/2000/office"
+  xmlns:style="http://openoffice.org/2000/style">
+
+  <xsl:output method="text"/>
+
+  <!-- which paragraph styles do we wish to extract? Default: Code -->
+  <xsl:param name="style" select="'RelaxNG Strict'"/>
+
+  <!-- default: don't output anything -->
+  <xsl:template match="text()"/>
+
+  <!-- paragraph with the proper style found? Then generate output! -->
+  <xsl:template match="text:p">
+
+    <!-- determine all parent styles of this paragraph; use key 'parents' -->
+    <xsl:variable name="parents"
+      select="@text:style-name |
+              key('parents',@text:style-name) |
+              key('parents',key('parents',@text:style-name)) |
+              key('parents',key('parents',key('parents',@text:style-name)))"/>
+
+    <!-- if proper parent style is found, generate output! -->
+    <xsl:if test="$parents = $style">
+      <xsl:apply-templates mode="output"/>
+      <xsl:text>
+</xsl:text>
+    </xsl:if>
+  </xsl:template>
+
+  <xsl:key name="parents"
+    match="style:style/@style:parent-style-name"
+    use="../@style:name" />
+
+  <!-- generate output: just copy all text we find -->
+  <xsl:template mode="output">
+    <xsl:copy>
+      <xsl:apply-templates/>
+    </xsl:copy>
+  </xsl:template>
+
+  <xsl:template mode="output" match="text()">
+    <xsl:copy/>
+  </xsl:template>
+
+  <!-- white space handling: <text:s>, <text:tab> elements  -->
+  <xsl:template mode="output" match="text:tab-stop">
+    <xsl:text>    </xsl:text>
+  </xsl:template>
+
+  <xsl:template mode="output" match="text:s">
+    <xsl:call-template name="repeat">
+      <xsl:with-param name="count" select="@text:c"/>
+      <xsl:with-param name="string" select="' '"/>
+    </xsl:call-template>
+  </xsl:template>
+
+  <xsl:template name="repeat">
+    <xsl:param name="count"/>
+    <xsl:param name="string"/>
+    <xsl:if test="$count > 0">
+      <xsl:value-of select="$string"/>
+      <xsl:call-template name="repeat">
+        <xsl:with-param name="count" select="$count -1"/>
+        <xsl:with-param name="string" select="$string"/>
+      </xsl:call-template>
+    </xsl:if>
+  </xsl:template>
+
+</xsl:stylesheet>
diff --git a/assets/xml/oasis/extract.xsl b/assets/xml/oasis/extract.xsl
new file mode 100644
index 0000000..7202b85
--- /dev/null
+++ b/assets/xml/oasis/extract.xsl
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet version="1.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:text="http://openoffice.org/2000/text" 
+  xmlns:office="http://openoffice.org/2000/office"
+  xmlns:style="http://openoffice.org/2000/style">
+
+  <xsl:output method="text"/>
+
+  <!-- which paragraph styles do we wish to extract? -->
+  <xsl:param name="style" select="'RelaxNG'"/>
+  <xsl:param name="style2" select="'Changed Relax NG'"/>
+
+  <!-- default: don't output anything -->
+  <xsl:template match="text()"/>
+
+  <!-- paragraph with the proper style found? Then generate output! -->
+  <xsl:template match="text:p">
+
+    <!-- determine all parent styles of this paragraph; use key 'parents' -->
+    <xsl:variable name="parents"
+      select="@text:style-name |
+              key('parents',@text:style-name) |
+              key('parents',key('parents',@text:style-name)) |
+              key('parents',key('parents',key('parents',@text:style-name)))"/>
+
+    <!-- if proper parent style is found, generate output! -->
+    <xsl:if test="$parents = $style or $parents = $style2">
+      <xsl:apply-templates mode="output"/>
+      <xsl:text>
+</xsl:text>
+    </xsl:if>
+  </xsl:template>
+
+  <xsl:key name="parents"
+    match="style:style/@style:parent-style-name"
+    use="../@style:name" />
+
+  <!-- generate output: just copy all text we find -->
+  <xsl:template mode="output">
+    <xsl:copy>
+      <xsl:apply-templates/>
+    </xsl:copy>
+  </xsl:template>
+
+  <xsl:template mode="output" match="text()">
+    <xsl:copy/>
+  </xsl:template>
+
+  <!-- white space handling: <text:s>, <text:tab> elements  -->
+  <xsl:template mode="output" match="text:tab-stop">
+    <xsl:text>    </xsl:text>
+  </xsl:template>
+
+  <xsl:template mode="output" match="text:s">
+    <xsl:call-template name="repeat">
+      <xsl:with-param name="count" select="@text:c"/>
+      <xsl:with-param name="string" select="' '"/>
+    </xsl:call-template>
+  </xsl:template>
+
+  <xsl:template name="repeat">
+    <xsl:param name="count"/>
+    <xsl:param name="string"/>
+    <xsl:if test="$count > 0">
+      <xsl:value-of select="$string"/>
+      <xsl:call-template name="repeat">
+        <xsl:with-param name="count" select="$count -1"/>
+        <xsl:with-param name="string" select="$string"/>
+      </xsl:call-template>
+    </xsl:if>
+  </xsl:template>
+
+</xsl:stylesheet>
diff --git a/assets/xml/oasis/oasis2ooo.xsl b/assets/xml/oasis/oasis2ooo.xsl
new file mode 100644
index 0000000..9a154a4
--- /dev/null
+++ b/assets/xml/oasis/oasis2ooo.xsl
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet
+  version="1.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:text="http://openoffice.org/2000/text" 
+  xmlns:office="http://openoffice.org/2000/office"
+  xmlns:style="http://openoffice.org/2000/style" >
+
+
+  <xsl:output method="xml"/>
+
+  <!-- default: copy everything. -->
+  <xsl:template match="@*|node()">
+    <xsl:copy>
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:copy>
+  </xsl:template>
+
+
+  <!-- #1: remove 'genre' elements -->
+  <xsl:template match="office:text|office:global-text|office:drawing|
+                       office:presentation|office:spreadsheet|office:chart">
+    <xsl:apply-templates/>
+  </xsl:template>
+
+</xsl:stylesheet>
diff --git a/assets/xml/oasis/office-spec.sxw b/assets/xml/oasis/office-spec.sxw
new file mode 100644
index 0000000..32a89a2
Binary files /dev/null and b/assets/xml/oasis/office-spec.sxw differ
diff --git a/assets/xml/oasis/ooo2oasis.xsl b/assets/xml/oasis/ooo2oasis.xsl
new file mode 100644
index 0000000..8cfe7ab
--- /dev/null
+++ b/assets/xml/oasis/ooo2oasis.xsl
@@ -0,0 +1,547 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet
+  version="1.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:o-office="http://openoffice.org/2000/office"
+  xmlns:office="urn:oasis:names:tc:openoffice:xmlns:office:1.0" 
+  xmlns:o-meta="http://openoffice.org/2000/meta" 
+  xmlns:meta="urn:oasis:names:tc:openoffice:xmlns:meta:1.0" 
+  xmlns:o-style="http://openoffice.org/2000/style" 
+  xmlns:style="urn:oasis:names:tc:openoffice:xmlns:style:1.0" 
+  xmlns:o-script="http://openoffice.org/2000/script" 
+  xmlns:script="urn:oasis:names:tc:openoffice:xmlns:script:1.0" 
+  xmlns:o-form="http://openoffice.org/2000/form" 
+  xmlns:form="urn:oasis:names:tc:openoffice:xmlns:form:1.0" 
+  xmlns:o-number="http://openoffice.org/2000/datastyle" 
+  xmlns:number="urn:oasis:names:tc:openoffice:xmlns:datastyle:1.0" 
+  xmlns:o-config="http://openoffice.org/2001/config" 
+  xmlns:config="urn:oasis:names:tc:openoffice:xmlns:config:1.0" 
+  xmlns:o-text="http://openoffice.org/2000/text" 
+  xmlns:text="urn:oasis:names:tc:openoffice:xmlns:text:1.0" 
+  xmlns:o-table="http://openoffice.org/2000/table" 
+  xmlns:table="urn:oasis:names:tc:openoffice:xmlns:table:1.0" 
+  xmlns:o-draw="http://openoffice.org/2000/drawing" 
+  xmlns:draw="urn:oasis:names:tc:openoffice:xmlns:drawing:1.0" 
+  xmlns:o-presentation="http://openoffice.org/2000/presentation" 
+  xmlns:presentation="urn:oasis:names:tc:openoffice:xmlns:presentation:1.0" 
+  xmlns:o-dr3d="http://openoffice.org/2000/dr3d" 
+  xmlns:dr3d="urn:oasis:names:tc:openoffice:xmlns:dr3d:1.0" 
+  xmlns:o-chart="http://openoffice.org/2000/charting" 
+  xmlns:chart="urn:oasis:names:tc:openoffice:xmlns:charting:1.0" 
+  xmlns:dc="http://purl.org/dc/elements/1.1/"
+  xmlns:fo="http://www.w3.org/1999/XSL/Format"
+  xmlns:svg="http://www.w3.org/2000/svg"
+  exclude-result-prefixes="o-office o-meta o-style o-config o-table o-text"
+>
+
+
+  <xsl:output method="xml"/>
+
+  <!-- default: copy everything. -->
+  <xsl:template match="o-office:*">
+    <xsl:element name="office:{local-name(.)}">
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:element>
+  </xsl:template>
+  <xsl:template match="@o-office:*">
+    <xsl:attribute name="office:{local-name(.)}">
+      <xsl:value-of select="."/>
+    </xsl:attribute>
+  </xsl:template>
+
+  <xsl:template match="o-meta:*">
+    <xsl:element name="meta:{local-name(.)}">
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:element>
+  </xsl:template>
+  <xsl:template match="@o-meta:*">
+    <xsl:attribute name="meta:{local-name(.)}">
+      <xsl:value-of select="."/>
+    </xsl:attribute>
+  </xsl:template>
+
+  <xsl:template match="o-style:*">
+    <xsl:element name="style:{local-name(.)}">
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:element>
+  </xsl:template>
+  <xsl:template match="@o-style:*">
+    <xsl:attribute name="style:{local-name(.)}">
+      <xsl:value-of select="."/>
+    </xsl:attribute>
+  </xsl:template>
+
+  <xsl:template match="o-script:*">
+    <xsl:element name="script:{local-name(.)}">
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:element>
+  </xsl:template>
+  <xsl:template match="@o-script:*">
+    <xsl:attribute name="script:{local-name(.)}">
+      <xsl:value-of select="."/>
+    </xsl:attribute>
+  </xsl:template>
+
+  <xsl:template match="o-form:*">
+    <xsl:element name="form:{local-name(.)}">
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:element>
+  </xsl:template>
+  <xsl:template match="@o-form:*">
+    <xsl:attribute name="form:{local-name(.)}">
+      <xsl:value-of select="."/>
+    </xsl:attribute>
+  </xsl:template>
+
+  <xsl:template match="o-number:*">
+    <xsl:element name="number:{local-name(.)}">
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:element>
+  </xsl:template>
+  <xsl:template match="@o-number:*">
+    <xsl:attribute name="number:{local-name(.)}">
+      <xsl:value-of select="."/>
+    </xsl:attribute>
+  </xsl:template>
+
+  <xsl:template match="o-config:*">
+    <xsl:element name="config:{local-name(.)}">
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:element>
+  </xsl:template>
+  <xsl:template match="@o-config:*">
+    <xsl:attribute name="config:{local-name(.)}">
+      <xsl:value-of select="."/>
+    </xsl:attribute>
+  </xsl:template>
+
+  <xsl:template match="o-text:*">
+    <xsl:element name="text:{local-name(.)}">
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:element>
+  </xsl:template>
+  <xsl:template match="@o-text:*">
+    <xsl:attribute name="text:{local-name(.)}">
+      <xsl:value-of select="."/>
+    </xsl:attribute>
+  </xsl:template>
+
+  <xsl:template match="o-table:*">
+    <xsl:element name="table:{local-name(.)}">
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:element>
+  </xsl:template>
+  <xsl:template match="@o-table:*">
+    <xsl:attribute name="table:{local-name(.)}">
+      <xsl:value-of select="."/>
+    </xsl:attribute>
+  </xsl:template>
+
+  <xsl:template match="o-draw:*">
+    <xsl:element name="draw:{local-name(.)}">
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:element>
+  </xsl:template>
+  <xsl:template match="@o-draw:*">
+    <xsl:attribute name="draw:{local-name(.)}">
+      <xsl:value-of select="."/>
+    </xsl:attribute>
+  </xsl:template>
+
+  <xsl:template match="o-presentation:*">
+    <xsl:element name="presentation:{local-name(.)}">
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:element>
+  </xsl:template>
+  <xsl:template match="@o-presentation:*">
+    <xsl:attribute name="presentation:{local-name(.)}">
+      <xsl:value-of select="."/>
+    </xsl:attribute>
+  </xsl:template>
+
+  <xsl:template match="o-dr3d:*">
+    <xsl:element name="dr3d:{local-name(.)}">
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:element>
+  </xsl:template>
+  <xsl:template match="@o-dr3d:*">
+    <xsl:attribute name="dr3d:{local-name(.)}">
+      <xsl:value-of select="."/>
+    </xsl:attribute>
+  </xsl:template>
+
+  <xsl:template match="o-chart:*">
+    <xsl:element name="chart:{local-name(.)}">
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:element>
+  </xsl:template>
+  <xsl:template match="@o-chart:*">
+    <xsl:attribute name="chart:{local-name(.)}">
+      <xsl:value-of select="."/>
+    </xsl:attribute>
+  </xsl:template>
+
+  <xsl:template match="o-draw:*">
+    <xsl:element name="draw:{local-name(.)}">
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:element>
+  </xsl:template>
+  <xsl:template match="@o-draw:*">
+    <xsl:attribute name="draw:{local-name(.)}">
+      <xsl:value-of select="."/>
+    </xsl:attribute>
+  </xsl:template>
+
+  <xsl:template match="dc:*">
+    <xsl:element name="dc:{local-name(.)}">
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:element>
+  </xsl:template>
+
+  <xsl:template match="@*|node()">
+    <xsl:copy>
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:copy>
+  </xsl:template>
+
+  <!-- also introduce a copy mode -->
+  <xsl:template mode="copy" match="@*|node()">
+    <xsl:copy>
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:copy>
+  </xsl:template>
+
+
+  <!-- uuh, that was easy. Now we only need to process all changes... -->
+
+
+
+  <!-- #1: add 'genre' elements instead of office:class -->
+  <xsl:template match="o-office:body">
+    <office:body>
+      <xsl:choose>
+
+        <xsl:when test="/node()[@o-office:class='text']">
+          <office:text><xsl:apply-templates/></office:text>
+        </xsl:when>
+
+        <xsl:when test="/node()[@o-office:class='text-global']">
+          <office:text text:global="true"><xsl:apply-templates/></office:text>
+        </xsl:when>
+
+        <xsl:when test="/node()[@o-office:class='drawing']">
+          <office:drawing><xsl:apply-templates/></office:drawing>
+        </xsl:when>
+
+        <xsl:when test="/node()[@o-office:class='presentation']">
+          <office:presentation><xsl:apply-templates/></office:presentation>
+        </xsl:when>
+
+        <xsl:when test="/node()[@o-office:class='spreadsheet']">
+          <office:spreadsheet>
+            <xsl:apply-templates select="@table:structure-protected" 
+                                 mode="copy"/>  <!-- cf. #3 -->
+            <xsl:apply-templates/>
+          </office:spreadsheet>
+        </xsl:when>
+
+        <xsl:when test="/node()[@o-office:class='chart']">
+          <office:chart><xsl:apply-templates/></office:chart>
+        </xsl:when>
+
+        <xsl:otherwise>
+          <xsl:message>No known office:body/@office:class found</xsl:message>
+        </xsl:otherwise>
+
+      </xsl:choose>
+    </office:body>
+  </xsl:template>
+  <xsl:template match="@o-office:class"/>
+
+  <!-- #2: office:document-settings/office:settings optional: no transform -->
+
+  <!-- #3: move table:structure-protected attribute from body to 'genre' -->
+  <xsl:template match="o-office:body/@o-table:structure-protected"/>
+
+  <!-- #4: meta:keywords removed; multiple keywords may occur -->
+  <xsl:template match="o-meta:keywords">
+    <xsl:apply-templates/>
+  </xsl:template>
+    
+  <!-- #5: replace ordered + unordered lists by lists -->
+  <xsl:template match="o-text:ordered-list|o-text:unordered-list">
+    <text:list>
+      <xsl:apply-templates select="*|@*|text()"/>
+    </text:list>
+  </xsl:template>
+
+  <!-- #6: rename tab-stop to tab -->
+  <xsl:template match="o-text:tab-stop">
+    <text:tab><xsl:apply-templates select="@*"/></text:tab>
+  </xsl:template>
+
+  <!-- #7: new numbered-para element: no transform necessary -->
+
+  <!-- #8: move redline protection-key to app-specific settings -->
+  <xsl:template match="o-text:tracked-changes/@o-text:protection-key"/>
+
+  <xsl:template match="o-config:config-item-set[@config:name='configuration-settings']">
+    <config:config-item-set>
+      <xsl:apply-templates select="@*"/>
+      <xsl:apply-templates/>
+      <xsl:if test="/o-office:document/o-office:body/o-text:tracked-changes/@o-text:protection-key">
+        <config:config-item 
+          config:name="ChangesProtectionKey" 
+          config:type="string">
+          <xsl:value-of select="/o-office:document/o-office:body/o-text:tracked-changes/@o-text:protection-key"/>
+        </config:config-item>
+      </xsl:if>
+    </config:config-item-set>
+  </xsl:template>
+
+  <!-- #9: replace footnote/endnotes with generic note concept -->
+  <xsl:template match="o-text:footnote|o-text:endnote">
+    <text:note text:note-class="{local-name(.)}">
+      <xsl:apply-templates select="*|@*"/>
+    </text:note>
+  </xsl:template>
+  <xsl:template match="o-text:footnote-body|o-text:endnote-body">
+    <text:o-note-body>
+      <xsl:apply-templates/>
+    </text:o-note-body>
+  </xsl:template>
+  <xsl:template match="o-text:footnote-citation|o-text:endnote-citation">
+    <text:o-note-citation>
+      <xsl:apply-templates/>
+    </text:o-note-citation>
+  </xsl:template>
+  <xsl:template match="o-text:footnotes-configuration|o-text:endnotes-configuration">
+    <text:notes-configuration text:note-class="{substring-before(local-name(.),'s-')}">
+      <xsl:apply-templates select="*|@*"/>
+    </text:notes-configuration>
+  </xsl:template>
+  <xsl:template match="o-text:footnote-ref|o-text:endnote-ref">
+    <text:note-ref>
+      <xsl:apply-templates/>
+    </text:note-ref>
+  </xsl:template>
+
+  <!-- #10: replace subtable element with attribute -->
+  <xsl:template match="o-table:sub-table">
+    <table:table table:is-sub-table="true">
+      <xsl:apply-templates select="*|@*"/>
+    </table:table>
+  </xsl:template>
+
+  <!-- #11: replace text:level with text:outline-level -->
+  <xsl:template match="o-text:h/@o-text:level">
+    <xsl:attribute name="text:outline-level">
+      <xsl:value-of select="."/>
+    </xsl:attribute>
+  </xsl:template>
+
+  <!-- #12: replace *.value-type and *:value with office:*  -->
+  <xsl:template match="@o-text:value-type|o-table:*[local-name(.) != 'null-date']/@o-table:value-type">
+    <xsl:attribute name="office:value-type">
+      <xsl:value-of select="."/>
+    </xsl:attribute>
+  </xsl:template>
+
+  <xsl:template match="o-text:*[local-name(.) != 'database-row-number']/@o-text:value[local-name(.) != 'filter-condition']|@o-table:value">
+    <xsl:attribute name="office:value">
+      <xsl:value-of select="."/>
+    </xsl:attribute>
+  </xsl:template>
+
+  <xsl:template match="o-text:*[local-name(.) != 'page-continuation' and local-name(.) != 'hidden-text' and not(contains(local-name(.), 'mark'))]/@o-text:string-value|@o-table:string-value">
+    <xsl:attribute name="office:string-value">
+      <xsl:value-of select="."/>
+    </xsl:attribute>
+  </xsl:template>
+
+  <xsl:template match="o-text:*[not(contains(local-name(.), 'date'))]/@o-text:date-value|o-table:*[local-name(.) != 'null-date']/@o-table:date-value">
+    <xsl:attribute name="office:date-value">
+      <xsl:value-of select="."/>
+    </xsl:attribute>
+  </xsl:template>
+
+  <xsl:template match="o-text:*[not(contains(local-name(.), 'time'))]/@o-text:time-value|@o-table:time-value">
+    <xsl:attribute name="office:time-value">
+      <xsl:value-of select="."/>
+    </xsl:attribute>
+  </xsl:template>
+
+  <!-- #13: value-type="float" without value -->
+  <xsl:template match="o-table:table-cell[@o-table:value-type='float' and not(@o-table:value)]">
+    <table:table-cell office:value-type="string">
+      <xsl:apply-templates select="*|@*[local-name(.) != 'value-type']"/>
+    </table:table-cell>
+  </xsl:template>
+
+  <!-- #14: text:table-of-content-source/@text:outline-level="none" -->
+  <xsl:template match="o-text:table-of-content-source/@o-text:use-outline-level"/>
+  <xsl:template match="o-text:table-of-content-source/@o-text:outline-level">
+    <xsl:choose>
+      <xsl:when test="../@o-text:use-outline-level[.='false']">
+        <xsl:attribute name="text:outline-level">none</xsl:attribute>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:copy/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <!-- #15: <text:h text:restart-numbering=".." text:start-value=".."  -->
+  <!-- no transform necessary -->
+
+  <!-- #16: office:change-info uses office:meta -->
+  <!-- TODO: determine if format of date values must be changed -->
+  <xsl:template match="o-office:change-info">
+    <office:change-info>
+      <office:meta>
+        <dc:creator><xsl:value-of select="@o-office:chg-author"/></dc:creator>
+        <dc:date><xsl:value-of select="@o-office:chg-date-time"/></dc:date>
+      </office:meta>
+    </office:change-info>
+  </xsl:template>
+
+  <!-- #17: replace text:merge-last-paragraph with new encoding -->
+  <!-- TODO: here, only the flag is deleted -->
+  <xsl:template match="o-text:merge-last-paragraph"/>
+
+  <!-- #18: replace index-entry-chapter-number -->
+  <xsl:template match="o-text:index-entry-chapter-number">
+    <text:index-entry-chapter text:display="number">
+      <xsl:apply-templates select="node()|@*"/>
+    </text:index-entry-chapter>
+  </xsl:template>
+
+  <!-- #19: properties -->
+  <xsl:template match="o-style:style[@o-style:family='text']/o-style:properties|o-style:default-style[@o-style:family='text']/o-style:properties">
+  	<style:text-properties>
+	  <xsl:apply-templates select="node()|@*" mode="text-props"/>
+	</style:text-properties>
+  </xsl:template>
+
+  <xsl:template match="o-style:style[@o-style:family='paragraph']/o-style:properties|o-style:default-style[@o-style:family='paragraph']/o-style:properties">
+  	<style:paragraph-properties>
+	  <xsl:apply-templates select="node()|@*" mode="para-props"/>
+	</style:paragraph-properties>
+  	<style:text-properties>
+	  <xsl:apply-templates select="node()|@*" mode="text-props"/>
+	</style:text-properties>
+  </xsl:template>
+
+  <xsl:template match="o-style:style[@o-style:family='graphics']/o-style:properties|o-style:default-style[@o-style:family='graphics']/o-style:properties">
+  	<style:graphic-properties>
+	  <xsl:apply-templates select="node()|@*" mode="graphic-props"/>
+	</style:graphic-properties>
+  	<style:paragraph-properties>
+	  <xsl:apply-templates select="node()|@*" mode="para-props"/>
+	</style:paragraph-properties>
+  	<style:text-properties>
+	  <xsl:apply-templates select="node()|@*" mode="text-props"/>
+	</style:text-properties>
+  </xsl:template>
+  	
+  <!-- text properties -->
+  <xsl:template match="o-text:*" mode="text-props">
+    <xsl:element name="text:{local-name(.)}">
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:element>
+  </xsl:template>
+  <xsl:template match="@o-text:*" mode="text-props">
+    <xsl:attribute name="text:{local-name(.)}">
+      <xsl:value-of select="."/>
+    </xsl:attribute>
+  </xsl:template>
+  <xsl:template match="o-style:*" mode="text-props">
+    <xsl:element name="style:{local-name(.)}">
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:element>
+  </xsl:template>
+  <xsl:template match="@o-style:*" mode="text-props">
+    <xsl:attribute name="style:{local-name(.)}">
+      <xsl:value-of select="."/>
+    </xsl:attribute>
+  </xsl:template>
+  <xsl:template match="@fo:*" mode="text-props">
+  	<xsl:copy/>
+  </xsl:template>
+  <xsl:template match="text()" mode="text-props">
+  	<copy/>
+  </xsl:template>
+  <xsl:template match="node()|@*" mode="text-props"/>
+
+  <!-- paragraph properties -->
+  <xsl:template match="o-text:*" mode="para-props">
+    <xsl:element name="text:{local-name(.)}">
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:element>
+  </xsl:template>
+  <xsl:template match="@o-text:*" mode="para-props">
+    <xsl:attribute name="text:{local-name(.)}">
+      <xsl:value-of select="."/>
+    </xsl:attribute>
+  </xsl:template>
+  <xsl:template match="o-style:*" mode="para-props">
+    <xsl:element name="style:{local-name(.)}">
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:element>
+  </xsl:template>
+  <xsl:template match="@o-style:*" mode="para-props">
+    <xsl:attribute name="style:{local-name(.)}">
+      <xsl:value-of select="."/>
+    </xsl:attribute>
+  </xsl:template>
+  <xsl:template match="@fo:*" mode="para-props">
+  	<xsl:copy/>
+  </xsl:template>
+  <xsl:template match="node()|@*" mode="para-props"/>
+
+  <!-- graphic properties -->
+  <xsl:template match="@o-text:*" mode="graphic-props">
+  	<xsl:if test="starts-with(local-name(.), 'animation')">
+		<xsl:attribute name="text:{local-name(.)}">
+		  <xsl:value-of select="."/>
+		</xsl:attribute>
+	</xsl:if>
+  </xsl:template>
+  <xsl:template match="o-draw:*" mode="graphic-props">
+    <xsl:element name="draw:{local-name(.)}">
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:element>
+  </xsl:template>
+  <xsl:template match="@o-draw:*" mode="graphic-props">
+    <xsl:attribute name="draw:{local-name(.)}">
+      <xsl:value-of select="."/>
+    </xsl:attribute>
+  </xsl:template>
+  <xsl:template match="o-dr3d:*" mode="graphic-props">
+    <xsl:element name="dr3d:{local-name(.)}">
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:element>
+  </xsl:template>
+  <xsl:template match="@o-dr3d:*" mode="graphic-props">
+    <xsl:attribute name="dr3d:{local-name(.)}">
+      <xsl:value-of select="."/>
+    </xsl:attribute>
+  </xsl:template>
+  <xsl:template match="@svg:*" mode="graphic-props">
+  	<xsl:copy/>
+  </xsl:template>
+  <xsl:template match="node()|@*" mode="graphic-props"/>
+
+  <!-- #20: page-master becomes page layout -->
+  <xsl:template match="o-style:page-master">
+  	<style:page-layout>
+      <xsl:apply-templates select="*|@*"/>
+  	</style:page-layout>
+  </xsl:template>
+  <xsl:template match="@o-style:page-master-name">
+    <xsl:attribute name="style:page-layout-name">
+      <xsl:value-of select="."/>
+    </xsl:attribute>
+  </xsl:template>
+
+</xsl:stylesheet>
diff --git a/assets/xml/oasis/opendocument-package.odt b/assets/xml/oasis/opendocument-package.odt
new file mode 100644
index 0000000..ad790ec
Binary files /dev/null and b/assets/xml/oasis/opendocument-package.odt differ
diff --git a/assets/xml/oasis/opendocument-spec.odt b/assets/xml/oasis/opendocument-spec.odt
new file mode 100644
index 0000000..9762e36
Binary files /dev/null and b/assets/xml/oasis/opendocument-spec.odt differ
diff --git a/assets/xml/oasis/process_xsd.xsl b/assets/xml/oasis/process_xsd.xsl
new file mode 100644
index 0000000..3d6f28c
--- /dev/null
+++ b/assets/xml/oasis/process_xsd.xsl
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet
+  version="1.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+>
+
+  <xsl:output method="xml"/>
+
+  <!-- default: copy everything. -->
+  <xsl:template match="length">
+    <xsl:element name="xs:length">
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:element>
+  </xsl:template>
+
+  <xsl:template match="@*|node()">
+    <xsl:copy>
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:copy>
+  </xsl:template>
+
+</xsl:stylesheet>
diff --git a/assets/xml/oasis/simplify_rng.xsl b/assets/xml/oasis/simplify_rng.xsl
new file mode 100644
index 0000000..e93be70
--- /dev/null
+++ b/assets/xml/oasis/simplify_rng.xsl
@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet
+  version="1.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:rng="http://relaxng.org/ns/structure/1.0"
+  xmlns="http://relaxng.org/ns/structure/1.0"
+  exclude-result-prefixes="#default rng"
+>
+
+  <xsl:output method="xml"/>
+
+  <!-- unify type of "table:protection-key" attribute -->
+  <xsl:template match="rng:attribute[@name='table:protection-key']/rng:text">
+     <ref name="string"/>
+  </xsl:template>
+
+  <!-- simplify "form-property-type-and-value-list" -->
+  <xsl:template match="rng:define[@name='form-property-type-and-value-list']">
+	<define name="form-property-type-and-value-list">
+		<attribute name="office:value-type">
+			<choice>
+				<value>float</value>
+				<value>percentage</value>
+				<value>currency</value>
+				<value>date</value>
+				<value>time</value>
+				<value>boolean</value>
+				<value>string</value>
+				<value>void</value>
+			</choice>
+		</attribute>
+		<zeroOrMore>
+			<element name="form:list-value">
+				<optional>
+					<attribute name="office:value">
+						<ref name="double"/>
+					</attribute>
+				</optional>
+				<optional>
+					<attribute name="office:currency">
+						<ref name="string"/>
+					</attribute>
+				</optional>
+				<optional>
+					<attribute name="office:date-value">
+						<ref name="dateOrDateTime"/>
+					</attribute>
+				</optional>
+				<optional>
+					<attribute name="office:time-value">
+						<ref name="duration"/>
+					</attribute>
+				</optional>
+				<optional>
+					<attribute name="office:boolean-value">
+						<ref name="boolean"/>
+					</attribute>
+				</optional>
+				<optional>
+					<attribute name="office:string-value">
+						<ref name="string"/>
+					</attribute>
+				</optional>
+			</element>
+		</zeroOrMore>
+	</define>
+  </xsl:template>
+
+  <!-- simplify "style-style-content" -->
+  <xsl:template match="rng:define[@name='style-style-content']">
+  	<xsl:if test=".//rng:value='text'">
+		<define name="style-style-content" combine="choice">
+			<attribute name="style:family">
+				<choice>
+					<value>text</value>
+					<value>paragraph</value>
+					<value>section</value>
+					<value>ruby</value>
+					<value>table</value>
+					<value>table-column</value>
+					<value>table-row</value>
+					<value>table-cell</value>
+					<value>graphic</value>
+					<value>presentation</value>
+					<value>drawing-page</value>
+					<value>chart</value>
+				</choice>
+			</attribute>
+			<optional>
+				<ref name="style-table-properties"/>
+			</optional>
+			<optional>
+				<ref name="style-table-column-properties"/>
+			</optional>
+			<optional>
+				<ref name="style-table-row-properties"/>
+			</optional>
+			<optional>
+				<ref name="style-table-cell-properties"/>
+			</optional>
+			<optional>
+				<ref name="style-chart-properties"/>
+			</optional>
+			<optional>
+				<ref name="style-graphic-properties"/>
+			</optional>
+			<optional>
+				<ref name="style-section-properties"/>
+			</optional>
+			<optional>
+				<ref name="style-paragraph-properties"/>
+			</optional>
+			<optional>
+				<ref name="style-text-properties"/>
+			</optional>
+			<optional>
+				<ref name="style-ruby-properties"/>
+			</optional>
+			<optional>
+				<ref name="style-drawing-page-properties"/>
+			</optional>
+		</define>
+	</xsl:if>
+  </xsl:template>
+
+  <!-- simplify "table-rows-and-groups" -->
+  <xsl:template match="rng:define[@name='table-rows-and-groups']">
+	<define name="table-rows-and-groups">
+		<oneOrMore>
+			<choice>
+				<ref name="table-table-row-group"/>
+                <ref name="table-table-header-rows"/>
+				<ref name="table-table-rows"/>
+                <ref name="table-table-row"/>
+			</choice>
+		</oneOrMore>
+	</define>
+  </xsl:template>
+
+  <xsl:template match="rng:define[@name='table-rows-no-group']"/>
+  <xsl:template match="rng:define[@name='table-rows']"/>
+
+  <!-- simplify "table-columns-and-groups" -->
+  <xsl:template match="rng:define[@name='table-columns-and-groups']">
+	<define name="table-columns-and-groups">
+		<oneOrMore>
+			<choice>
+				<ref name="table-table-column-group"/>
+                <ref name="table-table-header-columns"/>
+				<ref name="table-table-columns"/>
+                <ref name="table-table-column"/>
+			</choice>
+		</oneOrMore>
+	</define>
+  </xsl:template>
+
+  <xsl:template match="rng:define[@name='table-columns-no-group']"/>
+  <xsl:template match="rng:define[@name='table-columns']"/>
+
+  <!-- default: copy everything. -->
+  <xsl:template match="@*|node()">
+    <xsl:copy>
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:copy>
+  </xsl:template>
+
+</xsl:stylesheet>
diff --git a/assets/xml/odf2xhtml/index.fodt b/assets/xml/odf2xhtml/index.fodt
new file mode 100644
index 0000000..3464356
--- /dev/null
+++ b/assets/xml/odf2xhtml/index.fodt
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?><office:document xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="ht [...]
+   <ooo:libraries>
+    <ooo:library-embedded ooo:name="Standard"/>
+   </ooo:libraries></office:script></office:scripts><office:font-face-decls><style:font-face style:name="StarSymbol" svg:font-family="StarSymbol" style:font-charset="x-symbol"/><style:font-face style:name="Tahoma1" svg:font-family="Tahoma"/><style:font-face style:name="Andale Sans UI" svg:font-family="'Andale Sans UI'" style:font-pitch="variable"/><style:font-face style:name="Arial Unicode MS" svg:font-family="'Arial Unicode MS'" style:font-pitch="variable"/><style:font-face style:name=" [...]
\ No newline at end of file
diff --git a/assets/xml/odf2xhtml/rdf-extract.xsl b/assets/xml/odf2xhtml/rdf-extract.xsl
new file mode 100644
index 0000000..e4ae1c3
--- /dev/null
+++ b/assets/xml/odf2xhtml/rdf-extract.xsl
@@ -0,0 +1,249 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+  DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+  
+  Copyright 2008 by Sun Microsystems, Inc.
+
+  OpenOffice.org - a multi-platform office productivity suite
+
+  $RCSfile: rdf-extract.xsl,v $
+
+  $Revision: 1.1 $
+
+  This file is part of OpenOffice.org.
+
+  OpenOffice.org is free software: you can redistribute it and/or modify
+  it under the terms of the GNU Lesser General Public License version 3
+  only, as published by the Free Software Foundation.
+
+  OpenOffice.org is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU Lesser General Public License version 3 for more details
+  (a copy is included in the LICENSE file that accompanied this code).
+
+  You should have received a copy of the GNU Lesser General Public License
+  version 3 along with OpenOffice.org.  If not, see
+  <http://www.openoffice.org/license.html>
+  for a copy of the LGPLv3 License.
+
+-->
+<xsl:stylesheet 
+    xmlns:xsl      ="http://www.w3.org/1999/XSL/Transform"
+    xmlns:h        ="http://www.w3.org/1999/xhtml"
+    xmlns          ="http://www.w3.org/1999/xhtml"
+    xmlns:data-view="http://www.w3.org/2003/g/data-view"
+    xmlns:dc      ="http://purl.org/dc/elements/1.1/"
+    xmlns:dcterms  ="http://purl.org/dc/terms/"
+    xmlns:dctype  ="http://purl.org/dc/dcmitype/"
+    xmlns:dcam    ="http://purl.org/dc/dcam/"
+    xmlns:xlink    ="http://www.w3.org/1999/xlink"
+    xmlns:rdf      ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:rdfs    ="http://www.w3.org/2000/01/rdf-schema#"
+    exclude-result-prefixes="#default h xlink rdfs data-view dc dcterms dctype dcam"
+    version="1.0">
+
+    <xsl:output method="xml" encoding="UTF-8" indent="yes"/>
+
+    <xsl:variable name="uc">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable>
+
+    <xsl:variable name="lc">abcdefghijklmnopqrstuvwxyz</xsl:variable>
+
+    <xsl:param name="xmlfile">./.</xsl:param>
+
+    <xsl:variable name="baseURI">
+        <xsl:choose>
+            <xsl:when test="//h:meta[./@name='DCTERMS.identifier'][./@scheme='DCTERMS.URI']/@content">
+                <xsl:value-of select="//h:meta[./@name='DCTERMS.identifier'][./@scheme='DCTERMS.URI']/@content"/>
+            </xsl:when>
+            <xsl:when test="//h:html/@xml:base">
+                <xsl:value-of select="//h:html/@xml:base"/>
+            </xsl:when>
+            <xsl:when test="//h:base/@href">
+                <xsl:value-of select="//h:base/@href"/>
+            </xsl:when>
+            <xsl:otherwise>
+                <xsl:value-of select="$xmlfile"/>
+            </xsl:otherwise>
+        </xsl:choose>
+    </xsl:variable>
+
+
+    <xsl:variable name="ele" select="document('./dcelements.rdf')" />
+
+    <xsl:variable name="eleterm" select="document('./dcterms.rdf')" />
+
+    <xsl:variable name="eletype" select="document('./dctype.rdf')" />
+
+    <xsl:variable name="model" select="document('./dcam.rdf')" />
+
+
+    <xsl:template match="/">
+        <rdf:RDF>
+            <xsl:comment>DCMI Abstract Model</xsl:comment>
+            <xsl:comment>Instance Document</xsl:comment>
+
+
+            <rdf:Description>
+                <xsl:attribute name="rdf:about">
+                    <xsl:value-of select="$baseURI" />
+                </xsl:attribute>
+
+                <xsl:apply-templates select="//h:html/h:head/h:meta" />
+
+                <xsl:apply-templates select="//h:html/h:head/h:link" />
+
+
+            </rdf:Description>
+        </rdf:RDF>
+    </xsl:template>
+
+
+    <xsl:template match="h:meta">
+
+        <xsl:call-template name="item">
+            <xsl:with-param name="n" select="@name" />
+            <xsl:with-param name="val" select="@content" />
+        </xsl:call-template>
+    </xsl:template>
+
+    <xsl:template match="h:link">
+
+
+        <xsl:call-template name="item">
+            <xsl:with-param name="n" select="@rel" />
+            <xsl:with-param name="ref" select="@href" />
+        </xsl:call-template>
+    </xsl:template>
+
+    <xsl:template name="item">
+        <xsl:param name="n" />
+        <xsl:param name="val" />
+        <xsl:param name="ref" />
+
+        <xsl:variable name="ns">
+            <xsl:call-template name="get-ns">
+                <xsl:with-param name="n" select="$n" />
+            </xsl:call-template>
+        </xsl:variable>
+
+        <xsl:if test="string-length($ns) &gt; 0">
+            <xsl:variable name="ln">
+                <xsl:call-template name="get-ln">
+                    <xsl:with-param name="n" select="$n" />
+                    <xsl:with-param name="ns" select="$ns" />
+                </xsl:call-template>
+            </xsl:variable>
+
+
+            <xsl:element name="{$ln}" namespace="{$ns}">
+                <xsl:choose>
+                    <xsl:when test="$ref">
+                        <rdf:Description rdf:about="{$ref}">
+                            <xsl:if test="@hreflang">
+                                <dc:language>
+                                    <xsl:value-of select="@hreflang" />
+                                </dc:language>
+                            </xsl:if>
+                        </rdf:Description>
+                    </xsl:when>
+                    <xsl:otherwise>
+                        <xsl:if test="@xml:lang">
+                            <xsl:attribute name="xml:lang">
+                                <xsl:value-of select="@xml:lang" />
+                            </xsl:attribute>
+                        </xsl:if>
+
+                        <xsl:if test="@scheme">
+                            <rdf:Description>
+                                <rdf:value>
+                                    <xsl:if test="@scheme">
+                                        <xsl:variable name="dt">
+                                            <xsl:call-template name="get-dt">
+                                                <xsl:with-param name="n" select="@scheme" />
+                                            </xsl:call-template>
+                                        </xsl:variable>
+                                        <xsl:if test="string-length($dt) &gt; 0">
+                                            <xsl:attribute name="rdf:datatype">
+                                                <xsl:value-of select="$dt" />
+                                            </xsl:attribute>
+                                        </xsl:if>
+                                    </xsl:if>
+                                    <xsl:value-of select="$val" />
+                                </rdf:value>
+                            </rdf:Description>
+                        </xsl:if>
+
+                        <xsl:if test="not(@scheme)">
+                            <xsl:value-of select="$val" />
+                        </xsl:if>
+                    </xsl:otherwise>
+                </xsl:choose>
+            </xsl:element>
+        </xsl:if>
+    </xsl:template>
+
+    <xsl:template name="get-ns">
+        <xsl:param name="n" />
+
+        <xsl:variable name="pfx" select='substring-before(translate($n, $uc, $lc), ".")' />
+        <xsl:variable name="binding" select='../h:link[translate(@rel, $uc, $lc) = concat("schema.", $pfx)]' />
+
+        <xsl:if test="$binding">
+            <!-- @@TODO: absolutize @href -->
+            <xsl:variable name="ns1" select="$binding/@href" />
+
+            <xsl:variable name="ln1" select="substring( translate($n, $uc, $lc), string-length($pfx) + 1, string-length($n))" />
+
+            <xsl:variable name="ns">
+                <xsl:choose>
+                    <xsl:when test='contains(substring-after($ln1, "."), ".")'>
+                        <xsl:value-of select='"http://purl.org/dc/terms/"'/>
+                    </xsl:when>
+                    <xsl:otherwise>
+                        <xsl:value-of select="$ns1" />
+                    </xsl:otherwise>
+                </xsl:choose>
+            </xsl:variable>
+            <xsl:value-of select="$ns" />
+        </xsl:if>
+    </xsl:template>
+
+    <xsl:template name="get-ln">
+        <xsl:param name="n" />
+        <xsl:param name="ns" />
+
+        <xsl:variable name="ln1" select='substring-after($n, ".") ' />
+
+        <xsl:variable name="ln">
+            <xsl:choose>
+                <xsl:when test='contains($ln1, ".") and $ns = "http://purl.org/dc/terms/"'>
+                    <xsl:value-of select='substring-after($ln1, ".") '/>
+                </xsl:when>
+                <xsl:otherwise>
+                    <xsl:value-of select="$ln1" />
+                </xsl:otherwise>
+            </xsl:choose>
+        </xsl:variable>
+        <xsl:value-of select="$ln" />
+    </xsl:template>
+
+    <xsl:template name="get-dt">
+        <xsl:param name="n" />
+
+        <xsl:variable name="ns">
+            <xsl:call-template name="get-ns">
+                <xsl:with-param name="n" select="$n" />
+            </xsl:call-template>
+        </xsl:variable>
+
+        <xsl:variable name="ln" select='substring-after($n, ".")' />
+
+        <xsl:value-of select="concat($ns, $ln)" />
+    </xsl:template>
+
+
+    <!-- don't pass text thru -->
+    <xsl:template match="text()|@*"></xsl:template>
+</xsl:stylesheet>
diff --git a/assets/xml/opendocument-cropped_0.jpg b/assets/xml/opendocument-cropped_0.jpg
new file mode 100644
index 0000000..d312cde
Binary files /dev/null and b/assets/xml/opendocument-cropped_0.jpg differ
diff --git a/assets/xml/optimization/current_optimization_status.sxc b/assets/xml/optimization/current_optimization_status.sxc
new file mode 100644
index 0000000..f0a6d87
Binary files /dev/null and b/assets/xml/optimization/current_optimization_status.sxc differ
diff --git a/assets/xml/optimization/downloads/libxmlwrap.zip b/assets/xml/optimization/downloads/libxmlwrap.zip
new file mode 100644
index 0000000..12f9cec
Binary files /dev/null and b/assets/xml/optimization/downloads/libxmlwrap.zip differ
diff --git a/assets/xml/optimization/protocoll_export_simple_editcells.sxc b/assets/xml/optimization/protocoll_export_simple_editcells.sxc
new file mode 100644
index 0000000..39fdc59
Binary files /dev/null and b/assets/xml/optimization/protocoll_export_simple_editcells.sxc differ
diff --git a/assets/xml/optimization/protocoll_export_simple_formulacells.sxc b/assets/xml/optimization/protocoll_export_simple_formulacells.sxc
new file mode 100644
index 0000000..15322d5
Binary files /dev/null and b/assets/xml/optimization/protocoll_export_simple_formulacells.sxc differ
diff --git a/assets/xml/optimization/protocoll_export_simple_numbercells.sxc b/assets/xml/optimization/protocoll_export_simple_numbercells.sxc
new file mode 100644
index 0000000..1509043
Binary files /dev/null and b/assets/xml/optimization/protocoll_export_simple_numbercells.sxc differ
diff --git a/assets/xml/optimization/protocoll_export_simple_textcells.sxc b/assets/xml/optimization/protocoll_export_simple_textcells.sxc
new file mode 100644
index 0000000..f71b64e
Binary files /dev/null and b/assets/xml/optimization/protocoll_export_simple_textcells.sxc differ
diff --git a/assets/xml/optimization/protocoll_import_simple_editcells.sxc b/assets/xml/optimization/protocoll_import_simple_editcells.sxc
new file mode 100644
index 0000000..b91ebde
Binary files /dev/null and b/assets/xml/optimization/protocoll_import_simple_editcells.sxc differ
diff --git a/assets/xml/optimization/protocoll_import_simple_formulacells.sxc b/assets/xml/optimization/protocoll_import_simple_formulacells.sxc
new file mode 100644
index 0000000..32d4c6c
Binary files /dev/null and b/assets/xml/optimization/protocoll_import_simple_formulacells.sxc differ
diff --git a/assets/xml/optimization/protocoll_import_simple_numbercells.sxc b/assets/xml/optimization/protocoll_import_simple_numbercells.sxc
new file mode 100644
index 0000000..4b9ed4e
Binary files /dev/null and b/assets/xml/optimization/protocoll_import_simple_numbercells.sxc differ
diff --git a/assets/xml/optimization/protocoll_import_simple_textcells.sxc b/assets/xml/optimization/protocoll_import_simple_textcells.sxc
new file mode 100644
index 0000000..56a1952
Binary files /dev/null and b/assets/xml/optimization/protocoll_import_simple_textcells.sxc differ
diff --git a/assets/xml/optimization/simple_editcells.sxc b/assets/xml/optimization/simple_editcells.sxc
new file mode 100644
index 0000000..bc8185e
Binary files /dev/null and b/assets/xml/optimization/simple_editcells.sxc differ
diff --git a/assets/xml/optimization/simple_formulacells.sxc b/assets/xml/optimization/simple_formulacells.sxc
new file mode 100644
index 0000000..8c155cc
Binary files /dev/null and b/assets/xml/optimization/simple_formulacells.sxc differ
diff --git a/assets/xml/optimization/simple_numbercells.sxc b/assets/xml/optimization/simple_numbercells.sxc
new file mode 100644
index 0000000..96ccf63
Binary files /dev/null and b/assets/xml/optimization/simple_numbercells.sxc differ
diff --git a/assets/xml/optimization/simple_textcells.sxc b/assets/xml/optimization/simple_textcells.sxc
new file mode 100644
index 0000000..b9a4bdd
Binary files /dev/null and b/assets/xml/optimization/simple_textcells.sxc differ
diff --git a/assets/xml/prj/build.lst b/assets/xml/prj/build.lst
new file mode 100644
index 0000000..f38a1ee
--- /dev/null
+++ b/assets/xml/prj/build.lst
@@ -0,0 +1,3 @@
+xw xmlwww  :   soltools solenv NULL
+xw xmlwww		usr1	-	all	xw_root NULL
+xw xmlwww\prj	get		-	all	xw_prj NULL
diff --git a/assets/xml/prj/d.lst b/assets/xml/prj/d.lst
new file mode 100644
index 0000000..792d9ce
--- /dev/null
+++ b/assets/xml/prj/d.lst
@@ -0,0 +1 @@
+..\xml_specification_draft.pdf %_DEST%\inc%_EXT%\xml_specification_draft.pdf
diff --git a/assets/xml/robots.txt b/assets/xml/robots.txt
new file mode 100644
index 0000000..7e0b2af
--- /dev/null
+++ b/assets/xml/robots.txt
@@ -0,0 +1,7 @@
+User-Agent: *
+Disallow: /source/
+Disallow: /issues/
+Disallow: /search/
+Disallow: /servlets/
+Disallow: /project/
+Disallow: /nonav/
diff --git a/assets/xml/saxecho/xmlflat.jpg b/assets/xml/saxecho/xmlflat.jpg
new file mode 100644
index 0000000..94333b6
Binary files /dev/null and b/assets/xml/saxecho/xmlflat.jpg differ
diff --git a/assets/xml/saxecho/xmltree.jpg b/assets/xml/saxecho/xmltree.jpg
new file mode 100644
index 0000000..41b30c8
Binary files /dev/null and b/assets/xml/saxecho/xmltree.jpg differ
diff --git a/assets/xml/sx2ml/index.fodt b/assets/xml/sx2ml/index.fodt
new file mode 100644
index 0000000..b5b26b1
--- /dev/null
+++ b/assets/xml/sx2ml/index.fodt
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?><office:document xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="ht [...]
+   <ooo:libraries>
+    <ooo:library-embedded ooo:name="Standard"/>
+   </ooo:libraries></office:script></office:scripts><office:font-face-decls><style:font-face style:name="StarSymbol" svg:font-family="StarSymbol" style:font-charset="x-symbol"/><style:font-face style:name="Tahoma1" svg:font-family="Tahoma"/><style:font-face style:name="Andale Sans UI" svg:font-family="'Andale Sans UI'" style:font-pitch="variable"/><style:font-face style:name="Arial Unicode MS" svg:font-family="'Arial Unicode MS'" style:font-pitch="variable"/><style:font-face style:name=" [...]
\ No newline at end of file
diff --git a/assets/xml/sx2ml/master_document_support.zip b/assets/xml/sx2ml/master_document_support.zip
new file mode 100644
index 0000000..0f27919
Binary files /dev/null and b/assets/xml/sx2ml/master_document_support.zip differ
diff --git a/assets/xml/xmerge/docbook/images/DocumentTitle.jpg b/assets/xml/xmerge/docbook/images/DocumentTitle.jpg
new file mode 100755
index 0000000..c61490d
Binary files /dev/null and b/assets/xml/xmerge/docbook/images/DocumentTitle.jpg differ
diff --git a/assets/xml/xmerge/docbook/images/Navigator.gif b/assets/xml/xmerge/docbook/images/Navigator.gif
new file mode 100755
index 0000000..041ef57
Binary files /dev/null and b/assets/xml/xmerge/docbook/images/Navigator.gif differ
diff --git a/assets/xml/xmerge/docbook/images/ParagraphStyles.png b/assets/xml/xmerge/docbook/images/ParagraphStyles.png
new file mode 100755
index 0000000..5ab5fb6
Binary files /dev/null and b/assets/xml/xmerge/docbook/images/ParagraphStyles.png differ
diff --git a/assets/xml/xmerge/docbook/images/SaveAs.jpg b/assets/xml/xmerge/docbook/images/SaveAs.jpg
new file mode 100755
index 0000000..a85ab72
Binary files /dev/null and b/assets/xml/xmerge/docbook/images/SaveAs.jpg differ
diff --git a/assets/xml/xmerge/docbook/images/Table.jpg b/assets/xml/xmerge/docbook/images/Table.jpg
new file mode 100755
index 0000000..a5ab2c2
Binary files /dev/null and b/assets/xml/xmerge/docbook/images/Table.jpg differ
diff --git a/assets/xml/xmerge/docs/XMerge_sdk.pdf b/assets/xml/xmerge/docs/XMerge_sdk.pdf
new file mode 100644
index 0000000..7eba057
Binary files /dev/null and b/assets/xml/xmerge/docs/XMerge_sdk.pdf differ
diff --git a/assets/xml/xmerge/docs/XMerge_sdk.sxw b/assets/xml/xmerge/docs/XMerge_sdk.sxw
new file mode 100644
index 0000000..80157c8
Binary files /dev/null and b/assets/xml/xmerge/docs/XMerge_sdk.sxw differ
diff --git a/assets/xml/xmerge/docs/XSLTPlugin.pdf b/assets/xml/xmerge/docs/XSLTPlugin.pdf
new file mode 100644
index 0000000..30b8fe0
Binary files /dev/null and b/assets/xml/xmerge/docs/XSLTPlugin.pdf differ
diff --git a/assets/xml/xmerge/docs/XSLTPlugin.sxw b/assets/xml/xmerge/docs/XSLTPlugin.sxw
new file mode 100644
index 0000000..dabe0c2
Binary files /dev/null and b/assets/xml/xmerge/docs/XSLTPlugin.sxw differ
diff --git a/assets/xml/xmerge/docs/xmerge_javadoc.zip b/assets/xml/xmerge/docs/xmerge_javadoc.zip
new file mode 100644
index 0000000..4d2095d
Binary files /dev/null and b/assets/xml/xmerge/docs/xmerge_javadoc.zip differ
diff --git a/assets/xml/xmerge/downloads/DocBookFilter.zip b/assets/xml/xmerge/downloads/DocBookFilter.zip
new file mode 100644
index 0000000..98be6f6
Binary files /dev/null and b/assets/xml/xmerge/downloads/DocBookFilter.zip differ
diff --git a/assets/xml/xmerge/downloads/DocBookTemplate.stw b/assets/xml/xmerge/downloads/DocBookTemplate.stw
new file mode 100755
index 0000000..b6e0e19
Binary files /dev/null and b/assets/xml/xmerge/downloads/DocBookTemplate.stw differ
diff --git a/assets/xml/xmerge/downloads/InstallerSrc.zip b/assets/xml/xmerge/downloads/InstallerSrc.zip
new file mode 100755
index 0000000..29342d6
Binary files /dev/null and b/assets/xml/xmerge/downloads/InstallerSrc.zip differ
diff --git a/assets/xml/xmerge/downloads/XMergeInstall.jar b/assets/xml/xmerge/downloads/XMergeInstall.jar
new file mode 100755
index 0000000..10c4adb
Binary files /dev/null and b/assets/xml/xmerge/downloads/XMergeInstall.jar differ
diff --git a/assets/xml/xmerge/downloads/docbook.jar b/assets/xml/xmerge/downloads/docbook.jar
new file mode 100644
index 0000000..48a375d
Binary files /dev/null and b/assets/xml/xmerge/downloads/docbook.jar differ
diff --git a/assets/xml/xmerge/downloads/docbook_template.sxw b/assets/xml/xmerge/downloads/docbook_template.sxw
new file mode 100755
index 0000000..7fd56db
Binary files /dev/null and b/assets/xml/xmerge/downloads/docbook_template.sxw differ
diff --git a/assets/xml/xmerge/downloads/docbook_template.xml b/assets/xml/xmerge/downloads/docbook_template.xml
new file mode 100755
index 0000000..fbd69cf
--- /dev/null
+++ b/assets/xml/xmerge/downloads/docbook_template.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?>  <!--<!DOCTYPE article PUBLIC '-//OASIS//DTD DocBook XML V4.1.2//EN' 'http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd'>-->  <!-- <!DOCTYPE article  SYSTEM "file:///i:/DocBook/DocBookDTD/docbookx.dtd"> -->  <article id="index" lang="en"> 	<articleinfo> 		<title>Article Info title</title> 		<copyright> 			<year>Copyright Year 1: 2003</year> 			<holder>Copyright holder 1: holder 1</holder> 		</copyright> 		<copyright> 			<year>Copyright Year 2 [...]
\ No newline at end of file
diff --git a/assets/xml/xmerge/downloads/docbooktosoff.xsl b/assets/xml/xmerge/downloads/docbooktosoff.xsl
new file mode 100644
index 0000000..2e46b59
--- /dev/null
+++ b/assets/xml/xmerge/downloads/docbooktosoff.xsl
@@ -0,0 +1,1404 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ #  The Contents of this file are made available subject to the terms of
+ #  either of the following licenses
+ #
+ #         - GNU Lesser General Public License Version 2.1
+ #         - Sun Industry Standards Source License Version 1.1
+ #
+ #  Sun Microsystems Inc., October, 2000
+ #
+ #  GNU Lesser General Public License Version 2.1
+ #  =============================================
+ #  Copyright 2000 by Sun Microsystems, Inc.
+ #  901 San Antonio Road, Palo Alto, CA 94303, USA
+ #
+ #  This library is free software; you can redistribute it and/or
+ #  modify it under the terms of the GNU Lesser General Public
+ #  License version 2.1, as published by the Free Software Foundation.
+ #
+ #  This library is distributed in the hope that it will be useful,
+ #  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ #  Lesser General Public License for more details.
+ #
+ #  You should have received a copy of the GNU Lesser General Public
+ #  License along with this library; if not, write to the Free Software
+ #  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ #  MA  02111-1307  USA
+ #
+ #
+ #  Sun Industry Standards Source License Version 1.1
+ #  =================================================
+ #  The contents of this file are subject to the Sun Industry Standards
+ #  Source License Version 1.1 (the "License"); You may not use this file
+ #  except in compliance with the License. You may obtain a copy of the
+ #  License at http://www.openoffice.org/license.html.
+ #
+ #  Software provided under this License is provided on an "AS IS" basis,
+ #  WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ #  WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ #  MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ #  See the License for the specific provisions governing your rights and
+ #  obligations concerning the Software.
+ #
+ #  The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ #
+ #  Copyright: 2000 by Sun Microsystems, Inc.
+ #
+ #  All Rights Reserved.
+ #
+ #  Contributor(s): _______________________________________
+ #
+ #
+ -->
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format"
+xmlns:office="http://openoffice.org/2000/office" xmlns:style="http://openoffice.org/2000/style" xmlns:text="http://openoffice.org/2000/text" xmlns:table="http://openoffice.org/2000/table" xmlns:draw="http://openoffice.org/2000/drawing"  xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="http://openoffice.org/2000/meta" xmlns:number="http://openoffice.org/2000/datastyle" xmlns:svg="http://www.w3.org/2000/svg" xmlns:chart="http://openoffice.o [...]
+	<xsl:decimal-format name="staff" digit="D" />
+<xsl:template match="/">
+	<xsl:element name="office:document">
+			<office:meta>
+		<meta:generator>StarOffice 6.1 (Solaris Sparc)</meta:generator>
+		<dc:title><xsl:value-of select="/article/articleinfo/title"/></dc:title>
+		<dc:description></dc:description>
+		<dc:subject></dc:subject>
+		<meta:creation-date>2002-07-15T12:38:53</meta:creation-date>
+		<dc:date><xsl:value-of select="article/articleinfo/pubdate"/></dc:date>
+		<dc:language><xsl:value-of select="article/@lang"/></dc:language>
+		<meta:editing-cycles>21</meta:editing-cycles>
+		<meta:editing-duration>P1DT0H11M54S</meta:editing-duration>
+		<meta:user-defined meta:name="Info 1"/>
+		<meta:user-defined meta:name="Info 2"/>
+		<meta:user-defined meta:name="Info 3"/>
+		<meta:user-defined meta:name="Info 4"/>
+		<meta:document-statistic meta:table-count="1" meta:image-count="0" meta:object-count="0" meta:page-count="1" meta:paragraph-count="42" meta:word-count="144" meta:character-count="820"/>
+	</office:meta>
+	<office:styles>
+		<style:default-style style:family="graphics">
+			<style:properties draw:start-line-spacing-horizontal="0.283cm" draw:start-line-spacing-vertical="0.283cm" draw:end-line-spacing-horizontal="0.283cm" draw:end-line-spacing-vertical="0.283cm" style:use-window-font-color="true" style:font-name="Thorndale" fo:font-size="12pt" fo:language="en" fo:country="US" style:font-name-asian="Andale Sans UI" style:font-size-asian="12pt" style:language-asian="none" style:country-asian="none" style:font-name-complex="Arial Unicode MS" style:font-size-c [...]
+				<style:tab-stops/>
+			</style:properties>
+		</style:default-style>
+		<style:default-style style:family="paragraph">
+			<style:properties style:use-window-font-color="true" style:font-name="Thorndale" fo:font-size="12pt" fo:language="en" fo:country="US" style:font-name-asian="Andale Sans UI" style:font-size-asian="12pt" style:language-asian="none" style:country-asian="none" style:font-name-complex="Arial Unicode MS" style:font-size-complex="12pt" style:language-complex="none" style:country-complex="none" fo:hyphenate="false" fo:hyphenation-remain-char-count="2" fo:hyphenation-push-char-count="2" fo:hyp [...]
+		</style:default-style>
+	    <text:list-style style:name="Ordered List" ><text:list-level-style-number text:level="1" text:style-name="Numbering Symbols" style:num-suffix="." style:num-format="1" ><style:properties text:min-label-width="0.499cm" ></style:properties>
+</text:list-level-style-number></text:list-style>
+	<text:list-style style:name="UnOrdered List" ><text:list-level-style-bullet text:level="1" text:style-name="Bullet Symbols" text:bullet-char="•" ><style:properties text:min-label-width="0.499cm" style:font-name="StarSymbol" ></style:properties>
+</text:list-level-style-bullet>
+<text:list-level-style-bullet text:level="2" text:style-name="Bullet Symbols" text:bullet-char="•" ><style:properties text:space-before="0.501cm" text:min-label-width="0.499cm" fo:font-family="StarSymbol" style:font-charset="x-symbol" ></style:properties>
+</text:list-level-style-bullet></text:list-style>
+
+
+<text:list-style style:name="Var List" ><text:list-level-style-bullet text:level="1" text:style-name="Bullet Symbols" text:bullet-char="•" ><style:properties text:min-label-width="0.499cm" style:font-name="StarSymbol" ></style:properties>
+</text:list-level-style-bullet></text:list-style>
+
+		<style:style style:name="Standard" style:family="paragraph" style:class="text"/>
+		<style:style style:name="Text body" style:family="paragraph" style:parent-style-name="Standard" style:class="text">
+			<style:properties fo:margin-top="0cm" fo:margin-bottom="0.212cm"/>
+		</style:style>
+		<style:style style:name="Mediaobject" style:family="paragraph" style:class="text"/>
+		<style:style style:name="Highlight" style:family="text" >
+			<style:properties style:text-background-color="#fff000" />
+		</style:style>
+		<style:style style:name="Heading" style:family="paragraph" style:parent-style-name="Standard" style:next-style-name="Text body" style:class="text">
+			<style:properties fo:margin-top="0.423cm" fo:margin-bottom="0.212cm" style:font-name="Albany" fo:font-size="14pt" style:font-name-asian="HG Mincho Light J" style:font-size-asian="14pt" style:font-name-complex="Arial Unicode MS" style:font-size-complex="14pt" fo:keep-with-next="true"/>
+		</style:style>
+		<style:style style:name="Heading 1" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text body" style:class="text">
+			<style:properties fo:font-size="115%" fo:font-weight="bold" style:font-size-asian="115%" style:font-weight-asian="bold" style:font-size-complex="115%" style:font-weight-complex="bold"/>
+		</style:style>
+		<style:style style:name="Heading 2" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text body" style:class="text">
+			<style:properties fo:font-size="14pt" fo:font-style="italic" fo:font-weight="bold" style:font-size-asian="14pt" style:font-style-asian="italic" style:font-weight-asian="bold" style:font-size-complex="14pt" style:font-style-complex="italic" style:font-weight-complex="bold"/>
+		</style:style>
+		<style:style style:name="Table Contents" style:family="paragraph" style:parent-style-name="Text body" style:class="extra">
+			<style:properties text:number-lines="false" text:line-number="0"/>
+		</style:style>
+		<style:style style:name="Table Heading" style:family="paragraph" style:parent-style-name="Table Contents" style:class="extra">
+			<style:properties fo:font-style="italic" fo:font-weight="bold" style:font-style-asian="italic" style:font-weight-asian="bold" style:font-style-complex="italic" style:font-weight-complex="bold" fo:text-align="center" style:justify-single-word="false" text:number-lines="false" text:line-number="0"/>
+		</style:style>
+		<style:style style:name="Caption" style:family="paragraph" style:parent-style-name="Standard" style:class="extra">
+			<style:properties fo:margin-top="0.212cm" fo:margin-bottom="0.212cm" fo:font-size="10pt" fo:font-style="italic" style:font-size-asian="10pt" style:font-style-asian="italic" style:font-size-complex="10pt" style:font-style-complex="italic" text:number-lines="false" text:line-number="0"/>
+		</style:style>
+		<style:style style:name="Table" style:family="paragraph" style:parent-style-name="Caption" style:class="extra"/>
+		<style:style style:name="Object" style:family="paragraph" style:parent-style-name="Caption" style:class="extra"/>
+		<style:style style:name="Frame contents" style:family="paragraph" style:parent-style-name="Text body" style:class="extra"/>
+		<style:style style:name="Subtitle" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text body" style:class="chapter">
+			<style:properties fo:font-size="14pt" fo:font-style="italic" style:font-size-asian="14pt" style:font-style-asian="italic" style:font-size-complex="14pt" style:font-style-complex="italic" fo:text-align="center" style:justify-single-word="false"/>
+		</style:style>
+		<style:style style:name="Section Title" style:family="paragraph" style:next-style-name="Text body" style:master-page-name="">
+			<style:properties fo:text-transform="capitalize" style:font-name="Albany1" fo:font-size="14pt" fo:line-height="200%" style:page-number="0"/>
+		</style:style>
+		<style:style style:name="Appendix Title" style:family="paragraph" style:next-style-name="Text body" style:master-page-name="">
+			<style:properties fo:text-transform="capitalize" style:font-name="Albany1" fo:font-size="14pt" fo:line-height="200%" style:page-number="0"/>
+		</style:style>
+		<style:style style:name="Section1 Title" style:family="paragraph" style:next-style-name="Text body" style:master-page-name="">
+			<style:properties fo:text-transform="capitalize" style:font-name="Albany1" fo:font-size="14pt" fo:line-height="200%" style:page-number="0"/>
+		</style:style>
+		<style:style style:name="Section2 Title" style:family="paragraph" style:next-style-name="Text body" style:master-page-name="">
+			<style:properties fo:text-transform="capitalize" style:font-name="Albany1" fo:font-size="13pt" fo:line-height="200%" style:page-number="0"/>
+		</style:style>
+		<style:style style:name="Section3 Title" style:family="paragraph" style:next-style-name="Text body" style:master-page-name="">
+			<style:properties fo:text-transform="capitalize" style:font-name="Albany1" fo:font-size="12pt" fo:line-height="200%" style:page-number="0"/>
+		</style:style>
+		<style:style style:name="Section4 Title" style:family="paragraph" style:next-style-name="Text body" style:master-page-name="">
+			<style:properties fo:text-transform="capitalize" style:font-name="Albany1" fo:font-size="12pt" fo:line-height="200%" style:page-number="0"/>
+		</style:style>
+		<style:style style:name="Section5 Title" style:family="paragraph" style:next-style-name="Text body" style:master-page-name="">
+			<style:properties fo:text-transform="capitalize" style:font-name="Albany1" fo:font-size="12pt" fo:line-height="200%" style:page-number="0"/>
+		</style:style>
+	<style:style style:name="Footnote" style:family="paragraph" style:parent-style-name="Standard" style:class="extra">
+			<style:properties fo:margin-left="0.499cm" fo:margin-right="0cm" fo:font-size="10pt" style:font-size-asian="10pt" style:font-size-complex="10pt" fo:text-indent="-0.499cm" style:auto-text-indent="false" text:number-lines="false" text:line-number="0"/>
+		</style:style>
+		<style:style style:name="Document Title" style:family="paragraph" style:parent-style-name="Standard" style:next-style-name="Document SubTitle">
+			<style:properties style:font-name="Albany1" fo:font-size="20pt" fo:text-align="center" style:justify-single-word="false"/>
+		</style:style>
+		<style:style style:name="Document SubTitle" style:family="paragraph" style:parent-style-name="Document Title" style:next-style-name="Text body">
+			<style:properties fo:font-size="14pt"/>
+		</style:style>
+		<style:style style:name="Section SubTitle" style:family="paragraph" style:parent-style-name="Section Title"/>
+		<style:style style:name="CopyRight" style:family="paragraph" style:parent-style-name="Text body"/>
+	<style:style style:name="Sect1" style:family="section" style:parent-style-name="Section Title">
+			<style:properties fo:color="#ffffff"  style:font-name="Arial" fo:background-color="#ff0000" fo:font-size="18pt">
+				<style:background-image/>
+			</style:properties>
+		</style:style>
+		<style:style style:name="KeyCap" style:family="text"  >
+			<style:properties fo:font-weight="bold" />
+		</style:style>
+		<style:style style:name="Command" style:family="text"  >
+			<style:properties fo:font-weight="bold" />
+		</style:style>
+		<style:style style:name="Application" style:family="text"  >
+			<style:properties fo:font-weight="bold" />
+		</style:style>
+		<style:style style:name="FileName" style:family="text"  >
+			<style:properties fo:font-weight="bold" />
+		</style:style>
+		<style:style style:name="SuperScript" style:family="text"  >
+			<style:properties style:text-position="super 58%" />
+		</style:style>
+		<style:style style:name="SubScript" style:family="text"  >
+			<style:properties style:text-position="sub 58%" />
+		</style:style>
+		<style:style style:name="SystemItem" style:family="text"  >
+			<style:properties fo:font-weight="bold" />
+		</style:style>
+		<style:style style:name="ComputerOutput" style:family="text"  >
+			<style:properties fo:font-weight="bold" />
+		</style:style>
+		<style:style style:name="KeyCombo" style:family="text"  >
+			<style:properties fo:font-weight="bold" />
+		</style:style>
+		<style:style style:name="KeySym" style:family="text"  >
+			<style:properties fo:font-weight="bold" />
+		</style:style>
+		<style:style style:name="VarList Item" style:family="paragraph" style:list-style-name="Var List" style:parent-style-name="Text body" style:class="text">
+			<style:properties fo:margin-left="3.001cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false">
+				<style:tab-stops>
+					<style:tab-stop style:position="0cm"/>
+				</style:tab-stops>
+			</style:properties>
+		</style:style>
+				<style:style style:name="VarList Term" style:family="paragraph" style:list-style-name="Var List" style:parent-style-name="Text body" style:class="text">
+			<style:properties fo:margin-left="1.001cm" fo:margin-right="0cm" fo:text-indent="-4.5cm" style:auto-text-indent="false">
+				<style:tab-stops>
+					<style:tab-stop style:position="0cm"/>
+				</style:tab-stops>
+			</style:properties>
+		</style:style>
+		<style:style style:name="Bullet Symbols" style:family="text">
+			<style:properties style:font-name="StarSymbol" fo:font-size="9pt" style:font-name-asian="StarSymbol" style:font-size-asian="9pt" style:font-name-complex="StarSymbol" style:font-size-complex="9pt"/>
+		</style:style>
+		<style:style style:name="Source Text" style:family="text">
+			<style:properties style:font-name="Cumberland" style:font-name-asian="Cumberland" style:font-name-complex="Cumberland"/>
+		</style:style>
+		<style:style style:name="Frame" style:family="graphics">
+			<style:properties text:anchor-type="paragraph" svg:x="0cm" svg:y="0cm" fo:margin-left="0.201cm" fo:margin-right="0.201cm" fo:margin-top="0.201cm" fo:margin-bottom="0.201cm" style:wrap="parallel" style:number-wrapped-paragraphs="no-limit" style:wrap-contour="false" style:vertical-pos="top" style:vertical-rel="paragraph-content" style:horizontal-pos="center" style:horizontal-rel="paragraph-content" fo:padding="0.15cm" fo:border="0.002cm solid #000000"/>
+		</style:style>
+		<style:style style:name="GuiMenu" style:family="text">
+					<style:properties fo:font-style="italic" fo:color="#000fff"/>
+		</style:style>
+		<style:style style:name="GuiSubMenu" style:family="text">
+					<style:properties fo:font-style="italic" fo:color="#000fff"/>
+		</style:style>
+		<style:style style:name="GuiButton" style:family="text">
+					<style:properties fo:font-style="italic" fo:color="#000fff"/>
+		</style:style>
+		<style:style style:name="GuiMenuItem" style:family="text">
+					<style:properties fo:font-style="italic" fo:color="#00ffff"/>
+		</style:style>
+			<style:style style:name="GuiButton" style:family="text">
+					<style:properties fo:font-style="italic" fo:color="#00f0ff"/>
+		</style:style>
+			<style:style style:name="GuiLabel" style:family="text">
+					<style:properties fo:font-style="italic" fo:color="#00777f"/>
+		</style:style>
+		<style:style style:name="Emphasis" style:family="text">
+			<style:properties fo:font-style="italic" style:font-style-asian="italic" style:font-style-complex="italic"/>
+		</style:style>
+		<style:style style:name="GuiSubMenu" style:family="text">
+					<style:properties fo:font-style="italic" fo:color="#ff9966"/>
+		</style:style>
+<text:outline-style>
+			<text:outline-level-style text:level="1" style:num-format=""/>
+			<text:outline-level-style text:level="2" style:num-format=""/>
+			<text:outline-level-style text:level="3" style:num-format=""/>
+			<text:outline-level-style text:level="4" style:num-format=""/>
+			<text:outline-level-style text:level="5" style:num-format=""/>
+			<text:outline-level-style text:level="6" style:num-format=""/>
+			<text:outline-level-style text:level="7" style:num-format=""/>
+			<text:outline-level-style text:level="8" style:num-format=""/>
+			<text:outline-level-style text:level="9" style:num-format=""/>
+			<text:outline-level-style text:level="10" style:num-format=""/>
+		</text:outline-style>
+		<text:footnotes-configuration style:num-format="1" text:start-value="0" text:footnotes-position="page" text:start-numbering-at="document"/>
+		<text:endnotes-configuration style:num-format="i" text:start-value="0"/>
+		<text:linenumbering-configuration text:number-lines="false" text:offset="0.499cm" style:num-format="1" text:number-position="left" text:increment="5"/>
+		<style:style style:name="Bullet Symbols" style:family="text" ><style:properties style:font-name="StarSymbol" fo:font-size="9pt" style:font-name-asian="StarSymbol" style:font-size-asian="9pt" style:font-name-complex="StarSymbol" style:font-size-complex="9pt" ></style:properties>
+</style:style>
+	</office:styles>
+	<office:automatic-styles>
+		<style:style style:name="fr1" style:family="graphics" style:parent-style-name="Graphics" ><style:properties style:horizontal-pos="center" style:horizontal-rel="paragraph" style:mirror="none" fo:clip="rect(0cm 0cm 0cm 0cm)" draw:luminance="0%" draw:contrast="0%" draw:red="0%" draw:green="0%" draw:blue="0%" draw:gamma="1" draw:color-inversion="false" draw:transparency="-100%" draw:color-mode="standard" ></style:properties>
+</style:style>
+
+		<style:style style:name="Table1" style:family="table">
+			<style:properties style:width="14.649cm" table:align="margins"/>
+		</style:style>
+		<style:style style:name="Table1.A" style:family="table-column">
+			<style:properties style:column-width="2.93cm" style:rel-column-width="13107*"/>
+		</style:style>
+		<style:style style:name="Table1.A1" style:family="table-cell">
+			<style:properties fo:padding="0.097cm" fo:border-left="0.002cm solid #000000" fo:border-right="none" fo:border-top="0.002cm solid #000000" fo:border-bottom="0.002cm solid #000000"/>
+		</style:style>
+		<style:style style:name="Table1.E1" style:family="table-cell">
+			<style:properties fo:padding="0.097cm" fo:border="0.002cm solid #000000"/>
+		</style:style>
+		<style:style style:name="Table1.A2" style:family="table-cell">
+			<style:properties fo:padding="0.097cm" fo:border-left="0.002cm solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.002cm solid #000000"/>
+		</style:style>
+		<style:style style:name="Table1.E2" style:family="table-cell">
+			<style:properties fo:padding="0.097cm" fo:border-left="0.002cm solid #000000" fo:border-right="0.002cm solid #000000" fo:border-top="none" fo:border-bottom="0.002cm solid #000000"/>
+		</style:style>
+		<style:style style:name="P1" style:family="paragraph" style:parent-style-name="Text body" style:list-style-name="Ordered List"/>
+		<style:style style:name="T1" style:family="text" style:parent-style-name="Source Text">
+			<style:properties fo:font-style="normal"/>
+		</style:style>
+		<style:style style:name="Sect1" style:family="section">
+			<style:properties  fo:font-size="18pt">
+				<style:columns fo:column-count="1" fo:column-gap="0cm">
+					<style:column style:rel-width="65535*" fo:margin-left="0cm" fo:margin-right="0cm" />
+				</style:columns>
+			</style:properties>
+		</style:style>
+		<style:style style:name="Sect2" style:family="section">
+			<style:properties fo:font-size="16pt">
+				<style:columns fo:column-count="0" fo:column-gap="0cm"/>
+			</style:properties>
+		</style:style>
+		<style:style style:name="ArticleInfo" style:family="section">
+			<style:properties  fo:font-size="18pt">
+				<style:columns fo:column-count="1" fo:column-gap="0cm">
+					<style:column style:rel-width="65535*" fo:margin-left="0cm" fo:margin-right="0cm" />
+				</style:columns>
+			</style:properties>
+		</style:style>
+			<style:style style:name="Appendix" style:family="section">
+			<style:properties  fo:font-size="18pt">
+				<style:columns fo:column-count="1" fo:column-gap="0cm">
+					<style:column style:rel-width="65535*" fo:margin-left="0cm" fo:margin-right="0cm" />
+				</style:columns>
+			</style:properties>
+		</style:style>
+		<text:list-style style:name="Ordered List">
+			<text:list-level-style-number text:level="1" text:style-name="Numbering Symbols" style:num-suffix="." style:num-format="1" ><style:properties text:min-label-width="0.499cm" ></style:properties>
+</text:list-level-style-number>
+<text:list-level-style-number text:level="2" style:num-suffix="." style:num-format="1" ><style:properties text:space-before="0.501cm" text:min-label-width="0.499cm" ></style:properties>
+</text:list-level-style-number>
+<text:list-level-style-number text:level="3" style:num-suffix="." style:num-format="1" ><style:properties text:space-before="1cm" text:min-label-width="0.499cm" ></style:properties>
+</text:list-level-style-number>
+<text:list-level-style-number text:level="4" style:num-suffix="." style:num-format="1" ><style:properties text:space-before="1.501cm" text:min-label-width="0.499cm" ></style:properties>
+</text:list-level-style-number>
+<text:list-level-style-number text:level="5" style:num-suffix="." style:num-format="1" ><style:properties text:space-before="2cm" text:min-label-width="0.499cm" ></style:properties>
+</text:list-level-style-number>
+<text:list-level-style-number text:level="6" style:num-suffix="." style:num-format="1" ><style:properties text:space-before="2.501cm" text:min-label-width="0.499cm" ></style:properties>
+</text:list-level-style-number>
+<text:list-level-style-number text:level="7" style:num-suffix="." style:num-format="1" ><style:properties text:space-before="3.001cm" text:min-label-width="0.499cm" ></style:properties>
+</text:list-level-style-number>
+<text:list-level-style-number text:level="8" style:num-suffix="." style:num-format="1" ><style:properties text:space-before="3.502cm" text:min-label-width="0.499cm" ></style:properties>
+</text:list-level-style-number>
+<text:list-level-style-number text:level="9" style:num-suffix="." style:num-format="1" ><style:properties text:space-before="4.001cm" text:min-label-width="0.499cm" ></style:properties>
+</text:list-level-style-number>
+<text:list-level-style-number text:level="10" style:num-suffix="." style:num-format="1" ><style:properties text:space-before="4.502cm" text:min-label-width="0.499cm" ></style:properties>
+</text:list-level-style-number>
+		</text:list-style>
+<text:list-style style:name="Var List" ><text:list-level-style-bullet text:level="1" text:style-name="Bullet Symbols" text:bullet-char="•" ><style:properties text:min-label-width="0.499cm" ></style:properties>
+</text:list-level-style-bullet>
+<text:list-level-style-number text:level="2" style:num-suffix="." style:num-format="1" ><style:properties text:space-before="0.501cm" text:min-label-width="0.499cm" ></style:properties>
+</text:list-level-style-number>
+<text:list-level-style-number text:level="3" style:num-suffix="." style:num-format="1" ><style:properties text:space-before="1cm" text:min-label-width="0.499cm" ></style:properties>
+</text:list-level-style-number>
+<text:list-level-style-number text:level="4" style:num-suffix="." style:num-format="1" ><style:properties text:space-before="1.501cm" text:min-label-width="0.499cm" ></style:properties>
+</text:list-level-style-number>
+<text:list-level-style-number text:level="5" style:num-suffix="." style:num-format="1" ><style:properties text:space-before="2cm" text:min-label-width="0.499cm" ></style:properties>
+</text:list-level-style-number>
+<text:list-level-style-number text:level="6" style:num-suffix="." style:num-format="1" ><style:properties text:space-before="2.501cm" text:min-label-width="0.499cm" ></style:properties>
+</text:list-level-style-number>
+<text:list-level-style-number text:level="7" style:num-suffix="." style:num-format="1" ><style:properties text:space-before="3.001cm" text:min-label-width="0.499cm" ></style:properties>
+</text:list-level-style-number>
+<text:list-level-style-number text:level="8" style:num-suffix="." style:num-format="1" ><style:properties text:space-before="3.502cm" text:min-label-width="0.499cm" ></style:properties>
+</text:list-level-style-number>
+<text:list-level-style-number text:level="9" style:num-suffix="." style:num-format="1" ><style:properties text:space-before="4.001cm" text:min-label-width="0.499cm" ></style:properties>
+</text:list-level-style-number>
+<text:list-level-style-number text:level="10" style:num-suffix="." style:num-format="1" ><style:properties text:space-before="4.502cm" text:min-label-width="0.499cm" ></style:properties>
+</text:list-level-style-number>
+</text:list-style>
+		<text:list-style style:name="UnOrdered List" ><text:list-level-style-bullet text:level="1" text:style-name="Bullet Symbols" text:bullet-char="•" ><style:properties text:min-label-width="0.499cm" style:font-name="StarSymbol" ></style:properties></text:list-level-style-bullet>
+			<text:list-level-style-bullet text:level="2" text:style-name="Bullet Symbols" text:bullet-char="•" ><style:properties text:min-label-width="0.499cm" style:font-name="StarSymbol" style:font-charset="x-symbol"  ></style:properties></text:list-level-style-bullet>
+			
+			<text:list-level-style-bullet text:level="3" text:style-name="Bullet Symbols" text:bullet-char="•" ><style:properties text:space-before="1cm" text:min-label-width="0.499cm" style:font-name="StarSymbol" ></style:properties>
+			</text:list-level-style-bullet>
+<text:list-level-style-bullet text:level="4" text:style-name="Bullet Symbols" text:bullet-char="•" ><style:properties text:space-before="1.501cm" text:min-label-width="0.499cm" style:font-name="StarSymbol" ></style:properties>
+</text:list-level-style-bullet>
+<text:list-level-style-bullet text:level="5" text:style-name="Bullet Symbols" text:bullet-char="•" ><style:properties text:space-before="2cm" text:min-label-width="0.499cm" style:font-name="StarSymbol" ></style:properties>
+</text:list-level-style-bullet>
+<text:list-level-style-bullet text:level="6" text:style-name="Bullet Symbols" text:bullet-char="•" ><style:properties text:space-before="2.501cm" text:min-label-width="0.499cm" style:font-name="StarSymbol" ></style:properties>
+</text:list-level-style-bullet>
+<text:list-level-style-bullet text:level="7" text:style-name="Bullet Symbols" text:bullet-char="•" ><style:properties text:space-before="3.001cm" text:min-label-width="0.499cm" style:font-name="StarSymbol" ></style:properties>
+</text:list-level-style-bullet>
+<text:list-level-style-bullet text:level="8" text:style-name="Bullet Symbols" text:bullet-char="•" ><style:properties text:space-before="3.502cm" text:min-label-width="0.499cm" style:font-name="StarSymbol" ></style:properties>
+</text:list-level-style-bullet>
+<text:list-level-style-bullet text:level="9" text:style-name="Bullet Symbols" text:bullet-char="•" ><style:properties text:space-before="4.001cm" text:min-label-width="0.499cm" style:font-name="StarSymbol" ></style:properties>
+</text:list-level-style-bullet>
+<text:list-level-style-bullet text:level="10" text:style-name="Bullet Symbols" text:bullet-char="•" ><style:properties text:space-before="4.502cm" text:min-label-width="0.499cm" style:font-name="StarSymbol" ></style:properties>
+</text:list-level-style-bullet>
+</text:list-style>
+		<style:page-master style:name="pm1">
+			<style:properties fo:page-width="20.999cm" fo:page-height="29.699cm" style:num-format="1" style:print-orientation="portrait" fo:margin-top="2.54cm" fo:margin-bottom="2.54cm" fo:margin-left="3.175cm" fo:margin-right="3.175cm" style:writing-mode="lr-tb" style:footnote-max-height="0cm">
+				<style:footnote-sep style:width="0.018cm" style:distance-before-sep="0.101cm" style:distance-after-sep="0.101cm" style:adjustment="left" style:rel-width="25%" style:color="#000000"/>
+			</style:properties>
+			<style:header-style/>
+			<style:footer-style/>
+		</style:page-master>
+	</office:automatic-styles>
+	<office:master-styles>
+		<style:master-page style:name="Standard" style:page-master-name="pm1"/>
+	</office:master-styles>
+			<office:body>
+				 
+				<xsl:apply-templates/>
+			</office:body>
+	</xsl:element>
+</xsl:template>
+
+<xsl:template match="subtitle">
+<xsl:choose>
+	<xsl:when test="parent::table">
+			<xsl:apply-templates/>
+	</xsl:when>
+	<xsl:when test="parent::informaltable">
+			<xsl:apply-templates/>
+	</xsl:when>
+	<xsl:otherwise>
+		<xsl:element name="text:p">				
+					<xsl:attribute name="text:style-name">Section SubTitle</xsl:attribute>
+		</xsl:element>
+	</xsl:otherwise>
+</xsl:choose>
+</xsl:template>
+
+
+
+
+<xsl:template match="title">
+<xsl:choose>
+	<xsl:when test="parent::figure">
+	</xsl:when>
+	<xsl:when test="parent::table">
+	</xsl:when>
+	<xsl:when test="parent::informaltable">
+			<xsl:apply-templates/>
+	</xsl:when>
+	
+	<xsl:otherwise>
+		<xsl:element name="text:p">				
+			<xsl:choose>	
+				<xsl:when test="parent::sect1">
+								 <xsl:attribute name="text:style-name">Section1 Title</xsl:attribute>	 
+				</xsl:when>
+				<xsl:when test="parent::sect2">
+					 <xsl:attribute name="text:style-name">Section2 Title</xsl:attribute>	 
+				</xsl:when>
+				<xsl:when test="parent::sect3">
+					 <xsl:attribute name="text:style-name">Section3 Title</xsl:attribute>	 
+				</xsl:when>
+				<xsl:when test="parent::sect4">
+					 <xsl:attribute name="text:style-name">Section3 Title</xsl:attribute>	 
+				</xsl:when>
+				<xsl:when test="parent::sect5">
+					 <xsl:attribute name="text:style-name">Section3 Title</xsl:attribute>	 
+				</xsl:when>
+				<xsl:when test="parent::appendix">
+								 <xsl:attribute name="text:style-name">Appendix Title</xsl:attribute>	 
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:attribute name="text:style-name">Section Title</xsl:attribute>
+				</xsl:otherwise>
+		 	</xsl:choose>
+			<xsl:apply-templates/>
+		</xsl:element>
+	</xsl:otherwise>
+</xsl:choose>
+</xsl:template>
+
+<xsl:template match="articleinfo">
+	<xsl:element name="text:section">
+		<xsl:attribute name="text:style-name">ArticleInfo</xsl:attribute>
+		<xsl:attribute name="text:name">ArticleInfo</xsl:attribute>
+			<xsl:if test="/article/articleinfo/title !=''">
+				 	    <xsl:element name="text:p">
+							<xsl:attribute name="text:style-name">Document Title</xsl:attribute>
+							<xsl:value-of select="/article/articleinfo/title"/>
+						</xsl:element>
+						<xsl:if test="/article/articleinfo/subtitle !=''">
+							<xsl:element name="text:p">
+								<xsl:attribute name="text:style-name">Document SubTitle</xsl:attribute>
+								<xsl:value-of select="/article/articleinfo/subtitle"/>
+							</xsl:element>
+						</xsl:if>
+				 </xsl:if>
+			<xsl:apply-templates/>
+	</xsl:element>
+	
+</xsl:template>
+
+<xsl:template match="appendix">
+	<xsl:element name="text:section">
+		<xsl:attribute name="text:style-name">Appendix</xsl:attribute>
+		<xsl:attribute name="text:name">Appendix</xsl:attribute>
+			<xsl:apply-templates/>
+	</xsl:element>
+	
+</xsl:template>
+
+<!--
+<xsl:template match="author">
+	<xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="firstname">
+	 <xsl:element name="text:variable-set">
+		 <xsl:attribute name="text:name">
+		 	<xsl:if test="ancestor::articleinfo/author">
+		 		<xsl:text disable-output-escaping="yes">articleinfo.author</xsl:text><xsl:value-of select="count(parent::author[preceding-sibling::author])"/><xsl:text disable-output-escaping="yes">.firstname</xsl:text><xsl:value-of select="count(preceding-sibling::firstname)"/>
+		 	</xsl:if>
+		</xsl:attribute>
+		<xsl:apply-templates/>
+	</xsl:element>
+
+</xsl:template>-->
+
+<xsl:template match="articleinfo/title">
+	<!-- <xsl:element name="text:variable-decls">
+             	<xsl:element name="text:variable-decl">
+             		<xsl:attribute name="text:value-type">
+             			<xsl:text>string</xsl:text>	
+            		 </xsl:attribute>
+      			<xsl:attribute name="text:name">
+		 			<xsl:text disable-output-escaping="yes">articleinfo.title</xsl:text>
+      				</xsl:attribute>
+      			 </xsl:element>
+      			 
+      	</xsl:element>
+      	<xsl:element name="text:p">
+	 <xsl:element name="text:variable-set">
+	 	<xsl:attribute name="text:value-type">
+             			<xsl:text>string</xsl:text>	
+            		 </xsl:attribute>
+		 <xsl:attribute name="text:name">
+		 	<xsl:text disable-output-escaping="yes">articleinfo.title</xsl:text>
+		</xsl:attribute>
+		<xsl:apply-templates/>
+	</xsl:element>	
+	</xsl:element>-->
+</xsl:template>
+
+<xsl:template match="articleinfo/subtitle">
+	 <xsl:element name="text:variable-decls">
+             	<xsl:element name="text:variable-decl">
+             		<xsl:attribute name="text:value-type">
+             			<xsl:text>string</xsl:text>	
+            		 </xsl:attribute>
+      			<xsl:attribute name="text:name">
+		 			<xsl:text disable-output-escaping="yes">articleinfo.subtitle</xsl:text>
+      				</xsl:attribute>
+      			 </xsl:element>
+      	</xsl:element>
+      	<xsl:element name="text:p">
+	 <xsl:element name="text:variable-set">
+	 	<xsl:attribute name="text:value-type">
+             			<xsl:text>string</xsl:text>	
+            		 </xsl:attribute>
+		 <xsl:attribute name="text:name">
+		 	<xsl:text disable-output-escaping="yes">articleinfo.subtitle</xsl:text>
+		</xsl:attribute>
+		<xsl:apply-templates/>
+	</xsl:element>
+	</xsl:element>
+</xsl:template>
+
+<xsl:template match="articleinfo/edition">
+	 <xsl:element name="text:variable-decls">
+             	<xsl:element name="text:variable-decl">
+             		<xsl:attribute name="text:value-type">
+             			<xsl:text>string</xsl:text>	
+            		 </xsl:attribute>
+      			<xsl:attribute name="text:name">
+		 			<xsl:text disable-output-escaping="yes">articleinfo.edition</xsl:text>
+      				</xsl:attribute>
+      			 </xsl:element>
+      	</xsl:element>
+      	<xsl:element name="text:p">
+	 <xsl:element name="text:variable-set">
+	 	<xsl:attribute name="text:value-type">
+             			<xsl:text>string</xsl:text>	
+            	 </xsl:attribute>
+		 <xsl:attribute name="text:name">
+		 	<xsl:text disable-output-escaping="yes">articleinfo.edition</xsl:text>
+		</xsl:attribute>
+		<xsl:apply-templates/>
+	</xsl:element>
+	</xsl:element>
+</xsl:template>
+
+<xsl:template match="articleinfo/releaseinfo">
+      <xsl:element name="text:variable-decls">
+             	<xsl:element name="text:variable-decl">
+             		<xsl:attribute name="text:value-type">
+             			<xsl:text>string</xsl:text>	
+            		 </xsl:attribute>
+      			<xsl:attribute name="text:name">
+		 			<xsl:text disable-output-escaping="yes">articleinfo.releaseinfo_</xsl:text><xsl:value-of select="count(preceding-sibling::releaseinfo)"/>
+      				</xsl:attribute>
+      			 </xsl:element>
+      	</xsl:element>
+      	<xsl:element name="text:p">
+	 <xsl:element name="text:variable-set">
+	 	<xsl:attribute name="text:value-type">
+             			<xsl:text>string</xsl:text>	
+            	</xsl:attribute>
+		 <xsl:attribute name="text:name">
+		 	<xsl:text disable-output-escaping="yes">articleinfo.releaseinfo_</xsl:text><xsl:value-of select="count(preceding-sibling::releaseinfo)"/>
+		</xsl:attribute>
+		<xsl:apply-templates/>
+	</xsl:element>
+	</xsl:element>
+</xsl:template>
+
+
+<xsl:template match="author/firstname">
+      <xsl:element name="text:variable-decls">
+             	<xsl:element name="text:variable-decl">
+             		<xsl:attribute name="text:value-type">
+             			<xsl:text>string</xsl:text>	
+            		 </xsl:attribute>
+            		
+      			<xsl:attribute name="text:name">
+      				<xsl:if test="ancestor::articleinfo">
+		 			<xsl:text disable-output-escaping="yes">articleinfo.author_</xsl:text><xsl:value-of select="count(parent::author[preceding-sibling::author])"/><xsl:text disable-output-escaping="yes">.firstname_</xsl:text><xsl:value-of select="count(preceding-sibling::firstname)"/>
+		 		</xsl:if>
+      				</xsl:attribute>
+      			 </xsl:element>
+      	</xsl:element>
+      	<xsl:element name="text:p">
+	 <xsl:element name="text:variable-set">
+	 	<xsl:attribute name="text:value-type">
+             			<xsl:text>string</xsl:text>	
+            	</xsl:attribute>
+		 <xsl:attribute name="text:name">
+		 	<xsl:if test="ancestor::articleinfo">
+		 		<xsl:text disable-output-escaping="yes">articleinfo.author_</xsl:text><xsl:value-of select="count(parent::author[preceding-sibling::author])"/><xsl:text disable-output-escaping="yes">.firstname_</xsl:text><xsl:value-of select="count(preceding-sibling::firstname)"/>
+			</xsl:if>
+		</xsl:attribute>
+		<xsl:apply-templates/>
+	</xsl:element>
+	</xsl:element>
+</xsl:template>
+
+
+
+<xsl:template match="articleinfo/copyright/year">
+      <xsl:element name="text:variable-decls">
+             	<xsl:element name="text:variable-decl">
+             		<xsl:attribute name="text:value-type">
+             			<xsl:text>string</xsl:text>	
+            		 </xsl:attribute>
+            		
+      			<xsl:attribute name="text:name">
+      				<xsl:if test="ancestor::articleinfo/copyright">
+		 			<xsl:text disable-output-escaping="yes">articleinfo.copyright_</xsl:text><xsl:value-of select="count(parent::copyright[preceding-sibling::copyright])"/><xsl:text disable-output-escaping="yes">.year_</xsl:text><xsl:value-of select="count(preceding-sibling::year)"/>
+		 		</xsl:if>
+      				</xsl:attribute>
+      			 </xsl:element>
+      	</xsl:element>
+      	<xsl:element name="text:p">
+	 <xsl:element name="text:variable-set">
+	 	<xsl:attribute name="text:value-type">
+             			<xsl:text>string</xsl:text>	
+            	</xsl:attribute>
+		 <xsl:attribute name="text:name">
+		 	<xsl:if test="ancestor::articleinfo/copyright">
+		 			<xsl:text disable-output-escaping="yes">articleinfo.copyright_</xsl:text><xsl:value-of select="count(parent::copyright[preceding-sibling::copyright])"/><xsl:text disable-output-escaping="yes">.year_</xsl:text><xsl:value-of select="count(preceding-sibling::year)"/>
+		 		</xsl:if>
+		</xsl:attribute>
+		<xsl:apply-templates/>
+	</xsl:element>
+	</xsl:element>
+</xsl:template>
+
+<xsl:template match="authorgroup">
+	<xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="articleinfo/copyright/holder">
+      <xsl:element name="text:variable-decls">
+             	<xsl:element name="text:variable-decl">
+             		<xsl:attribute name="text:value-type">
+             			<xsl:text>string</xsl:text>	
+            		 </xsl:attribute>
+            		
+      			<xsl:attribute name="text:name">
+      				<xsl:if test="ancestor::articleinfo/copyright">
+		 			<xsl:text disable-output-escaping="yes">articleinfo.copyright_</xsl:text><xsl:value-of select="count(parent::copyright[preceding-sibling::copyright])"/><xsl:text disable-output-escaping="yes">.holder_</xsl:text><xsl:value-of select="count(preceding-sibling::holder)"/>
+		 		</xsl:if>
+      				</xsl:attribute>
+      			 </xsl:element>
+      	</xsl:element>
+      	<xsl:element name="text:p">
+	 <xsl:element name="text:variable-set">
+	 	<xsl:attribute name="text:value-type">
+             			<xsl:text>string</xsl:text>	
+            	</xsl:attribute>
+		 <xsl:attribute name="text:name">
+		 	<xsl:if test="ancestor::articleinfo/copyright">
+		 			<xsl:text disable-output-escaping="yes">articleinfo.copyright_</xsl:text><xsl:value-of select="count(parent::copyright[preceding-sibling::copyright])"/><xsl:text disable-output-escaping="yes">.holder_</xsl:text><xsl:value-of select="count(preceding-sibling::holder)"/>
+		 		</xsl:if>
+		</xsl:attribute>
+		<xsl:apply-templates/>
+	</xsl:element>
+	</xsl:element>
+</xsl:template>
+
+
+
+
+<xsl:template name="affiliation">
+	<xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="author/affiliation/address">
+      <xsl:element name="text:variable-decls">
+             	<xsl:element name="text:variable-decl">
+             		<xsl:attribute name="text:value-type">
+             			<xsl:text>string</xsl:text>	
+            		 </xsl:attribute>
+      			<xsl:attribute name="text:name">
+		 			<xsl:text disable-output-escaping="yes">articleinfo.author_</xsl:text><xsl:value-of select="count(ancestor::author[preceding-sibling::author])"/><xsl:text disable-output-escaping="yes">.affiliation_</xsl:text><xsl:value-of select="count(parent::affiliation[preceding-sibling::affiliation])"/><xsl:text disable-output-escaping="yes">.address_</xsl:text><xsl:value-of select="count(preceding-sibling::address)"/>
+      				</xsl:attribute>
+      			 </xsl:element>
+      	</xsl:element>
+      	<xsl:element name="text:p">
+	 <xsl:element name="text:variable-set">
+	 	<xsl:attribute name="text:value-type">
+             			<xsl:text>string</xsl:text>	
+            	</xsl:attribute>
+		 <xsl:attribute name="text:name">
+		 	<xsl:text disable-output-escaping="yes">articleinfo.author_</xsl:text><xsl:value-of select="count(ancestor::author[preceding-sibling::author])"/><xsl:text disable-output-escaping="yes">.affiliation_</xsl:text><xsl:value-of select="count(parent::affiliation[preceding-sibling::affiliation])"/><xsl:text disable-output-escaping="yes">.address_</xsl:text><xsl:value-of select="count(preceding-sibling::address)"/>
+
+		</xsl:attribute>
+		<xsl:apply-templates/>
+	</xsl:element>
+	</xsl:element>
+</xsl:template>
+
+<xsl:template match="author/affiliation/orgname">
+      <xsl:element name="text:variable-decls">
+             	<xsl:element name="text:variable-decl">
+             		<xsl:attribute name="text:value-type">
+             			<xsl:text>string</xsl:text>	
+            		 </xsl:attribute>
+            		 <xsl:if test="ancestor::articleinfo">
+      			<xsl:attribute name="text:name">
+		 			<xsl:text disable-output-escaping="yes">articleinfo.author_</xsl:text><xsl:value-of select="count(ancestor::author[preceding-sibling::author])"/><xsl:text disable-output-escaping="yes">.affiliation_</xsl:text><xsl:value-of select="count(parent::affiliation[preceding-sibling::affiliation])"/><xsl:text disable-output-escaping="yes">.orgname_</xsl:text><xsl:value-of select="count(preceding-sibling::orgname)"/>
+      				</xsl:attribute>
+      			</xsl:if>
+      			 </xsl:element>
+      	</xsl:element>
+      	<xsl:element name="text:p">
+	 <xsl:element name="text:variable-set">
+	 	<xsl:attribute name="text:value-type">
+             			<xsl:text>string</xsl:text>	
+            	</xsl:attribute>
+            	 <xsl:if test="ancestor::articleinfo">
+		 <xsl:attribute name="text:name">
+		 		<xsl:text disable-output-escaping="yes">articleinfo.author_</xsl:text><xsl:value-of select="count(ancestor::author[preceding-sibling::author])"/><xsl:text disable-output-escaping="yes">.affiliation_</xsl:text><xsl:value-of select="count(parent::affiliation[preceding-sibling::affiliation])"/><xsl:text disable-output-escaping="yes">.orgname_</xsl:text><xsl:value-of select="count(preceding-sibling::orgname)"/>
+		</xsl:attribute>
+		</xsl:if>
+		<xsl:apply-templates/>		
+	</xsl:element>
+	</xsl:element>
+</xsl:template>
+
+
+
+<xsl:template match="author/surname">
+      <xsl:element name="text:variable-decls">
+             	<xsl:element name="text:variable-decl">
+             		<xsl:attribute name="text:value-type">
+             			<xsl:text>string</xsl:text>	
+            		 </xsl:attribute>
+            		
+      			<xsl:attribute name="text:name">
+		 			<xsl:text disable-output-escaping="yes">articleinfo.author_</xsl:text><xsl:value-of select="count(parent::author[preceding-sibling::author])"/><xsl:text disable-output-escaping="yes">.surname_</xsl:text><xsl:value-of select="count(preceding-sibling::surname)"/>
+      				</xsl:attribute>
+      			 </xsl:element>
+      	</xsl:element>
+      	<xsl:element name="text:p">
+	 <xsl:element name="text:variable-set">
+		<xsl:attribute name="text:value-type">
+             			<xsl:text>string</xsl:text>	
+            	</xsl:attribute>
+		 <xsl:attribute name="text:name">
+		 		<xsl:text disable-output-escaping="yes">articleinfo.author_</xsl:text><xsl:value-of select="count(parent::author[preceding-sibling::author])"/><xsl:text disable-output-escaping="yes">.surname_</xsl:text><xsl:value-of select="count(preceding-sibling::surname)"/>
+
+		
+		</xsl:attribute>
+		<xsl:apply-templates/>
+	</xsl:element>
+	</xsl:element>
+</xsl:template>
+
+<xsl:template match="para">
+	<xsl:element name="text:p">
+<xsl:choose>
+	<xsl:when test="ancestor-or-self::footnote">
+	 	<xsl:attribute name= "text:style-name"><xsl:text>Footnote</xsl:text></xsl:attribute>
+	</xsl:when>
+	<xsl:when test="ancestor-or-self::informaltable">
+		<xsl:if test="ancestor-or-self::informaltable">
+			<xsl:attribute name="text:style-name">Table Contents</xsl:attribute>
+		</xsl:if>
+		<xsl:if test="ancestor-or-self::thead ">
+			<xsl:attribute name="text:style-name">Table Heading</xsl:attribute>
+		</xsl:if>
+	</xsl:when>
+	<xsl:when test="ancestor-or-self::table">
+	<xsl:if test="ancestor-or-self::table">
+			<xsl:attribute name="text:style-name">Table Contents</xsl:attribute>
+		</xsl:if>
+		<xsl:if test="ancestor-or-self::thead ">
+			<xsl:attribute name="text:style-name">Table Heading</xsl:attribute>
+		</xsl:if>
+	</xsl:when>
+	<xsl:otherwise>
+			<xsl:attribute name="text:style-name">Text body</xsl:attribute>
+	</xsl:otherwise>
+</xsl:choose>
+		<xsl:apply-templates/>	
+</xsl:element>
+</xsl:template>
+
+<xsl:template match="section">
+	<xsl:element name="text:section">
+		<xsl:attribute name="text:style-name">Sect1</xsl:attribute> 
+		<xsl:attribute name="text:name"><xsl:value-of select="@id"/></xsl:attribute>
+		<xsl:apply-templates/>
+	</xsl:element>
+</xsl:template>
+
+<xsl:template match="abstract">
+	<xsl:element name="text:section">
+		<xsl:attribute name="text:style-name">Abstract</xsl:attribute> 
+		<xsl:attribute name="text:name">Abstract</xsl:attribute>
+		<xsl:apply-templates/>
+	</xsl:element>
+</xsl:template>
+
+
+
+<xsl:template match="sect1">
+	<xsl:element name="text:section">
+		<xsl:attribute name="text:style-name">Sect1</xsl:attribute> 
+		<xsl:attribute name="text:name"><xsl:value-of select="@id"/></xsl:attribute>
+		<xsl:apply-templates/>
+	</xsl:element>
+</xsl:template>
+
+
+<xsl:template match="sect2">
+	<xsl:element name="text:section">
+		<xsl:attribute name="text:style-name">Sect1</xsl:attribute> 
+		<xsl:attribute name="text:name"><xsl:value-of select="@id"/></xsl:attribute>
+		<xsl:apply-templates/>
+	</xsl:element>
+</xsl:template>
+
+<xsl:template match="sect3">
+	<xsl:element name="text:section">
+		<xsl:attribute name="text:style-name">Sect1</xsl:attribute> 
+		<xsl:attribute name="text:name"><xsl:value-of select="@id"/></xsl:attribute>
+		<xsl:apply-templates/>
+	</xsl:element>
+</xsl:template>
+
+<xsl:template match="sect4">
+	<xsl:element name="text:section">
+		<xsl:attribute name="text:style-name">Sect1</xsl:attribute> 
+		<xsl:attribute name="text:name"><xsl:value-of select="@id"/></xsl:attribute>
+		<xsl:apply-templates/>
+	</xsl:element>
+</xsl:template>
+
+<xsl:template match="sect5">
+	<xsl:element name="text:section">
+		<xsl:attribute name="text:style-name">Sect1</xsl:attribute> 
+		<xsl:attribute name="text:name"><xsl:value-of select="@id"/></xsl:attribute>
+		<xsl:apply-templates/>
+	</xsl:element>
+</xsl:template>
+
+
+<xsl:template match="informaltable">
+	<xsl:element name="table:table">
+		<xsl:attribute name="table:name"></xsl:attribute>
+		<xsl:attribute name="table:style-name">Table1</xsl:attribute>
+		<xsl:attribute name="table:name"><xsl:value-of select="@id"/></xsl:attribute>
+		<xsl:apply-templates/>
+	</xsl:element>
+</xsl:template>
+
+
+<xsl:template match="table">
+	<xsl:variable name="tabletitle"><xsl:value-of select="title"/></xsl:variable>
+	<xsl:element name="table:table">
+		<xsl:attribute name="table:name"></xsl:attribute>
+		<xsl:attribute name="table:style-name">Table1</xsl:attribute>
+		<xsl:attribute name="table:name"><xsl:value-of select="@id"/></xsl:attribute>
+		<xsl:apply-templates/>
+	</xsl:element>
+	<xsl:if test="not($tabletitle='')">
+		<xsl:element name="text:p">
+			<xsl:attribute name="text:style-name">Table</xsl:attribute>
+				<xsl:value-of select="$tabletitle"/>
+	  	</xsl:element>
+	</xsl:if>
+</xsl:template>
+
+<xsl:template match="tgroup">
+	<xsl:element name="table:table-column">
+		<xsl:attribute name="table:style-name">Table1.A</xsl:attribute>
+		<xsl:choose>
+			<xsl:when test="@cols >0">
+				<xsl:attribute name="table:number-columns-repeated"><xsl:value-of select="@cols"/></xsl:attribute>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:attribute name="table:number-columns-repeated"><xsl:value-of select="count(child::tbody/row/entry) div count(child::tbody/row) "/></xsl:attribute>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:element>
+	<xsl:apply-templates/>
+</xsl:template>
+
+
+<xsl:template match="indexterm">
+</xsl:template>
+
+<xsl:template match="thead">
+	<xsl:element name="table:table-header-rows">
+		<xsl:apply-templates />
+	</xsl:element>
+</xsl:template>
+
+<xsl:template match="tbody">
+		<xsl:apply-templates />
+</xsl:template>
+
+<xsl:template match="row">
+	<xsl:element name="table:table-row">
+		<xsl:apply-templates/>
+	</xsl:element>
+</xsl:template>
+
+<xsl:template match="entry">
+	<xsl:element name="table:table-cell">
+		<xsl:if test="ancestor-or-self::thead">
+			<xsl:attribute name="table:style-name">Table1.A1</xsl:attribute>
+		</xsl:if>
+		<xsl:if test="not(ancestor-or-self::thead)">
+			<xsl:attribute name="table:style-name">Table1.A2</xsl:attribute>
+		</xsl:if>
+		
+		<xsl:choose>
+			<xsl:when test="@spanname">
+		<!--<xsl:if test="@spanname">-->
+				<xsl:variable name="sname" >
+					<xsl:value-of select="@spanname"/>
+				</xsl:variable>
+				<xsl:attribute name="table:number-columns-spanned">
+					<xsl:variable name="colnamestart">
+						<xsl:value-of select="ancestor::tgroup/spanspec[@spanname=$sname]/@namest"/>
+					</xsl:variable>
+					<xsl:variable name="colnameend">
+						<xsl:value-of select="ancestor::tgroup/spanspec[@spanname=$sname]/@nameend"/>
+					</xsl:variable>
+					<xsl:variable name="colnumstart">
+						<xsl:value-of select="ancestor::tgroup/colspec[@colname=$colnamestart]/@colnum"/>
+					</xsl:variable>
+					<xsl:variable name="colnumend">
+						<xsl:value-of select="ancestor::tgroup/colspec[@colname=$colnameend]/@colnum"/>
+					</xsl:variable>
+					<xsl:value-of select="$colnumend - $colnumstart + 1"/>
+			  	</xsl:attribute >
+		</xsl:when>
+		<xsl:when  test="@namest and @nameend">
+		<!--<xsl:if test="@namest and @nameend">-->
+			<xsl:variable name="colnamestart">
+					<xsl:value-of select="@namest"/>
+			</xsl:variable>
+			<xsl:variable name="colnameend">
+					<xsl:value-of select="@nameend"/>
+			</xsl:variable>
+
+			<xsl:attribute name="table:number-columns-spanned">
+			<xsl:variable name="colnumstart">
+						<xsl:value-of select="ancestor::tgroup/colspec[@colname=$colnamestart]/@colnum"/>
+					</xsl:variable>
+					<xsl:variable name="colnumend">
+						<xsl:value-of select="ancestor::tgroup/colspec[@colname=$colnameend]/@colnum"/>
+					</xsl:variable>
+					<xsl:value-of select="$colnumend - $colnumstart + 1"/>
+
+			</xsl:attribute >
+		</xsl:when>
+		</xsl:choose>
+		<!--
+		<xsl:if test="not(@namest = '' ) ">
+		     <xsl:attribute name="table:number-columns-spanned">
+				 <xsl:value-of select="(substring-after(@nameend,'c')-substring-after(@namest,'c'))+1"/>
+			 	
+			 </xsl:attribute>
+		</xsl:if>
+		-->
+		<xsl:choose>
+			<xsl:when test="not(child::para)">
+				<xsl:element name="text:p">
+						<xsl:if test="ancestor-or-self::thead">
+							<xsl:attribute name="text:style-name">Table Heading</xsl:attribute>
+						</xsl:if>
+						<xsl:if test="ancestor-or-self::tbody">
+							<xsl:attribute name="text:style-name">Table Contents</xsl:attribute>
+						</xsl:if>
+						<xsl:apply-templates/>
+				</xsl:element>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:apply-templates/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:element>
+</xsl:template>
+
+
+
+
+
+
+<xsl:template match="figure">
+	<xsl:apply-templates/>
+</xsl:template>
+
+<!--  lists          Section                                          -->
+
+
+
+<xsl:template match="itemizedlist">
+	<xsl:element name="text:unordered-list">
+	<xsl:attribute name="text:style-name">UnOrdered List</xsl:attribute>
+			<xsl:attribute name="text:continue-numbering">false</xsl:attribute>
+			<xsl:apply-templates/>
+	</xsl:element>
+</xsl:template>
+
+<xsl:template match="variablelist">
+	<xsl:element name="text:unordered-list">
+		<xsl:attribute name="text:style-name">Var List</xsl:attribute>
+			<xsl:attribute name="text:continue-numbering">false</xsl:attribute>
+		<xsl:apply-templates />
+	</xsl:element>
+</xsl:template>
+
+<xsl:template match="orderedlist">
+<xsl:element name="text:ordered-list">
+	<xsl:attribute name="text:style-name">Ordered List</xsl:attribute>
+	<xsl:attribute name="text:continue-numbering">false</xsl:attribute>
+	<xsl:apply-templates/>	
+</xsl:element>
+</xsl:template>
+
+<xsl:template match="term">
+	<xsl:if test="parent::varlistentry">
+	<text:list-item>
+	<xsl:element name="text:p">
+		<xsl:attribute name="text:style-name">VarList Term</xsl:attribute>
+		<xsl:apply-templates />
+	</xsl:element>
+		</text:list-item>
+	</xsl:if>
+</xsl:template>
+
+
+<xsl:template match="listitem">
+	<xsl:choose>
+		<xsl:when test="parent::varlistentry">
+					<text:list-item>
+						<xsl:apply-templates/>
+						</text:list-item>
+		</xsl:when>
+		<xsl:otherwise>
+				<text:list-item>
+						<xsl:apply-templates/>
+				</text:list-item>
+		</xsl:otherwise>	
+	</xsl:choose>
+</xsl:template>
+
+
+<!--  end of lists-->
+
+<xsl:template match="menuchoice">
+	<xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="guimenuitem">
+	<xsl:element name="text:span">
+			<xsl:attribute name="text:style-name">GuiMenuItem</xsl:attribute>
+			<xsl:apply-templates/>
+	</xsl:element>
+</xsl:template>
+
+<xsl:template match="guibutton">
+	<xsl:element name="text:span">
+			<xsl:attribute name="text:style-name">GuiButton</xsl:attribute>
+			<xsl:apply-templates/>
+	</xsl:element>
+</xsl:template>
+
+<xsl:template match="guisubmenu">
+	<xsl:element name="text:span">
+			<xsl:attribute name="text:style-name">GuiSubMenu</xsl:attribute>
+			<xsl:apply-templates/>
+	</xsl:element>
+</xsl:template>
+
+<xsl:template match="emphasis">
+		<xsl:element name="text:span">
+			<xsl:attribute name="text:style-name">Emphasis</xsl:attribute>
+			<xsl:apply-templates/>
+	</xsl:element>
+</xsl:template>
+
+
+<xsl:template match="guimenu">
+		<xsl:element name="text:span">
+			<xsl:attribute name="text:style-name">GuiMenu</xsl:attribute>
+			<xsl:apply-templates/>
+	</xsl:element>
+</xsl:template>
+
+<xsl:template match="guisubmenu">
+		<xsl:element name="text:span">
+			<xsl:attribute name="text:style-name">GuiSubMenu</xsl:attribute>
+			<xsl:apply-templates/>
+	</xsl:element>
+</xsl:template>
+
+
+<xsl:template match="guilabel">
+	<xsl:element name="text:span">
+			<xsl:attribute name="text:style-name">GuiLabel</xsl:attribute>
+			<xsl:apply-templates/>
+	</xsl:element>
+</xsl:template>
+
+<xsl:template match="guibutton">
+	<xsl:element name="text:span">
+			<xsl:attribute name="text:style-name">GuiButton</xsl:attribute>
+			<xsl:apply-templates/>
+	</xsl:element>
+</xsl:template>
+
+<xsl:template match="keycap">
+	<xsl:element name="text:span">
+		<xsl:attribute name="text:style-name">KeyCap</xsl:attribute>
+		<xsl:apply-templates/>
+	</xsl:element>
+</xsl:template>
+
+
+<xsl:template match="keysym">
+	<xsl:element name="text:span">
+		<xsl:attribute name="text:style-name">KeySym</xsl:attribute>
+		<xsl:apply-templates/>
+	</xsl:element>
+</xsl:template>
+
+
+<xsl:template match="keycombo">
+	<xsl:element name="text:span">
+		<xsl:attribute name="text:style-name">KeyCombo</xsl:attribute>
+		<xsl:apply-templates/>
+	</xsl:element>
+</xsl:template>
+
+<xsl:template match="command">
+	<xsl:element name="text:span">
+		<xsl:attribute name="text:style-name">Command</xsl:attribute>
+		<xsl:apply-templates/>
+	</xsl:element>
+</xsl:template>
+
+<xsl:template match="application">
+	<xsl:element name="text:span">
+		<xsl:attribute name="text:style-name">Application</xsl:attribute>
+		<xsl:apply-templates/>
+	</xsl:element>
+</xsl:template>
+
+<xsl:template match="filename">
+	<xsl:element name="text:span">
+		<xsl:attribute name="text:style-name">FileName</xsl:attribute>
+		<xsl:apply-templates/>
+	</xsl:element>
+</xsl:template>
+
+<xsl:template match="systemitem">
+	<xsl:element name="text:span">
+		<xsl:attribute name="text:style-name">SystemItem</xsl:attribute>
+		<xsl:apply-templates/>
+	</xsl:element>
+</xsl:template>
+
+<xsl:template match="computeroutput">
+	<xsl:element name="text:span">
+		<xsl:attribute name="text:style-name">ComputerOutput</xsl:attribute>
+		<xsl:apply-templates/>
+	</xsl:element>
+</xsl:template>
+
+<xsl:template match="inlinegraphic">
+	<xsl:element name="draw:image">
+		<xsl:attribute name="draw:style-name">
+			<xsl:text>fr1</xsl:text>
+		</xsl:attribute>
+		<xsl:attribute name="draw:name">
+		</xsl:attribute>
+		<xsl:attribute name="text:anchor-type">
+		</xsl:attribute>
+		<xsl:attribute name="draw:z-index">
+		</xsl:attribute>
+		<xsl:attribute name="xlink:href">
+			<xsl:value-of select="@fileref"/>
+		</xsl:attribute>
+		<xsl:attribute name="xlink:type">
+		</xsl:attribute>
+		<xsl:attribute name="svg:width">
+			<!--<xsl:value-of select="@width"/>-->
+			<xsl:text>1cm</xsl:text>
+		</xsl:attribute> 
+		<xsl:attribute name="svg:height">	
+			<xsl:text>1cm</xsl:text>
+		</xsl:attribute>
+		<xsl:attribute name="xlink:show">
+			<xsl:text>embed</xsl:text>
+		</xsl:attribute>
+		<xsl:attribute name="xlink:actuate">
+			<xsl:text>onLoad</xsl:text>
+		</xsl:attribute>
+		<xsl:attribute name="draw:filter-name">
+			<xsl:text disable-output-escaping="yes">&lt;All formats&gt;</xsl:text>
+		</xsl:attribute>
+</xsl:element>
+</xsl:template> 
+
+
+<xsl:template match="footnote">
+	<xsl:element name="text:footnote">
+		<!--<xsl:element name="text:footnote-citation">Aidan</xsl:element>-->
+		<xsl:element name="text:footnote-body">
+				<xsl:apply-templates/>
+		</xsl:element>
+	</xsl:element>
+</xsl:template>
+
+<xsl:template match="highlight">
+	<xsl:element name="text:span">
+		<xsl:attribute name="text:style-name">
+			<xsl:text>Highlight</xsl:text>
+		</xsl:attribute>
+		<xsl:apply-templates/>
+	</xsl:element>
+</xsl:template>
+
+<xsl:template match="ulink">
+		<xsl:element name="text:a">
+		<xsl:attribute name="xlink:type"><xsl:text>simple</xsl:text></xsl:attribute>
+		<xsl:attribute name="xlink:href">
+			<xsl:value-of select="@url"/>
+		</xsl:attribute>
+		<xsl:apply-templates/>
+	</xsl:element>
+
+</xsl:template>
+
+<xsl:template match="link">
+	<xsl:element name="text:a">
+		<xsl:attribute name="xlink:type"><xsl:text>simple</xsl:text></xsl:attribute>
+		<xsl:attribute name="xlink:href">
+			<xsl:text>#</xsl:text>
+				<xsl:value-of select="@linkend"/>
+			<xsl:text>%7Cregion</xsl:text>
+		</xsl:attribute>
+		<xsl:apply-templates/>
+	</xsl:element>
+
+</xsl:template>
+
+<xsl:template match="olink">
+<xsl:element name="text:a">
+		<xsl:attribute name="xlink:type"><xsl:text>simple</xsl:text></xsl:attribute>
+		<xsl:attribute name="xlink:href">
+			<xsl:value-of select="@targetdocent"/>
+		</xsl:attribute>
+		<xsl:apply-templates/>
+	</xsl:element>
+</xsl:template>
+
+<xsl:template match="note">
+	<office:annotation>
+		<text:p>
+			<xsl:apply-templates/>
+		</text:p>
+	</office:annotation>
+</xsl:template>
+
+<xsl:template match="imageobject">
+	<xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="textobject">
+</xsl:template>
+
+<xsl:template match="caption">
+	<xsl:apply-templates/>
+</xsl:template>
+
+
+<xsl:template match="imagedata">
+	<xsl:element name="draw:image">
+		<xsl:attribute name="draw:style-name">
+			<xsl:text>fr1</xsl:text>
+		</xsl:attribute>
+		<xsl:attribute name="draw:name">
+		</xsl:attribute>
+		<xsl:attribute name="text:anchor-type">
+		</xsl:attribute>
+		<xsl:attribute name="draw:z-index">
+		</xsl:attribute>
+		<xsl:attribute name="xlink:href">
+			<xsl:value-of select="@fileref"/>
+		</xsl:attribute>
+		<xsl:attribute name="xlink:type">
+		</xsl:attribute>
+		<xsl:attribute name="svg:width">
+			<!--<xsl:value-of select="@width"/>-->
+			<xsl:text>1cm</xsl:text>
+		</xsl:attribute> 
+		<xsl:attribute name="svg:height">	
+			<xsl:text>1cm</xsl:text>
+		</xsl:attribute>
+		<xsl:attribute name="xlink:show">
+			<xsl:text>embed</xsl:text>
+		</xsl:attribute>
+		<xsl:attribute name="xlink:actuate">
+			<xsl:text>onLoad</xsl:text>
+		</xsl:attribute>
+		<xsl:attribute name="draw:filter-name">
+			<xsl:text disable-output-escaping="yes">&lt;All formats&gt;</xsl:text>
+		</xsl:attribute>
+	</xsl:element>
+</xsl:template>
+
+<xsl:template match="audioobject">
+	<xsl:element name="draw:plugin">
+		<xsl:attribute name="draw:style-name">
+			<xsl:text>fr1</xsl:text>
+		</xsl:attribute>
+		<xsl:attribute name="draw:name">
+		</xsl:attribute>
+		<xsl:attribute name="text:anchor-type">
+		</xsl:attribute>
+		<xsl:attribute name="draw:z-index">
+		</xsl:attribute>
+		<xsl:attribute name="xlink:href">
+			<xsl:value-of select="@fileref"/>
+		</xsl:attribute>
+		<xsl:attribute name="xlink:type">
+		</xsl:attribute>
+		<xsl:attribute name="svg:width">
+			<!--<xsl:value-of select="@width"/>-->
+			<xsl:text>1cm</xsl:text>
+		</xsl:attribute> 
+		<xsl:attribute name="svg:height">	
+			<xsl:text>1cm</xsl:text>
+		</xsl:attribute>
+		<xsl:attribute name="xlink:show">
+			<xsl:text>embed</xsl:text>
+		</xsl:attribute>
+		<xsl:attribute name="xlink:actuate">
+			<xsl:text>onLoad</xsl:text>
+		</xsl:attribute>
+		<xsl:attribute name="draw:filter-name">
+			<xsl:text disable-output-escaping="yes">&lt;All formats&gt;</xsl:text>
+		</xsl:attribute>
+	</xsl:element>
+</xsl:template>
+
+<xsl:template match="remark">
+	<xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="mediaobject">
+	<xsl:element name="text:p">
+		<xsl:attribute name="text:style-name"><xsl:text>Mediaobject</xsl:text></xsl:attribute>
+	<xsl:apply-templates/>
+	</xsl:element>
+</xsl:template>
+
+<xsl:template match="superscript">
+	<xsl:element name="text:span">
+		<xsl:attribute name="text:style-name">
+			<xsl:text>SuperScript</xsl:text>
+		</xsl:attribute>
+		<xsl:apply-templates/>
+	</xsl:element>
+</xsl:template>
+
+<xsl:template match="subscript">
+	<xsl:element name="text:span">
+		<xsl:attribute name="text:style-name">
+			<xsl:text>SubScript</xsl:text>
+		</xsl:attribute>
+		<xsl:apply-templates/>
+	</xsl:element>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/assets/xml/xmerge/downloads/flatxmlbinaries.tar.gz b/assets/xml/xmerge/downloads/flatxmlbinaries.tar.gz
new file mode 100644
index 0000000..33279d4
Binary files /dev/null and b/assets/xml/xmerge/downloads/flatxmlbinaries.tar.gz differ
diff --git a/assets/xml/xmerge/downloads/gedit.sxw b/assets/xml/xmerge/downloads/gedit.sxw
new file mode 100644
index 0000000..ddca2af
Binary files /dev/null and b/assets/xml/xmerge/downloads/gedit.sxw differ
diff --git a/assets/xml/xmerge/downloads/gedit.xml b/assets/xml/xmerge/downloads/gedit.xml
new file mode 100644
index 0000000..94d47ed
--- /dev/null
+++ b/assets/xml/xmerge/downloads/gedit.xml
@@ -0,0 +1,1079 @@
+<?xml version="1.0"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" 
+"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
+  <!ENTITY appversion "1.121.0">
+  <!ENTITY manrevision "2.1">
+  <!ENTITY date "June 2002">
+  <!ENTITY app "gedit">
+]>
+<!-- 
+      (Do not remove this comment block.)
+  Maintained by the GNOME Documentation Project
+  http://developer.GNOME.org/projects/gdp
+  Template version: 2.0 beta
+  Template last modified Jan 30, 2002
+-->
+<!-- =============Document Header ============================= -->
+<article id="index" lang="en">
+<!-- please do not change the id; for translations, change lang to -->
+<!-- appropriate code -->
+  <articleinfo> 
+	 <title>&app; Manual V&manrevision;</title>
+	 <copyright> 
+		<year>2002</year>
+		<holder>Sun Microsystems</holder> </copyright>
+	 <copyright> 
+		<year>2000</year>
+		<holder>Eric Baudais</holder> </copyright>
+
+<!-- translators: uncomment this:
+
+  <copyright>
+   <year>2002</year>
+   <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
+  </copyright>
+
+   -->
+	 <publisher> 
+		<publishername> GNOME Documentation Project </publishername>
+	 </publisher>
+	 <authorgroup> 
+		<author> 
+		  <firstname>Sun </firstname>
+		  <surname>GNOME Documentation Team</surname> 
+		  <affiliation> 
+			 <orgname>Sun Microsystems</orgname>
+			 <address> <email>gdocteam@sun.com</email> </address>
+		  </affiliation>
+		</author>
+		<author> 
+		  <firstname>Eric</firstname>
+		  <surname>Baudais</surname> 
+		  <affiliation> 
+			 <orgname>GNOME Documentation Project</orgname>
+			 <address> <email>baudais@okstate.edu</email> </address>
+		  </affiliation>
+		</author> 
+<!-- This is appropriate place for other contributors: translators,
+      maintainers,  etc. Commented out by default.
+       <othercredit role="translator">
+	<firstname>Latin</firstname> 
+	<surname>Translator 1</surname> 
+	<affiliation> 
+	  <orgname>Latin Translation Team</orgname> 
+	  <address> <email>translator@gnome.org</email> </address> 
+	</affiliation>
+	<contrib>Latin translation</contrib>
+      </othercredit>
+-->
+	 </authorgroup>
+
+
+<!-- According to GNU FDL, revision history is mandatory if you are -->
+<!-- modifying/reusing someone else's document.  If not, you can omit it. -->
+	 <revhistory>
+<!-- Remember to remove the &manrevision; entity from the revision entries other
+   than the current revision. -->
+   		<revision> 
+		  <revnumber>&app; Manual V&manrevision;</revnumber>
+		  <date>&date;</date> 
+		  <revdescription> 
+			 <para role="author">Sun GNOME Documentation Team
+				<email>gdocteam@sun.com</email> </para>
+			 <para role="publisher">GNOME Documentation Project</para>
+		  </revdescription>
+		</revision>
+		<revision> 
+		  <revnumber>gedit Manual V2.0</revnumber>
+		  <date>March 2002</date> 
+		  <revdescription> 
+			 <para role="author">Sun GNOME Documentation Team
+				<email>gdocteam@sun.com</email> </para>
+			 <para role="publisher">GNOME Documentation Project</para>
+		  </revdescription>
+		</revision>
+		<revision> 
+		  <revnumber>gedit V1.0</revnumber>
+		  <date>2000</date> 
+		  <revdescription> 
+			 <para role="author">Eric Baudais <email>baudais@okstate.edu</email>
+				</para>
+			 <para role="publisher">GNOME Documentation Project</para>
+		  </revdescription>
+		</revision>
+	 </revhistory>
+	 <releaseinfo> This manual describes version &appversion; of &app;.
+		</releaseinfo>
+	 <legalnotice> 
+		<title>Feedback</title>
+		<para>To report a bug or make a suggestion regarding the &app; application or
+		this manual, follow the directions in the 
+		<ulink url="ghelp:gnome-feedback" type="help">GNOME Feedback Page</ulink>. 
+      </para>
+<!-- Translators may also add here feedback address for translations -->
+	 </legalnotice>
+  </articleinfo>
+  <indexterm><primary>gedit</primary></indexterm>
+
+<!-- ============= Document Body ============================= -->
+<!-- ============= Introduction ============================== -->
+  <sect1 id="gedit-intro"> 
+	 <title>Introduction</title>
+	 <para>The <application>&app;</application> application is a simple text
+		editor. You can use <application>&app;</application> to create and edit text
+		files. You can use <application>&app;</application> plugins to perform a
+		variety of tasks related to text-editing from within the
+		<application>&app;</application> window.</para>
+  </sect1>
+<!-- ============= Getting Started =========================== -->
+  <sect1 id="gedit-getting-started"> 
+	 <title>Getting Started</title>
+
+<!-- ============= To Start gedit ============================ -->
+	 <sect2 id="gedit-to-start"> 
+		<title>To Start &app;</title>
+		<para>You can start <application>&app;</application> in the following ways:</para>
+		<variablelist>
+    		<varlistentry>
+    		<term><guimenu>Applications</guimenu> menu</term>
+    		<listitem>
+    		<para>Choose 
+    		<menuchoice>
+    		<guisubmenu>Accessories</guisubmenu>
+    		<guimenuitem>Text Editor</guimenuitem>
+    		</menuchoice>. </para>
+    		</listitem>
+    		</varlistentry>
+    		<varlistentry>
+    		<term>Command line</term>
+    		<listitem>
+    		<para>Type <command>gedit</command>, then press <keycap>Return</keycap>.</para>
+    		</listitem>
+    		</varlistentry>
+    		</variablelist>
+	</sect2>
+	
+	<sect2 id="gedit-when-you-start">
+	
+		<title>When You Start &app;</title>	
+		<para>When you start <application>&app;</application>, the following window is displayed:</para>
+	
+		<figure id="gedit-window"> 
+		  <title>&app; Window</title>
+		  <screenshot> 
+			 <mediaobject> 
+				<imageobject> 
+				  <imagedata fileref="figures/gedit_window.png" format="PNG"/>
+					 </imageobject>
+				<textobject> <phrase>Screenshot of the gedit main window.</phrase>
+				</textobject> 
+			</mediaobject>
+		  </screenshot>
+		</figure>
+	
+		<para>The <application>&app;</application> window contains the following
+		  elements: </para>
+		<variablelist> 
+		  <varlistentry> <term>Menubar</term> 
+			 <listitem> 
+				<para>The menus on the menubar contain all of the commands you need
+				  to work with files in <application>&app;</application>.</para>
+			 </listitem>
+		  </varlistentry>
+		  <varlistentry> <term>Toolbar</term> 
+			 <listitem> 
+				<para> The toolbar contains a subset of the commands that you can
+				  access from the menubar.</para>
+			 </listitem>
+		  </varlistentry>
+		  <varlistentry> <term>Display area</term> 
+			 <listitem> 
+				<para> The display area contains the text of the file that you are
+				  editing. </para>
+			 </listitem>
+		  </varlistentry>
+		  <varlistentry> <term>Statusbar</term> 
+			 <listitem> 
+				<para>The statusbar displays information about current
+				  <application>&app;</application> activity and contextual information about the
+				  menu items. </para>
+			 </listitem>
+		  </varlistentry>
+		</variablelist>
+		<para>When you right-click in the <application>&app;</application>
+		  window, the application displays a popup menu. The popup menu contains the most
+		  common text editing commands. </para>
+	 </sect2>
+<!-- ============= To Open a File ============================= -->
+	 <sect2 id="gedit-open-file"> 
+		<title>To Open a File</title>
+		<para>To open a file, choose 
+		  <menuchoice> <guimenu>File</guimenu> <guimenuitem>Open</guimenuitem>
+			 </menuchoice>
+		  to display the <guilabel>Open File</guilabel> dialog. Select the file
+		  that you want to open, then click <guibutton>OK</guibutton>. The file is
+		  displayed in the <application>&app;</application> window. </para>
+		<para>You can open multiple files in <application>&app;</application>.
+		  The application displays one file at a time in the application window. The
+		  application adds a tab for each open file to the window. To display another
+		  open file, click on the tab that corresponds to the file. To create a new
+		  <application> &app;</application> window for each file that is open, drag the
+		  tab corresponding to each file to the desktop. You can also use the
+		  <guimenu>Documents</guimenu> menu to move between the open files.</para>
+		<para>The application records the paths and filenames of the last
+		  four files that you edited and displays the files as menu items on the <menuchoice>
+		  <guimenu>File</guimenu> <guisubmenu>Recent Files</guisubmenu> </menuchoice> menu. 
+		  </para>
+	 </sect2>
+<!-- ============= To Open Multiple Files from the Command Line ========= -->
+	 <sect2 id="gedit-run-from-cmd-line"> 
+		<title>To Open Multiple Files from a Command Line</title>
+		<para>You can run <application>&app;</application> from a command line
+		  and open a single file or multiple files. To open multiple files from a command
+		  line, type the following command, then press <keycap>Return</keycap>:</para>
+		<para><command>gedit <replaceable>file1.txt file2.txt file3.txt</replaceable></command></para>
+		<para>When the application starts, the files that you specified are
+		  displayed in the <application>&app;</application> window.</para>
+	 </sect2>
+  </sect1>
+<!-- ================ Usage ================================ -->
+  <sect1 id="gedit-usage"> 
+	 <title>Usage</title>
+
+<!-- ============= To Create a New File ======================== -->
+	 <sect2 id="gedit-create-new-file"> 
+		<title>To Create a New File</title>
+		<para>To create a new file, choose 
+		  <menuchoice> <guimenu>File</guimenu> <guimenuitem>New</guimenuitem>
+			 </menuchoice>. The application displays a new file in the
+		  <application>&app;</application> window.</para>
+	 </sect2>
+<!-- ============= To Save a File ============================== -->
+	 <sect2 id="gedit-save-file"> 
+		<title>To Save a File</title>
+		<para>You can save files in the following ways:</para>
+		<itemizedlist> 
+		  <listitem><para>To save changes to the current file, choose 
+				<menuchoice> <guimenu>File</guimenu>
+				  <guimenuitem>Save</guimenuitem> </menuchoice> or click <guibutton>Save</guibutton>
+				  on the toolbar. If the file does not have a filename, <application>&app;</application> 
+					 displays the <guilabel>Save As</guilabel> dialog. Enter a name for the file in the 
+<guilabel>Save
+				As</guilabel> dialog, then click <guibutton>OK</guibutton>.</para>
+		  </listitem>
+		  <listitem><para>To save a new file or to save an existing file under a new filename, choose 
+				<menuchoice> <guimenu>File</guimenu> <guimenuitem>Save
+				  As</guimenuitem> </menuchoice>. Enter a name for the file in the <guilabel>Save
+				As</guilabel> dialog box, then click <guibutton>OK</guibutton>. </para>
+		  </listitem>
+		  <listitem><para>To save all of the files that are currently open in
+				<application>&app;</application>, choose 
+				<menuchoice> <guimenu>File</guimenu> <guimenuitem>Save
+				  All</guimenuitem> </menuchoice>.</para>
+		  </listitem>
+		</itemizedlist>
+	 </sect2>
+<!-- ============= To Edit Text ================================ -->
+	 <sect2 id="gedit-edit-text"> 
+		<title>To Edit Text</title>
+		<para>You can edit the text of a file in the following ways:</para>
+		<itemizedlist> 
+		  <listitem><para>Type new text from the keyboard. </para>
+		  </listitem>
+		  <listitem><para>Use the <keycap>Delete</keycap> key to delete text.
+				</para>
+		  </listitem>
+		  <listitem><para>Use the <guimenuitem>Cut</guimenuitem>,
+				<guimenuitem>Copy</guimenuitem>, <guimenuitem>Paste</guimenuitem>, and
+				<guimenuitem>Delete</guimenuitem> menu items to edit text. </para>
+		  </listitem>
+		</itemizedlist>
+		<para>When you select text with the mouse,
+		  <application>&app;</application> automatically copies the selected text to a
+		  buffer. You can perform any of the following actions on the selected text:
+		  </para>
+		<itemizedlist> 
+		  <listitem><para>To delete the selected text from the file and move the
+				selected text to a buffer, choose 
+				<menuchoice> <guimenu>Edit</guimenu> <guimenuitem>Cut</guimenuitem>
+				  </menuchoice>.</para>
+		  </listitem>
+		  <listitem><para>To permanently delete the selected text from the file, choose 
+				<menuchoice> <guimenu>Edit</guimenu> <guimenuitem>Delete</guimenuitem>
+				  </menuchoice>.</para>
+		  </listitem>
+		  <listitem><para>To insert the contents of the buffer at the cursor
+				position, middle-click or choose 
+				<menuchoice> <guimenu>Edit</guimenu>
+				  <guimenuitem>Paste</guimenuitem> </menuchoice>. You must cut or copy text
+				before you can paste text into the file.</para>
+		  </listitem>
+		  <listitem><para>To select all of the text in a file, choose 
+				<menuchoice> <guimenu>Edit</guimenu> <guimenuitem>Select
+				  All</guimenuitem> </menuchoice>. </para>
+		  </listitem>
+		</itemizedlist>
+	 </sect2>
+<!-- ============== To Undo or Redo Edits ====================== -->
+	 <sect2 id="gedit-undo-redo-edits"> 
+		<title>To Undo or Redo Edits</title>
+		<para>To undo an edit, choose 
+		  <menuchoice> <guimenu>Edit</guimenu> <guimenuitem>Undo</guimenuitem>
+			 </menuchoice>. To redo an edit, choose 
+		  <menuchoice> <guimenu>Edit</guimenu> <guimenuitem>Redo</guimenuitem>
+			 </menuchoice>. The number of previous edits that you can undo is determined by
+		  the <guilabel>Set limit on undo levels to</guilabel> setting in the
+		  <xref linkend="gedit-prefs-undo"/> tabbed section of the
+		  <guilabel>Preferences</guilabel> dialog. By default, the number of actions that you 
+		  can undo is 25.</para>
+	 </sect2>
+<!-- ============= To Find Text ================================ -->
+	 <sect2 id="gedit-find-text"> 
+		<title>To Find Text</title>
+		<para>To search a file for a string, perform the following steps:</para>
+		<orderedlist> 
+		  <listitem><para>Choose 
+				<menuchoice> <guimenu>Search</guimenu>
+				  <guimenuitem>Find</guimenuitem> </menuchoice>
+				to display the <guilabel>Find</guilabel> dialog.</para>
+		  </listitem>
+		  <listitem><para>Type the string that you want to find in the
+				<guilabel>Search for</guilabel> field.</para>
+		  </listitem>
+		  <listitem><para>Select one of the following options:</para>
+			 <itemizedlist> 
+				<listitem><para><guilabel>Search from the beginning of the
+					 document</guilabel></para>
+				</listitem>
+				<listitem><para><guilabel>Search from the cursor position
+					 </guilabel></para>
+				</listitem>
+			 </itemizedlist>
+		  </listitem>
+		  <listitem><para>Select the <guilabel>Case sensitive</guilabel> option
+				to only find occurrences of the string that match the case of the text that you
+				type. </para>
+		  </listitem>
+		  <listitem><para>Click <guibutton>Find</guibutton> to search the file
+				for the first occurrence of the string. If <application>&app;</application>
+				finds the string, the application moves the cursor to the string, and selects
+				the string.</para>
+		  </listitem>
+		  <listitem><para>To find the next occurrence of the string, click
+				<guibutton>Find Next</guibutton>.</para>
+		  </listitem>
+		  <listitem><para>To finish the search, click
+				<guibutton>Close</guibutton>. </para>
+		  </listitem>
+		</orderedlist>
+	 </sect2>
+<!-- ============= To Find and Replace Text =================== -->
+	 <sect2 id="gedit-find-replace-text"> 
+		<title>To Find and Replace Text</title>
+		<para>To search a file for a string, and replace the string with an
+		  alternative string, perform the following steps:</para>
+		<orderedlist> 
+		  <listitem><para>Choose 
+				<menuchoice> <guimenu>Search</guimenu>
+				  <guimenuitem>Replace</guimenuitem> </menuchoice>
+				to display the <guilabel>Replace</guilabel> dialog.</para>
+		  </listitem>
+		  <listitem><para>Type the string that you want to find in the
+				<guilabel>Search for</guilabel> field. </para>
+		  </listitem>
+		  <listitem><para>Type the string that you want to use to replace the
+				string that you find in the <guilabel>Replace with</guilabel> field.</para>
+		  </listitem>
+		  <listitem><para>Select one of the following options:</para>
+			 <itemizedlist> 
+				<listitem><para><guilabel>Search from the beginning of the
+					 document</guilabel></para>
+				</listitem>
+				<listitem><para><guilabel>Search from the cursor
+					 position</guilabel></para>
+				</listitem>
+			 </itemizedlist>
+		  </listitem>
+		  <listitem><para>Select the <guilabel>Case sensitive</guilabel> option
+				to only find occurrences of the string that match the case of the text that you
+				enter. </para>
+		  </listitem>
+		  <listitem><para>Click <guibutton>Find</guibutton> to search the file
+				for the first occurrence of the string. If <application>&app;</application>
+				finds the string, the application moves the cursor to the string, and selects
+				the string. </para>
+		  </listitem>
+		  <listitem><para>Click on <guibutton>Replace</guibutton> to replace the
+				occurrence of the string with the text that you typed in the <guilabel>Replace
+				with</guilabel> field. Click on <guibutton>Replace All</guibutton> to replace
+				all occurrences of the string.</para>
+		  </listitem>
+		  <listitem><para>To find the next occurrence of the string, click
+				<guibutton>Find Next</guibutton>.</para>
+		  </listitem>
+		  <listitem><para>To finish the search, click
+				<guibutton>Close</guibutton>. </para>
+		  </listitem>
+		</orderedlist>
+	 </sect2>
+<!-- ============= To Open a File from a URI ======================= -->
+	 <sect2 id="gedit-open-from-uri"> 
+		<title>To Open a File from a URI</title>
+		<para>To open a file from a Uniform Resource Identifier (URI), perform one of the following steps:</para>
+		<itemizedlist>
+		<listitem>
+		<para>Choose <menuchoice> <guimenu>File</guimenu> <guimenuitem>Open Location</guimenuitem> 
+		</menuchoice>
+to display the <guilabel>Open from URI</guilabel>
+dialog. Enter the URI of the 
+		file that you want to
+open, then click <guibutton>Open</guibutton>.</para>
+		</listitem>
+		<listitem>
+		<para>Type <command>gedit <replaceable>http://...</replaceable></command> at a command line, where
+		<replaceable>http://...</replaceable> is the URI of the file that you want to open, then press
+		<keycap>Return</keycap>.</para>
+		</listitem>
+		</itemizedlist>
+		<para>The application opens the file located at the URI in readonly mode.</para>
+	 </sect2>	 
+<!-- ============= To Pipe the Output of a Command to a File ======= -->
+	 <sect2 id="gedit-pipe-output"> 
+		<title>To Pipe the Output of a Command to a File</title>
+		<para>You can use <application>&app;</application> to pipe the output of
+		  a command to a text file. For example, to pipe the output of an <command>ls
+		  </command> command to a text file, type the following command, then press
+		  <keycap> Return</keycap>:</para>
+		<para><command>ls | gedit</command></para>
+		<para>The output of the <command>ls</command> command is displayed in a
+		  new text file in the <application>&app;</application> window.</para>
+		<para>Alternatively, you can use the Shell Output plugin to pipe command
+		  output to the current file. To use the Shell Output plugin, perform the
+		  following steps:</para>
+		<orderedlist> 
+		  <listitem><para>Load the Shell Output plugin. See <xref linkend="gedit-install-plugins"/> for 
+			information about how to load a plugin.</para>
+		  </listitem>
+
+		  <listitem><para>Choose 
+				<menuchoice> <guimenu>Edit</guimenu> <guimenuitem>Insert Shell
+				  Output</guimenuitem> </menuchoice>
+				to display the <guilabel>Shell output</guilabel> dialog.
+				</para>
+		  </listitem>
+		  <listitem><para>Type the shell command that you want to execute in the
+				<guilabel>Shell command</guilabel> field.</para>
+		  </listitem>
+		  <listitem><para>Edit the <guilabel>Working directory</guilabel> field
+				if necessary. By default, the Shell Output plugin executes the command you
+				specify in the current directory.</para>
+		  </listitem>
+		  <listitem><para>Click <guibutton>Run</guibutton>. The Shell Output
+				plugin executes the command and inserts the text output into the current file.
+				</para>
+		  </listitem>
+		</orderedlist>
+	 </sect2>
+<!-- ============= To Go to a Specific Line ======================= -->
+	 <sect2 id="gedit-goto-line"> 
+		<title>To Go to a Specific Line</title>
+		<para>To go to a specific line in the current file, perform the following
+		  steps:</para>
+		<orderedlist> 
+		  <listitem><para>Choose 
+				<menuchoice> <guimenu>Search</guimenu> <guimenuitem>Goto
+				  Line</guimenuitem> </menuchoice>
+				to display the <guilabel>Goto line</guilabel> dialog.</para>
+		  </listitem>
+		  <listitem><para>Type the number of the line that you want to move the
+				cursor to in the <guilabel>Line number</guilabel> field.</para>
+		  </listitem>
+		  <listitem><para>Click <guibutton>Goto line</guibutton>. The application
+				moves the cursor to the line number that you specify.</para>
+		  </listitem>
+		</orderedlist>
+	 </sect2>
+	 <sect2 id="gedit-input-mode">
+		<title>To Change the Input Mode</title>
+		<para>To change the input mode, right-click in the text window, then select <guimenuitem>Input Methods</guimenuitem>. 
+		The <guimenuitem>Insert Unicode control character</guimenuitem> menu item provides character layout 
+		options that are useful for working with non-Latin character sets.</para>
+	 </sect2>
+<!-- ============= To Print a File ============================ -->
+	 <sect2 id="gedit-print-file"> 
+		<title>To Print a File</title>
+		<para>You can use <application>&app;</application> to perform the
+		  following print operations:</para>
+		<itemizedlist> 
+		  <listitem><para>Print a file to a printer. </para>
+		  </listitem>
+		  <listitem><para>Print the output of the print command to a file.</para>
+		  </listitem>
+		</itemizedlist>
+		<para>If you print to a file, <application>&app;</application> sends the
+		  output of the file to a pre-press format file. The most common pre-press
+		  formats are PostScript and Portable Document Format (PDF).</para>
+		  
+		<para>To preview the pages that you want to print, choose
+		<menuchoice> <guimenu>File</guimenu>
+		<guimenuitem>Print Preview</guimenuitem> </menuchoice>
+to display the <guilabel>gedit - Print Preview
+		</guilabel> dialog.</para>
+		  
+		<para>To print the current file to a printer or a file, choose 
+		<menuchoice> <guimenu>File</guimenu>
+		<guimenuitem>Print</guimenuitem> </menuchoice>
+		to display the <guilabel>Print</guilabel> dialog.</para>
+				
+		<para>The <guilabel>Print</guilabel> dialog allows you to specify the following
+		print options:</para>
+		
+		<sect3 id="print-dialog-job">
+		<title>Job Tabbed Section</title>
+		<variablelist>
+	 		<varlistentry> <term><guilabel>Print range</guilabel> </term> 
+			 <listitem> 
+				<para>Select one of the following options to determine how 
+				many pages to print:</para>
+				<itemizedlist>
+				<listitem>
+				<para><guilabel>All</guilabel></para>
+				<para>Select this option to print all of the pages in the file.</para>
+				</listitem>
+				<listitem>
+				<para><guilabel>Selection</guilabel></para>
+				<para>Select this option to print the selected text only. This option
+				is only available if you selected text.</para>
+				</listitem>
+								
+				</itemizedlist>
+				<para>Default: <guilabel>All</guilabel>.</para>
+			 </listitem>
+		  	</varlistentry>
+		  	<varlistentry> <term><guilabel>Copies</guilabel> </term> 
+			 <listitem> 
+				<para>Use this spin box to specify the number of copies of the file that
+				you want to print.</para>
+				<para>Default: 1.</para>
+			 </listitem>
+		  	</varlistentry>
+		  	<varlistentry> <term><guilabel>Collate</guilabel> </term> 
+			 <listitem> 
+				<para>If you are printing multiple copies of the file, select this option
+				to collate the printed copies.</para>
+				<para>Default: unselected.</para>
+			 </listitem>
+		  	</varlistentry>
+			</variablelist>
+		</sect3>
+		
+		<sect3 id="print-dialog-printer">
+		<title>Printer Tabbed Section</title>
+		<variablelist>
+	 		<varlistentry> <term><guilabel>Printer</guilabel> </term> 
+			 <listitem> 
+				<para>Use this drop-down list box to select the printer to which you want
+				to print the file.</para>
+				<para>Default: <guilabel>Gnome default printer</guilabel>.</para>
+			 </listitem>
+		  	</varlistentry>
+		  	<varlistentry> <term><guilabel>Settings</guilabel> </term> 
+			 <listitem> 
+				<para>Use this drop-down list box to select the printer settings. To configure
+				the printer, click <guibutton>Configure</guibutton>.</para>
+				<para>Default: Default.</para>
+			 </listitem>
+		  	</varlistentry>
+		  	<varlistentry> <term><guilabel>Location</guilabel> </term> 
+			 <listitem> 
+				<para>Use this drop-down list box to select the print destination. To print the
+				file to a printer, choose <guilabel>lpr</guilabel>. To print the file
+				to a print file, choose <guilabel>File</guilabel>. If you select <guilabel>File</guilabel>,
+				type the name of the output file in the text box provided.</para>
+				<para>Default: <guilabel>lpr</guilabel>.</para>
+			 </listitem>
+		  	</varlistentry>
+			</variablelist>
+		</sect3>
+		
+		<sect3 id="print-dialog-paper">
+		<title>Paper Tabbed Section</title>
+		<variablelist>
+	 		<varlistentry> <term><guilabel>Paper size</guilabel> </term> 
+			 <listitem> 
+				<para>Use this drop-down list box to select the size of the paper to 
+				which you want to print the file.</para>
+				<para>Default: <guilabel>A4</guilabel>.</para>
+			 </listitem>
+		  	</varlistentry>
+		  	<varlistentry> <term><guilabel>Width</guilabel> </term> 
+			 <listitem> 
+				<para>Use this spin box to specify the width of the paper. Use the
+				<guilabel>Centimeters</guilabel> drop-down list box to change the 
+				measurement unit for specifying the paper size.</para>
+				<para>Default: 21.00 centimeters.</para>
+			 </listitem>
+		  	</varlistentry>
+		  	<varlistentry> <term><guilabel>Height</guilabel> </term> 
+			 <listitem> 
+				<para>Use this spin box to specify the height of the paper.</para>
+				<para>Default: 29.70 centimeters.</para>
+			 </listitem>
+		  	</varlistentry>
+		  	<varlistentry> <term><guilabel>Page orientation</guilabel> </term> 
+			 <listitem> 
+				<para>Use this drop-down list box to select the page orientation.</para>
+				<para>Default: <guilabel>Portrait</guilabel>.</para>
+			 </listitem>
+		  	</varlistentry>
+		  	<varlistentry> <term><guilabel>Layout</guilabel> </term> 
+			 <listitem> 
+				<para>Use this drop-down list box to select the page layout. A preview
+				of each layout that you select is displayed in the <guilabel>Preview</guilabel>
+				area.</para>
+				<para>Default: <guilabel>Plain</guilabel>.</para>
+			 </listitem>
+		  	</varlistentry>
+		</variablelist>
+		</sect3>
+		
+	 </sect2>
+<!-- ============= To Use the gedit Plugins ========================= -->
+	 <sect2 id="gedit-use-plugins"> 
+		<title>To Use the &app; Plugins</title>
+		<para>A plugin is a supplementary program that enhances the functionality
+		  of an application. The <application>&app;</application> plugins enable you to
+		  perform a variety of functions related to text editing from within the
+		  <application> &app;</application> window. The following table lists the plugins
+		  that are available.</para>
+		<informaltable frame="topbot"> 
+		<tgroup cols="2"> 
+			<colspec colname="col1"/> 
+			<colspec colname="col2"/> 
+		<thead> 
+		<row valign="top">
+			<entry colname="col1" colsep="0" valign="top"><para>Plugin Name</para></entry>
+			<entry colname="col2" valign="top"><para>Purpose</para></entry> 
+		</row> 
+		</thead>
+		<tbody> 
+		<row valign="top"> 
+			<entry><para>ASCII table</para></entry> 
+			<entry><para>Displays a dialog that contains an ASCII table. You can use the ASCII table to insert characters into a file.</para></entry> 
+		</row>  
+		<row valign="top"> 
+			<entry><para>Compare files</para></entry> 
+			<entry><para>Compares two files and displays the differences between the files in a new <application>&app;</application> window.
+			This plugin uses the <application>diff</application> program to compare the files.</para></entry> 
+		</row>
+		<row valign="top"> 
+			<entry><para>CVS ChangeLog</para></entry> 
+			<entry><para>Opens the log messages associated with CVS commit commands.</para></entry> 
+		</row> 
+		<row valign="top">
+			<entry><para>Insert Date/Time</para></entry> 
+			<entry><para>Inserts the current date and time into a file.</para></entry> 
+		</row>
+		<row valign="top">
+			<entry><para>Shell Output</para></entry> 
+			<entry><para>Inserts the text output of a shell command into a file. </para></entry> 
+		</row> 
+		<row valign="top">
+			<entry><para>Tag list</para></entry> 
+			<entry><para>Displays a dialog that contains a list of common tags. You can use the dialog to 
+			insert a tag into a file. </para></entry> 
+		</row>
+		<row valign="top">
+			<entry><para>User name</para></entry> 
+			<entry><para>Inserts the username of the current user into the file. </para></entry> 
+		</row>
+		<row valign="top"> 
+			<entry><para>Word count</para></entry> 
+			<entry><para>Counts the number of lines, words, characters with spaces, characters without spaces, and bytes in the current file. The plugin
+			displays the results in a <guilabel>Word count</guilabel> window. </para></entry> 
+		</row> 
+ 
+	
+		</tbody> 
+		</tgroup>
+		</informaltable> 
+		</sect2>
+<!-- ============= To Load gedit Plugins ========================= -->
+	 <sect2 id="gedit-install-plugins"> 
+		<title>To Load &app; Plugins</title>
+		<para>To load <application>&app;</application> plugins, choose 
+		  <menuchoice> 
+		  <guimenu>Edit</guimenu>
+		  <guimenuitem>Plugin Manager</guimenuitem> 
+		  </menuchoice>. 
+		  The <guilabel>Plugin Manager</guilabel> dialog displays the following information:</para>
+		<itemizedlist> 
+		  <listitem><para>A list of the plugins that are available.</para>
+		  </listitem>
+		  <listitem><para>A <guibutton>Configure plugin</guibutton> button. You can use this button to open a 
+		  configuration dialog for the plugins that you can configure.</para>
+		  </listitem>
+		  <listitem><para>A brief description of each plugin. To display a description,
+		  select the plugin from the list of plugins.</para>
+		  </listitem>	
+		  <listitem><para>Details about the author of the plugin and the name of the module.</para>
+		  </listitem>	  
+		</itemizedlist>
+		<para>To load a plugin, select the check box next to the name of the plugin. The <application>&app;</application> application
+		adds the plugin to the appropriate <application>&app;</application> menu, as described in the following table.</para>
+		<informaltable frame="topbot"> 
+		<tgroup cols="2"> 
+		<colspec colname="col1"/> 
+		<colspec colname="col2"/> 
+		<thead> 
+		<row valign="top">
+			<entry colname="col1" colsep="0" valign="top"><para>Plugin Name</para></entry>
+			<entry colname="col2" valign="top"><para>Added to Menu</para></entry> 
+		</row> 
+		</thead>
+		<tbody> 
+		<row valign="top"> 
+			<entry><para>ASCII table</para></entry> 
+			<entry><para><menuchoice><guimenu>View</guimenu> <guimenuitem>ASCII Table</guimenuitem></menuchoice></para></entry> 
+		</row>  
+		<row valign="top"> 
+			<entry><para>Compare files</para></entry> 
+			<entry><para><menuchoice><guimenu>File</guimenu> <guimenuitem>Compare files</guimenuitem></menuchoice></para></entry> 
+		</row>
+		<row valign="top"> 
+			<entry><para>CVS ChangeLog</para></entry> 
+			<entry><para><menuchoice><guimenu>File</guimenu> <guimenuitem>Open CVS ChangeLogs</guimenuitem></menuchoice></para></entry> 
+		</row> 
+		<row valign="top"> 
+			<entry><para>Word count</para></entry> 
+			<entry><para><menuchoice><guimenu>Search</guimenu> <guimenuitem>Word Count</guimenuitem></menuchoice></para></entry> 
+		</row> 
+		<row valign="top">
+			<entry><para>Shell Output</para></entry> 
+			<entry><para><menuchoice><guimenu>Edit</guimenu> <guimenuitem>Insert Shell Output</guimenuitem></menuchoice></para></entry> 
+		</row> 
+		<row valign="top">
+			<entry><para>Tag list</para></entry> 
+			<entry><para><menuchoice><guimenu>View</guimenu> <guimenuitem>Tag List</guimenuitem></menuchoice></para></entry> 
+		</row>
+		<row valign="top">
+			<entry><para>Insert Date/Time</para></entry> 
+			<entry><para><menuchoice><guimenu>Edit</guimenu> <guimenuitem>Insert Date/Time</guimenuitem></menuchoice></para></entry> 
+		</row>
+		<row valign="top">
+			<entry><para>User name</para></entry> 
+			<entry><para><menuchoice><guimenu>Edit</guimenu> <guimenuitem>Insert User Name</guimenuitem></menuchoice></para></entry> 
+		</row> 
+		</tbody> 
+		</tgroup>
+		</informaltable> 
+
+		<para>To remove a plugin, deselect the check box next to the name of the plugin.</para>
+		<para>To close the <guilabel>Plugin Manager</guilabel> dialog,
+		  click <guibutton>Close</guibutton>.</para>
+	 </sect2>
+	 
+	 <sect2 id="gedit-customize-bars">
+	 <title>To Customize the Toolbar and Statusbar</title>
+	 
+	 <para>To display or hide the toolbar, choose <menuchoice> <guimenu>View</guimenu>
+		  <guimenuitem>Toolbar</guimenuitem> </menuchoice>. To customize how <application>&app;</application>
+		  displays the toolbar, choose <menuchoice> <guimenu>View</guimenu>
+		  <guisubmenu>Customize Toolbar</guisubmenu> </menuchoice>, then select one of the following 
+		  menu items:</para>
+		  <itemizedlist>
+		  <listitem>
+		  <para><guimenuitem>Desktop Default</guimenuitem>: display the default toolbar.</para>
+		  </listitem>
+		  <listitem>
+		  <para><guimenuitem>Icon</guimenuitem>: display icons only.</para>
+		  </listitem>
+		  <listitem>
+		  <para><guimenuitem>Icon and Text</guimenuitem>: display icons and text.</para>
+		  </listitem>
+		  </itemizedlist>
+	 <para>To display or hide the statusbar, choose <menuchoice> <guimenu>View</guimenu>
+		  <guimenuitem>Statusbar</guimenuitem> </menuchoice>. To customize how <application>&app;</application>
+		  displays the statusbar, choose <menuchoice> <guimenu>View</guimenu>
+		  <guisubmenu>Customize Statusbar</guisubmenu> </menuchoice>, then select one of the following 
+		  menu items:</para>
+		  <itemizedlist>
+		  <listitem>
+		  <para><guimenuitem>Show Cursor Position</guimenuitem>: display the line number
+		  and column number where the cursor is located.</para>
+		  <para>Default: selected.</para>
+		  </listitem>
+		  <listitem>
+		  <para><guimenuitem>Show Overwrite Mode</guimenuitem>: display the editing mode.
+		  If the editor is in insert mode, the statusbar contains the word INS. If the editor is in 
+		  overwrite mode, the statusbar contains the word OVR.</para>
+		  <para>Default: selected.</para>
+		  </listitem>
+		  </itemizedlist>
+	 
+	 </sect2>
+  </sect1>
+<!-- ============= Customization ============================= -->
+  <sect1 id="gedit-prefs"> 
+	 <title>Settings</title>
+	   
+	 <para>To configure <application>&app;</application>, choose 
+		<menuchoice> <guimenu>Edit</guimenu>
+		  <guimenuitem>Preferences</guimenuitem> </menuchoice>.</para>
+	 <para>The <guilabel>Preferences</guilabel> dialog contains the following
+		categories:</para>
+	 <itemizedlist> 
+		<listitem><para><xref linkend="gedit-prefs-editor"/></para>
+		</listitem>
+		<listitem><para><xref linkend="gedit-prefs-print"/></para>
+		</listitem>
+	 </itemizedlist>
+	 
+	 
+	 <sect2 id="gedit-prefs-editor">
+	 <title>Editor</title>
+	 <para>The <guilabel>Editor</guilabel> category is subdivided into the following 
+	 subcategories:</para>
+	 
+	 	<sect3 id="gedit-prefs-fontsandcolors">
+	 		<title>Fonts and Colors</title>
+	 		<variablelist> 
+		   <varlistentry> <term><guilabel>Use default theme font</guilabel> </term> 
+			 <listitem> 
+				<para>Select this option to use the default system font for the text in the <application>&app;</application> text window. </para>
+				<para>Default: unselected.</para>
+			 </listitem>
+		  	</varlistentry>			
+		   <varlistentry> <term><guilabel>Font used by the editor</guilabel> </term> 
+			 <listitem> 
+				<para>This field displays the font that <application>&app;</application> uses to display text. 
+				Click on the button to specify the font type, style, and size to use for text. </para>
+				<para>Default: Courier Medium 12 point.</para>
+			 </listitem>
+		  	</varlistentry>
+		   <varlistentry> <term><guilabel>Use default theme colors</guilabel> </term> 
+			 <listitem> 
+				<para>Select this option to use the default theme colors in the <application>&app;</application> text window. </para>
+				<para>Default: selected.</para>
+			 </listitem>
+		  	</varlistentry>			
+		  	<varlistentry> <term><guilabel>Text color</guilabel> </term> 
+			 <listitem> 
+				<para>Click on the <guibutton>Text color</guibutton> button to
+				  display the color selector dialog. Select a color to use to display text in the <application>&app;</application>
+				text window. </para>
+				<para>Default: black.</para>
+			 </listitem>
+		  	</varlistentry>
+		  	<varlistentry> <term><guilabel>Background color</guilabel> </term> 
+			 <listitem> 
+				<para>Click on the <guibutton>Background color</guibutton> button to
+				  display the color selector dialog. Select a background color for the <application>&app;</application>
+				text window. </para>
+				<para>Default: white.</para>
+			 </listitem>
+		  	</varlistentry>			
+		  	<varlistentry> <term><guilabel>Selected text color</guilabel> </term> 
+			 <listitem> 
+				<para>Click on the <guibutton>Selected text color</guibutton> button to
+				  display the color selector dialog. Select a color to use to display selected text.
+				</para>
+				<para>Default: white.</para>
+			 </listitem>
+		  	</varlistentry>
+		  	<varlistentry> <term><guilabel>Selection color</guilabel> </term> 
+			 <listitem> 
+				<para>Click on the <guibutton>Selection color</guibutton> button to
+				  display the color selector dialog. Select a background color to use to highlight a text selection.
+				  </para>
+				<para>Default: blue.</para>
+			 </listitem>
+		  	</varlistentry>			
+			</variablelist>
+		</sect3>
+	
+	 	<sect3 id="gedit-prefs-tabs">
+	 		<title>Tabs</title>
+			<variablelist>
+	 		<varlistentry> <term><guilabel>Set tabs width equivalent to</guilabel> </term> 
+			 <listitem> 
+				<para>Use this spin box to specify the width of the space that
+				  <application> &app;</application> inserts when you press the
+				  <keycap>Tab</keycap> key. </para>
+				<para>Default: 8 characters.</para>
+			 </listitem>
+		  	</varlistentry>
+			</variablelist>
+		</sect3>	 
+				
+	 	<sect3 id="gedit-prefs-wrapmode">
+	 		<title>Wrap Mode</title>
+			<variablelist>
+	 		<varlistentry> <term><guilabel>Wrap mode</guilabel> </term> 
+			 <listitem> 
+				<para>Select one of the following options to determine how 
+				<application>&app;</application> wraps text in the <application>&app;</application>
+				window:
+</para>
+				<itemizedlist>
+				<listitem>
+				<para><guilabel>Never wrap lines</guilabel></para>
+				<para>Select this option to never wrap lines. The text that you type is displayed in one line until you press 
+				<keycap>Return</keycap>.</para>
+				</listitem>
+				<listitem>
+				<para><guilabel>Wrap lines at word boundaries</guilabel></para>
+				<para>Select this option to wrap text onto the next line, at a word level, when you reach the text window boundary. </para>
+				</listitem>
+				<listitem>
+				<para><guilabel>Wrap lines at character boundaries</guilabel></para>
+				<para>Select this option to wrap text onto the next line, at a character level, when you reach the text window boundary.</para>
+				</listitem>								
+				</itemizedlist>
+				<para>Default: <guilabel>Wrap lines at character boundaries</guilabel>.</para>
+			 </listitem>
+		  	</varlistentry>
+			</variablelist>
+		</sect3>	 
+	 
+	 	<sect3 id="gedit-prefs-linenumbers">
+	 		<title>Line numbers</title>
+			<variablelist>
+	 		<varlistentry> <term><guilabel>Display line numbers</guilabel> </term> 
+			 <listitem> 
+				<para>Select this option to display lines numbers on the left side of the 
+				<application>&app;</application> window. </para>
+				<para>Default: unselected.</para>
+			 </listitem>
+		  	</varlistentry>
+			</variablelist>
+		</sect3>	 
+		
+	 	<sect3 id="gedit-prefs-save">
+	 		<title>Save</title>
+	 		<variablelist>
+	 		<varlistentry> <term><guilabel>Create a backup copy of files before saving</guilabel> </term> 
+			 <listitem> 
+				<para>Select this option create a backup copy of a file each time you save the file. The backup 
+				copy of the file has a <filename>.bak</filename> extension.</para>
+				<para>Default: unselected.</para>
+			 </listitem>
+		  	</varlistentry>
+	 		<varlistentry> <term><guilabel>Autosave current file every</guilabel> </term> 
+			 <listitem> 
+				<para>Select this option to automatically save the current file at regular intervals. Use the spin box
+				to specify the interval at which you want to save the file.</para>
+				<para>Default: unselected, 10 minutes.</para>
+			 </listitem>
+		  	</varlistentry>
+	 		<varlistentry> <term><guilabel>When saving</guilabel> </term> 
+			 <listitem> 
+				<para>Select one of the following save options:</para>
+				<itemizedlist>
+				<listitem>
+				<para><guilabel>Always use UTF-8 encoding (faster)</guilabel></para>
+				<para>Select this option to save files using UTF-8 bit encoding.</para>
+				</listitem>
+				<listitem>
+				<para><guilabel>Use current locale when possible</guilabel></para>
+				<para>Select this option to save files using the current locale. You can set up locales for
+				different input methods. </para>
+				</listitem>
+				<listitem>
+				<para><guilabel>Use current locale only if the file already uses it</guilabel></para>
+				<para>Select this option to save a file using the current locale if the file was already saved in the current locale.</para>
+				</listitem>								
+				</itemizedlist>
+				<para>Default: <guilabel>Always use UTF-8 encoding (faster)</guilabel></para>
+			 </listitem>
+		  	</varlistentry>
+			</variablelist>
+
+
+		</sect3>	 
+	 
+	 	<sect3 id="gedit-prefs-undo">
+	 		<title>Undo</title>
+	 		<variablelist>
+	 		<varlistentry> <term><guilabel>Set limit on undo levels to</guilabel> </term> 
+			 <listitem> 
+				<para>Select this option to set a limit on the number of editing actions that you 
+				can undo. Use the spin box to specify the maximum number of actions that you
+				can undo. </para>
+				<para>Default: selected, 25 actions.</para>
+			 </listitem>
+		  	</varlistentry>
+			</variablelist>
+		</sect3>
+	 		
+	 </sect2>	 
+	 
+	<sect2 id="gedit-prefs-print">
+	 <title>Print</title>
+	 <para>The <guilabel>Print</guilabel> category is subdivided into the following 
+	 subcategories:</para>
+	 
+	 	<sect3 id="gedit-prefs-page">
+	 		<title>Page</title>
+	 	<variablelist> 
+		  <varlistentry> <term><guilabel>Print page headers</guilabel> </term> 
+			 <listitem> 
+				<para>Select this option to include a header on each page that you
+				  print. You can not configure the header. </para>
+				<para>Default: selected.</para>
+			 </listitem>
+		  </varlistentry>
+		  <varlistentry> <term><guilabel>Wrap lines (at character boundaries)</guilabel> </term> 
+			 <listitem> 
+				<para>Select this option to automatically wrap text at a character level when you print
+				  a file. The application counts wrapped lines as one line for line numbering purposes.
+				  </para>
+				<para>Default: selected.</para>
+			 </listitem>
+		  </varlistentry>
+		  <varlistentry> <term><guilabel>Print line numbers every</guilabel>
+			 </term> 
+			 <listitem> 
+				<para>Select this option to include line numbers when you print a
+				  file. Use the spin box to specify how often to print the line numbers, for
+				  example every 5 lines, every 10 lines, and so on. </para>
+				<para>Default: unselected, 1 line.</para>
+			 </listitem>
+		  </varlistentry>
+		</variablelist>
+		</sect3>
+		
+		<sect3 id="gedit-prefs-fonts">
+	 		<title>Fonts</title>
+	 	<variablelist> 
+		  <varlistentry> <term><guilabel>Font used to print the body</guilabel> </term> 
+			 <listitem> 
+				<para>Click on this button to select the font to use to print the body text of a 
+				file.</para>
+				<para>Default: Courier 9.0.</para>
+			 </listitem>
+		  </varlistentry>
+		  <varlistentry> <term><guilabel>Font used to print headers</guilabel> </term> 
+			 <listitem> 
+				<para>Click on this button to select the font to use to print the headers in a 
+				file.  </para>
+				<para>Default: Helvetica 11.0.</para>
+			 </listitem>
+		  </varlistentry>
+		  <varlistentry> <term><guilabel>Font used to print line numbers</guilabel>
+			 </term> 
+			 <listitem> 
+				<para>Click on this button to select a font to use to print line numbers.</para>
+				<para>Default: Helvetica 8.0.</para>
+			 </listitem>
+		  </varlistentry>
+		</variablelist>
+		<para>To reset the fonts to the default fonts for printing a file from <application>&app;</application>
+		click on the <guibutton>Restore default fonts</guibutton> button.</para>
+		</sect3>
+		
+	 </sect2>	 
+	 	 	 
+	 
+ </sect1>
+</article>
diff --git a/assets/xml/xmerge/downloads/smalldeviceSol.tar.gz b/assets/xml/xmerge/downloads/smalldeviceSol.tar.gz
new file mode 100644
index 0000000..3fa37e5
Binary files /dev/null and b/assets/xml/xmerge/downloads/smalldeviceSol.tar.gz differ
diff --git a/assets/xml/xmerge/downloads/sofftodocbook.xsl b/assets/xml/xmerge/downloads/sofftodocbook.xsl
new file mode 100644
index 0000000..f4baccb
--- /dev/null
+++ b/assets/xml/xmerge/downloads/sofftodocbook.xsl
@@ -0,0 +1,741 @@
+<?xml version='1.0' encoding="UTF-8"?>
+<!-- #  The Contents of this file are made available subject to the terms of
+ #  either of the following licenses
+ #
+ #         - GNU Lesser General Public License Version 2.1
+ #         - Sun Industry Standards Source License Version 1.1
+ #
+ #  Sun Microsystems Inc., October, 2000
+ #
+ #  GNU Lesser General Public License Version 2.1
+ #  =============================================
+ #  Copyright 2000 by Sun Microsystems, Inc.
+ #  901 San Antonio Road, Palo Alto, CA 94303, USA
+ #
+ #  This library is free software; you can redistribute it and/or
+ #  modify it under the terms of the GNU Lesser General Public
+ #  License version 2.1, as published by the Free Software Foundation.
+ #
+ #  This library is distributed in the hope that it will be useful,
+ #  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ #  Lesser General Public License for more details.
+ #
+ #  You should have received a copy of the GNU Lesser General Public
+ #  License along with this library; if not, write to the Free Software
+ #  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ #  MA  02111-1307  USA
+ #
+ #
+ #  Sun Industry Standards Source License Version 1.1
+ #  =================================================
+ #  The contents of this file are subject to the Sun Industry Standards
+ #  Source License Version 1.1 (the "License"); You may not use this file
+ #  except in compliance with the License. You may obtain a copy of the
+ #  License at http://www.openoffice.org/license.html.
+ #
+ #  Software provided under this License is provided on an "AS IS" basis,
+ #  WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ #  WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ #  MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ #  See the License for the specific provisions governing your rights and
+ #  obligations concerning the Software.
+ #
+ #  The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ #
+ #  Copyright: 2000 by Sun Microsystems, Inc.
+ #
+ #  All Rights Reserved.
+ #
+ #  Contributor(s): _______________________________________
+ #
+ #-->
+<xsl:stylesheet version="1.0" xmlns:style="http://openoffice.org/2000/style" xmlns:text="http://openoffice.org/2000/text" xmlns:office="http://openoffice.org/2000/office" xmlns:table="http://openoffice.org/2000/table" xmlns:draw="http://openoffice.org/2000/drawing" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="http://openoffice.org/2000/meta" xmlns:number="http://openoffice.org/2000/datastyl [...]
+<xsl:output method="xml" indent="yes" omit-xml-declaration="no"  />
+<!--<xsl:output method="xml" version="1.0" encoding="UTF-8" doctype-public="-//Sun Microsystems//DTD Simplified DocBook XML V1.0CR2-Based SupportDoc Subset
+V1.0//EN" doctype-system="file:///e:/temp/dtd/docbookx.dtd" />-->
+
+
+<xsl:variable name="varname">1</xsl:variable>
+
+<xsl:template match="/office:document">
+	<article>
+		<xsl:attribute name="lang"><xsl:value-of select="/office:document/office:meta/dc:language"/>
+		</xsl:attribute>
+		<xsl:apply-templates />
+	</article>
+</xsl:template>
+
+<xsl:template match="office:meta">
+	<xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="text:ordered-list">
+	<orderedlist>
+		<xsl:apply-templates/>
+	</orderedlist>
+</xsl:template>
+
+
+
+<xsl:template match="meta:editing-cycles">
+</xsl:template>
+
+<xsl:template match="meta:user-defined">
+</xsl:template>
+
+<xsl:template match="meta:editing-duration">
+</xsl:template>
+
+<xsl:template match="dc:language">
+</xsl:template>
+
+<xsl:template match="dc:date">
+	<!--<pubdate>
+		<xsl:value-of select="substring-before(.,'T')"/>
+	</pubdate>-->
+</xsl:template>
+
+<xsl:template match="meta:creation-date">
+</xsl:template>
+
+<xsl:template match="office:body">
+	<xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="office:styles">
+	<xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="office:script">
+</xsl:template>
+
+
+<xsl:template match="office:settings">
+</xsl:template>
+
+<xsl:template match="office:font-decls">
+</xsl:template>
+
+<xsl:template match="text:section">
+<xsl:choose>
+	<xsl:when test="@text:name='ArticleInfo'">
+		<articleinfo>
+			<title><xsl:value-of select="text:p[@text:style-name='Document Title']"/></title>
+			<subtitle><xsl:value-of select="text:p[@text:style-name='Document SubTitle']"/></subtitle>
+			<edition><xsl:value-of select="text:p/text:variable-set[@text:name='articleinfo.edition']"/></edition>
+			<xsl:for-each select="text:p/text:variable-set[substring-after(@text:name,'articleinfo.releaseinfo')]">
+				<releaseinfo>
+					<xsl:value-of select="."/>
+				</releaseinfo>
+			</xsl:for-each>
+			<xsl:call-template name="ArticleInfo"><xsl:with-param name="level" select="0"/></xsl:call-template>
+	
+		</articleinfo>
+	</xsl:when>
+	<xsl:when test="@text:name='Abstract'">
+		<abstract>
+			<xsl:apply-templates/>
+		</abstract>
+	</xsl:when>
+	<xsl:when test="@text:name='Appendix'">
+		<appendix>
+			<xsl:apply-templates/>
+		</appendix>
+	</xsl:when>
+	<xsl:otherwise>
+		<xsl:variable name="sectvar"><xsl:text>sect</xsl:text><xsl:value-of select="count(ancestor::text:section)+1"/></xsl:variable>	
+		<xsl:variable name="idvar"><xsl:text> id="</xsl:text><xsl:value-of select="@text:name"/><xsl:text>"</xsl:text></xsl:variable>
+		<xsl:text disable-output-escaping="yes">&lt;</xsl:text><xsl:value-of select="$sectvar"/><xsl:value-of select="$idvar"/><xsl:text  disable-output-escaping="yes">&gt;</xsl:text>
+			<xsl:apply-templates/>
+		<xsl:text disable-output-escaping="yes">&lt;/</xsl:text><xsl:value-of select="$sectvar"/><xsl:text  disable-output-escaping="yes">&gt;</xsl:text>
+	</xsl:otherwise>
+
+
+</xsl:choose>
+</xsl:template>
+
+<xsl:template name="ArticleInfo">
+	<xsl:param name="level"/>
+	<xsl:variable name="author"><xsl:value-of select="concat('articleinfo.author_','', $level)"/></xsl:variable>
+	<xsl:if test="text:p/text:variable-set[contains(@text:name, $author )]">
+		<xsl:call-template name="Author"><xsl:with-param name="AuthorLevel" select="0"/></xsl:call-template>
+		<xsl:call-template name="Copyright"><xsl:with-param name="CopyrightLevel" select="0"/></xsl:call-template>	
+	</xsl:if>	
+</xsl:template>
+
+<xsl:template name="Copyright">
+	<xsl:param name="CopyrightLevel"/>
+	
+	<xsl:variable name="Copyright"><xsl:value-of select="concat('articleinfo.copyright_','', $CopyrightLevel)"/></xsl:variable>
+	
+	<xsl:if test="text:p/text:variable-set[contains(@text:name,$Copyright)]">
+		<copyright>
+			<xsl:call-template name="Year">
+				<xsl:with-param name="CopyrightLevel" select="$CopyrightLevel"/>
+				<xsl:with-param name="YearlLevel" select="0"/>
+			</xsl:call-template>
+			<xsl:call-template name="Holder">
+				<xsl:with-param name="CopyrightLevel" select="$CopyrightLevel"/>
+				<xsl:with-param name="HolderlLevel" select="0"/>
+
+			</xsl:call-template>
+		</copyright>
+	</xsl:if>
+</xsl:template>
+
+
+<xsl:template name="Year">
+	<xsl:param name="CopyrightLevel"/>
+	<xsl:param name="YearLevel"/>
+	<xsl:variable name="Copyright"><xsl:value-of select="concat('articleinfo.copyright_','', $CopyrightLevel)"/></xsl:variable>
+<xsl:variable name="Year"><xsl:value-of select="concat($Copyright,'',concat('.year_','',$YearLevel))"/></xsl:variable>
+
+	<xsl:if test="text:p/text:variable-set[@text:name=$Year]">
+		<orgname>
+			<xsl:value-of select="text:p/text:variable-set[@text:name=$Year]"/>
+		</orgname>
+	</xsl:if>
+</xsl:template>
+
+
+<xsl:template name="Holder">
+	<xsl:param name="CopyrightLevel"/>
+	<xsl:param name="HolderLevel"/>
+	<xsl:variable name="Copyright"><xsl:value-of select="concat('articleinfo.copyright_','', $CopyrightLevel)"/></xsl:variable>
+<xsl:variable name="Holder"><xsl:value-of select="concat($Copyright,'',concat('.holder_','',$HolderLevel))"/></xsl:variable>
+
+	<xsl:if test="text:p/text:variable-set[@text:name=$Holder]">
+		<orgname>
+			<xsl:value-of select="text:p/text:variable-set[@text:name=$Holder]"/>
+		</orgname>
+	</xsl:if>
+</xsl:template>
+
+
+
+<xsl:template name="Author">
+	<xsl:param name="AuthorLevel"/>
+	<xsl:variable name="Author"><xsl:value-of select="concat('articleinfo.author_','', $AuthorLevel)"/></xsl:variable>	
+	<xsl:if test="text:p/text:variable-set[contains(@text:name, $Author )]">
+		<author>
+			<xsl:call-template name="Surname"><xsl:with-param name="AuthorLevel" select="$AuthorLevel"/><xsl:with-param name="SurnameLevel" select="0"/></xsl:call-template>
+			<xsl:call-template name="Firstname"><xsl:with-param name="AuthorLevel" select="$AuthorLevel"/><xsl:with-param name="FirstnameLevel" select="0"/></xsl:call-template>
+			<xsl:call-template name="Affiliation"><xsl:with-param name="AuthorLevel" select="$AuthorLevel"/><xsl:with-param name="AffilLevel" select="0"/></xsl:call-template>
+		</author>
+		<xsl:call-template name="Author"><xsl:with-param name="AuthorLevel" select="$AuthorLevel+1"/></xsl:call-template>
+	</xsl:if>	
+</xsl:template>
+
+
+<xsl:template name="Surname">
+	<xsl:param name="AuthorLevel"/>
+	<xsl:param name="SurnameLevel"/>
+	<xsl:variable name="Author"><xsl:value-of select="concat('articleinfo.author_','', $AuthorLevel)"/></xsl:variable>
+	<xsl:variable name="Surname"><xsl:value-of select="concat($Author,'',concat('.surname_','',$SurnameLevel))"/></xsl:variable>
+	<xsl:if test="text:p/text:variable-set[@text:name=$Surname]">
+		<surname>
+			<xsl:value-of select="text:p/text:variable-set[@text:name=$Surname]"/>
+		</surname>
+		<xsl:call-template name="Surname"><xsl:with-param name="AuthorLevel" select="$AuthorLevel"/>
+		<xsl:with-param name="SurnameLevel" select="SurnameLevel+1"/>
+		</xsl:call-template>
+
+	</xsl:if>
+</xsl:template>
+
+
+
+
+<xsl:template name="Firstname">
+	<xsl:param name="AuthorLevel"/>
+	<xsl:param name="FirstnameLevel"/>
+	<xsl:variable name="Author"><xsl:value-of select="concat('articleinfo.author_','', $AuthorLevel)"/></xsl:variable>
+	<xsl:variable name="Firstname"><xsl:value-of select="concat($Author,'',concat('.firstname_','',$FirstnameLevel))"/></xsl:variable>
+	<xsl:if test="text:p/text:variable-set[@text:name=$Firstname]">
+		<firstname>
+			<xsl:value-of select="text:p/text:variable-set[@text:name=$Firstname]"/>
+		</firstname>
+		<xsl:call-template name="Surname">
+			<xsl:with-param name="AuthorLevel" select="$AuthorLevel"/>
+			<xsl:with-param name="FirstnameLevel" select="FirstnameLevel+1"/>
+		</xsl:call-template>
+	</xsl:if>
+</xsl:template>
+
+
+
+<xsl:template name="Affiliation">
+	<xsl:param name="AuthorLevel"/>
+	<xsl:param name="AffilLevel"/>
+	<xsl:variable name="Author"><xsl:value-of select="concat('articleinfo.author_','', $AuthorLevel)"/></xsl:variable>
+	<xsl:variable name="Affil"><xsl:value-of select="concat($Author,'',concat('.affiliation_','',$AffilLevel))"/></xsl:variable>
+	<xsl:if test="text:p/text:variable-set[contains(@text:name,$Affil)]">
+		<affiliation>
+			<xsl:call-template name="Orgname">
+				<xsl:with-param name="AuthorLevel" select="$AuthorLevel"/>
+				<xsl:with-param name="AffilLevel" select="$AffilLevel"/><xsl:with-param name="OrgLevel" select="0"/>
+			</xsl:call-template>
+			<xsl:call-template name="Address">
+				<xsl:with-param name="AuthorLevel" select="$AuthorLevel"/>
+				<xsl:with-param name="AffilLevel" select="$AffilLevel"/><xsl:with-param name="AddressLevel" select="0"/>
+
+			</xsl:call-template>
+		</affiliation>
+	</xsl:if>
+</xsl:template>
+
+<xsl:template name="Orgname">
+	<xsl:param name="AuthorLevel"/>
+	<xsl:param name="AffilLevel"/>
+	<xsl:param name="OrgLevel"/>
+
+	<xsl:variable name="Author"><xsl:value-of select="concat('articleinfo.author_','', $AuthorLevel)"/></xsl:variable>
+<xsl:variable name="Affil"><xsl:value-of select="concat($Author,'',concat('.affiliation_','',$AffilLevel))"/></xsl:variable>
+	<xsl:variable name="Org"><xsl:value-of select="concat($Affil,'',concat('.orgname_','',$OrgLevel))"/></xsl:variable>
+
+	<xsl:if test="text:p/text:variable-set[@text:name=$Org]">
+		<orgname>
+			<xsl:value-of select="text:p/text:variable-set[@text:name=$Org]"/>
+		</orgname>
+	</xsl:if>
+</xsl:template>
+
+<xsl:template name="Address">
+	<xsl:param name="AuthorLevel"/>
+	<xsl:param name="AffilLevel"/>
+	<xsl:param name="AddressLevel"/>
+
+	<xsl:variable name="Author"><xsl:value-of select="concat('articleinfo.author_','', $AuthorLevel)"/></xsl:variable>
+<xsl:variable name="Affil"><xsl:value-of select="concat($Author,'',concat('.affiliation_','',$AffilLevel))"/></xsl:variable>
+	<xsl:variable name="Address"><xsl:value-of select="concat($Affil,'',concat('.address_','',$AddressLevel))"/></xsl:variable>
+
+	<xsl:if test="text:p/text:variable-set[@text:name=$Address]">
+		<address>
+			<xsl:value-of select="text:p/text:variable-set[@text:name=$Address]"/>
+		</address>
+	</xsl:if>
+</xsl:template>
+
+
+
+
+<xsl:template match="text:p[@text:style-name='Document Title']">
+</xsl:template>
+
+<xsl:template match="text:p[@text:style-name='Document SubTitle']">
+</xsl:template>
+
+
+<xsl:template match="text:p[@text:style-name='Section Title']">
+	<title>
+		<xsl:apply-templates/>
+	</title>
+</xsl:template>
+
+<xsl:template match="text:p[@text:style-name='Appendix Title']">
+	<title>
+		<xsl:apply-templates/>
+	</title>
+</xsl:template>
+
+
+<xsl:template match="text:p[@text:style-name='VarList Item']">
+	<xsl:if test="not(preceding-sibling::text:p[@text:style-name='VarList Item'])">
+		<xsl:text disable-output-escaping="yes">&lt;listitem&gt;</xsl:text>
+	</xsl:if>
+		<para>
+			<xsl:apply-templates/>
+		</para>
+	<xsl:if test="not(following-sibling::text:p[@text:style-name='VarList Item'])">
+		<xsl:text disable-output-escaping="yes">&lt;/listitem&gt;</xsl:text>
+	</xsl:if>
+</xsl:template>
+
+<xsl:template match="text:p[@text:style-name='VarList Term']">
+	<term>
+			<xsl:apply-templates/>
+	</term>
+</xsl:template>
+
+<xsl:template match="text:p[@text:style-name='Section1 Title']">
+	<title>
+		<xsl:apply-templates/>
+	</title>
+</xsl:template>
+
+
+<xsl:template match="text:p[@text:style-name='Section2 Title']">
+	<title>
+		<xsl:apply-templates/>
+	</title>
+</xsl:template>
+
+
+<xsl:template match="text:p[@text:style-name='Section3 Title']">
+	<title>
+		<xsl:apply-templates/>
+	</title>
+</xsl:template>
+
+<xsl:template match="text:footnote-citation">
+</xsl:template>
+
+<xsl:template match="text:p[@text:style-name='Mediaobject']">
+	<mediaobject>
+		<xsl:apply-templates/>
+	</mediaobject>
+</xsl:template>
+
+<xsl:template match="office:annotation/text:p">
+	<note>
+	<remark>
+		<xsl:apply-templates/>
+	</remark>
+	</note>
+</xsl:template>
+
+<!--<xsl:template match="meta:initial-creator">
+	<author>
+	<xsl:apply-templates />
+		</author>
+</xsl:template>-->
+
+<xsl:template match="table:table">
+	<xsl:choose>
+		<xsl:when test="following-sibling::text:p[@text:style-name='Table']">
+			<table frame="all">
+				 <xsl:attribute name="id">
+					<xsl:value-of select="@table:name"/>
+				</xsl:attribute>
+				<title>
+					<xsl:value-of select="following-sibling::text:p[@text:style-name='Table']"/>
+				</title>
+				<xsl:call-template name="generictable"/>
+			</table>
+		</xsl:when>
+		<xsl:otherwise>
+			<informaltable frame="all">
+				<xsl:call-template name="generictable"/>
+			</informaltable>
+		</xsl:otherwise>
+	</xsl:choose>
+</xsl:template>
+
+
+<xsl:template name="generictable">
+			<xsl:variable name="cells" select="count(descendant::table:table-cell)" ></xsl:variable>
+			<xsl:variable name="rows"><xsl:value-of select="count(descendant::table:table-row) "/></xsl:variable>
+			<xsl:variable name="cols"><xsl:value-of select="$cells div $rows"/></xsl:variable>
+			<xsl:variable name="numcols">
+			<xsl:choose>
+					<xsl:when test="child::table:table-column/@table:number-columns-repeated">
+							<xsl:value-of select="number(table:table-column/@table:number-columns-repeated+1)"/>
+					</xsl:when>
+					<xsl:otherwise >
+							<xsl:value-of select="$cols"/>
+					</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+		<xsl:element name="tgroup">
+			<xsl:attribute name="cols">
+						<xsl:value-of select="$numcols"/>
+			</xsl:attribute>	
+			<xsl:call-template name="colspec"><xsl:with-param name="left" select="1" /></xsl:call-template>
+				<xsl:apply-templates/>
+		</xsl:element>
+</xsl:template>
+
+
+
+<xsl:template name="colspec">
+	<xsl:param name="left"/>
+	<xsl:if test="number($left &lt; ( table:table-column/@table:number-columns-repeated +2)  )">
+			<xsl:element name="colspec">
+				<xsl:attribute name="colnum"><xsl:value-of select="$left"/></xsl:attribute>
+				<xsl:attribute name="colname">c<xsl:value-of select="$left"/></xsl:attribute>
+			</xsl:element>
+			<xsl:call-template name="colspec"><xsl:with-param name="left" select="$left+1" /></xsl:call-template>
+	</xsl:if>
+</xsl:template>
+
+
+
+<xsl:template match="table:table-column">
+		<xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="table:table-header-rows">
+	<thead>
+		<xsl:apply-templates/>
+	</thead>	
+</xsl:template>
+
+<xsl:template match="table:table-header-rows/table:table-row">
+	<row>
+		<xsl:apply-templates />
+	</row>
+</xsl:template>
+
+<xsl:template match="table:table/table:table-row">
+	<xsl:if test="not(preceding-sibling::table:table-row)">
+		<xsl:text disable-output-escaping="yes">&lt;tbody&gt;</xsl:text>
+	</xsl:if>
+	<row>
+		<xsl:apply-templates />
+	</row>
+		<xsl:if test="not(following-sibling::table:table-row)">
+		<xsl:text disable-output-escaping="yes">&lt;/tbody&gt;</xsl:text>
+	</xsl:if>
+</xsl:template>
+
+<xsl:template match="table:table-cell">
+ <xsl:element name="entry">
+ 		<xsl:if test="@table:number-columns-spanned >'1'">
+			<xsl:attribute name="namest"><xsl:value-of select="concat('c',count(preceding-sibling::table:table-cell[not(@table:number-columns-spanned)]) +sum(preceding-sibling::table:table-cell/@table:number-columns-spanned)+1)"/></xsl:attribute>
+			<xsl:attribute name="nameend"><xsl:value-of select="concat('c',count(preceding-sibling::table:table-cell[not(@table:number-columns-spanned)]) +sum(preceding-sibling::table:table-cell/@table:number-columns-spanned)+ @table:number-columns-spanned)"/></xsl:attribute>
+		</xsl:if>
+		<xsl:apply-templates />
+	</xsl:element>
+</xsl:template>
+
+<xsl:template match="text:p">
+<xsl:choose>
+	<xsl:when test="@text:style-name='Table'">
+	</xsl:when>
+	<xsl:otherwise>
+		<para>		
+			<xsl:apply-templates/>
+		</para>
+	</xsl:otherwise>
+</xsl:choose>
+</xsl:template>
+
+<xsl:template match="text:unordered-list">
+	<xsl:if test="@text:style-name='Var List'">
+		<variablelist>
+			<xsl:apply-templates/>
+		</variablelist>
+	</xsl:if>
+	<xsl:if test="@text:style-name='UnOrdered List'">
+	<itemizedlist>
+		<title></title>
+		<xsl:apply-templates/>
+	</itemizedlist>
+	</xsl:if>
+</xsl:template>
+
+<xsl:template match="text:list-item">
+	<xsl:if test="parent::text:unordered-list/@text:style-name='Var List'">
+		<varlistentry>
+			<xsl:for-each select="text:p[@text:style-name='VarList Term']">
+						<xsl:apply-templates select="."/>
+			</xsl:for-each>
+		</varlistentry>
+	</xsl:if>
+	<xsl:if test="not(parent::text:unordered-list/@text:style-name='Var List')">
+		<listitem>
+			<xsl:apply-templates/>
+		</listitem>
+	</xsl:if>
+</xsl:template>
+
+
+
+
+
+<xsl:template match="dc:title">
+</xsl:template>
+
+<xsl:template match="dc:description">
+	<abstract><para>
+		<xsl:apply-templates/>
+		</para>
+	</abstract>
+</xsl:template>
+
+<xsl:template match="dc:subject">
+</xsl:template>
+
+
+<xsl:template match="meta:generator">
+</xsl:template>
+
+<xsl:template match="draw:plugin">
+<xsl:element name="audioobject">
+	<xsl:attribute name="fileref">
+		<xsl:value-of select="@xlink:href"/>
+	</xsl:attribute>
+	<xsl:attribute name="width">
+	</xsl:attribute>
+</xsl:element>
+</xsl:template>
+
+<xsl:template match="text:footnote">
+	<footnote>
+		<xsl:apply-templates/>
+	</footnote>
+</xsl:template>
+
+<xsl:template match="text:footnote-body">
+		<xsl:apply-templates/>
+</xsl:template>
+
+
+
+<xsl:template match="draw:image">
+<xsl:choose>
+	<xsl:when test="parent::text:p[@text:style-name='Mediaobject']">
+		<xsl:element name="imageobject">
+			<xsl:element name="imagedata">
+			<xsl:attribute name="fileref">
+				<xsl:value-of select="@xlink:href"/>
+			</xsl:attribute>
+			</xsl:element>
+			<xsl:element name="caption">
+				<xsl:value-of select="."/>
+			</xsl:element>
+		</xsl:element>
+	</xsl:when>
+	<xsl:otherwise>
+		<xsl:element name="inlinegraphic">
+			<xsl:attribute name="fileref">
+				<xsl:value-of select="@xlink:href"/>
+			</xsl:attribute>
+			<xsl:attribute name="width"></xsl:attribute>
+		</xsl:element>
+	</xsl:otherwise>
+</xsl:choose>
+</xsl:template>
+
+
+
+
+
+<xsl:template match="text:span">
+
+	<xsl:if test="./@text:style-name='GuiMenu'">
+		<xsl:element name="guimenu">
+			<xsl:value-of select="."/>	
+		</xsl:element>
+	</xsl:if>
+	<xsl:if test="./@text:style-name='GuiSubMenu'">
+		<xsl:element name="guisubmenu">
+			<xsl:value-of select="."/>	
+		</xsl:element>
+	</xsl:if>
+		<xsl:if test="@text:style-name='GuiMenuItem'">
+		<xsl:element name="guimenuitem">
+			<xsl:value-of select="."/>	
+		</xsl:element>
+	</xsl:if>
+	<xsl:if test="@text:style-name='GuiButton'">
+		<xsl:element name="guibutton">
+			<xsl:value-of select="."/>	
+		</xsl:element>
+	</xsl:if>
+		<xsl:if test="@text:style-name='GuiButton'">
+		<xsl:element name="guibutton">
+			<xsl:value-of select="."/>	
+		</xsl:element>
+	</xsl:if>
+	<xsl:if test="@text:style-name='GuiLabel'">
+		<xsl:element name="guilabel">
+			<xsl:value-of select="."/>	
+		</xsl:element>
+	</xsl:if>
+	<xsl:if test="@text:style-name='Emphasis'">
+		<xsl:element name="emphasis">
+			<xsl:value-of select="."/>	
+		</xsl:element>
+	</xsl:if>
+	<xsl:if test="@text:style-name='FileName'">
+		<xsl:element name="filename">
+			<xsl:value-of select="."/>	
+		</xsl:element>
+	</xsl:if>
+	<xsl:if test="@text:style-name='Application'">
+		<xsl:element name="application">
+			<xsl:value-of select="."/>	
+		</xsl:element>
+	</xsl:if>
+	<xsl:if test="@text:style-name='Command'">
+		<command>
+			<xsl:apply-templates/>
+		</command>
+	</xsl:if>
+	<xsl:if test="@text:style-name='SubScript'">
+		<subscript>
+			<xsl:apply-templates/>
+		</subscript>
+	</xsl:if>
+	<xsl:if test="@text:style-name='SuperScript'">
+		<superscript>
+			<xsl:apply-templates/>
+		</superscript>
+	</xsl:if>
+	<xsl:if test="@text:style-name='SystemItem'">
+		<systemitem>
+			<xsl:apply-templates/>
+		</systemitem>
+	</xsl:if>
+	<xsl:if test="@text:style-name='ComputerOutput'">
+		<computeroutput>
+			<xsl:apply-templates/>
+		</computeroutput>
+	</xsl:if>
+	<xsl:if test="@text:style-name='Highlight'">
+		<highlight>
+			<xsl:apply-templates/>
+		</highlight>
+	</xsl:if>
+		<xsl:if test="@text:style-name='KeyCap'">
+		<keycap>
+			<xsl:apply-templates/>
+		</keycap>
+	</xsl:if>
+	<xsl:if test="@text:style-name='KeySym'">
+		<xsl:element name="keysym">
+			<xsl:apply-templates/>
+		</xsl:element>
+	</xsl:if>
+	<xsl:if test="@text:style-name='KeyCombo'">
+		<keycombo>
+			<xsl:apply-templates/>
+		</keycombo>
+	</xsl:if>
+</xsl:template>
+
+
+<xsl:template match="text:a">
+	<xsl:choose>
+		<xsl:when test="contains(@xlink:href,'://')">
+			<xsl:element name="ulink">
+				<xsl:attribute name="url">
+					<xsl:value-of select="@xlink:href"/>
+				</xsl:attribute>
+				<xsl:apply-templates/>
+			</xsl:element>
+		</xsl:when>
+		<xsl:when test="not(contains(@xlink:href,'#'))">
+			<xsl:element name="olink">
+				<xsl:attribute name="targetdocent">
+					<xsl:value-of select="@xlink:href"/>
+				</xsl:attribute>
+				<xsl:apply-templates/>
+			</xsl:element>
+		</xsl:when>
+		<xsl:otherwise>
+		<xsl:variable name="linkvar" select="substring-after(@xlink:href,'#')"/>
+			<xsl:element name="link">
+				<xsl:attribute name="linkend">
+					<xsl:value-of select="substring-before($linkvar,'%')"/>	
+				</xsl:attribute>
+				<xsl:apply-templates/>
+			</xsl:element>
+		</xsl:otherwise>
+	</xsl:choose>
+</xsl:template>
+
+
+</xsl:stylesheet>
\ No newline at end of file
diff --git a/assets/xml/xmerge/downloads/sofftodocbookheadings.xsl b/assets/xml/xmerge/downloads/sofftodocbookheadings.xsl
new file mode 100644
index 0000000..dd6345c
--- /dev/null
+++ b/assets/xml/xmerge/downloads/sofftodocbookheadings.xsl
@@ -0,0 +1,844 @@
+<?xml version='1.0' encoding="UTF-8"?>
+<!-- #  The Contents of this file are made available subject to the terms of
+ #  either of the following licenses
+ #
+ #         - GNU Lesser General Public License Version 2.1
+ #         - Sun Industry Standards Source License Version 1.1
+ #
+ #  Sun Microsystems Inc., October, 2000
+ #
+ #  GNU Lesser General Public License Version 2.1
+ #  =============================================
+ #  Copyright 2000 by Sun Microsystems, Inc.
+ #  901 San Antonio Road, Palo Alto, CA 94303, USA
+ #
+ #  This library is free software; you can redistribute it and/or
+ #  modify it under the terms of the GNU Lesser General Public
+ #  License version 2.1, as published by the Free Software Foundation.
+ #
+ #  This library is distributed in the hope that it will be useful,
+ #  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ #  Lesser General Public License for more details.
+ #
+ #  You should have received a copy of the GNU Lesser General Public
+ #  License along with this library; if not, write to the Free Software
+ #  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ #  MA  02111-1307  USA
+ #
+ #
+ #  Sun Industry Standards Source License Version 1.1
+ #  =================================================
+ #  The contents of this file are subject to the Sun Industry Standards
+ #  Source License Version 1.1 (the "License"); You may not use this file
+ #  except in compliance with the License. You may obtain a copy of the
+ #  License at http://www.openoffice.org/license.html.
+ #
+ #  Software provided under this License is provided on an "AS IS" basis,
+ #  WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ #  WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ #  MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ #  See the License for the specific provisions governing your rights and
+ #  obligations concerning the Software.
+ #
+ #  The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ #
+ #  Copyright: 2000 by Sun Microsystems, Inc.
+ #
+ #  All Rights Reserved.
+ #
+ #  Contributor(s): _______________________________________
+ #
+ #-->
+<xsl:stylesheet version="1.0" xmlns:style="http://openoffice.org/2000/style" xmlns:text="http://openoffice.org/2000/text" xmlns:office="http://openoffice.org/2000/office" xmlns:table="http://openoffice.org/2000/table" xmlns:draw="http://openoffice.org/2000/drawing" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="http://openoffice.org/2000/meta" xmlns:number="http://openoffice.org/2000/datastyl [...]
+<xsl:output method="xml" indent="yes" omit-xml-declaration="no"  />
+<!--<xsl:output method="xml" version="1.0" encoding="UTF-8" doctype-public="-//Sun Microsystems//DTD Simplified DocBook XML V1.0CR2-Based SupportDoc Subset
+V1.0//EN" doctype-system="file:///e:/temp/dtd/docbookx.dtd" />-->
+
+
+
+<xsl:key name='headchildren' match="text:p |table:table | text:span | text:ordered-list | office:annotation | text:unordered-list | text:footnote | text:a | text:list-item | draw:plugin | draw:text-box | text:footnote-body | text:section"
+   use="generate-id((..|preceding-sibling::text:h[@text:level='1']|preceding-sibling::text:h[@text:level='2']|preceding-sibling::text:h[@text:level='3']|preceding-sibling::text:h[@text:level='4']|preceding-sibling::text:h[@text:level='5'])[last()])"/>
+
+<xsl:key name="children" match="text:h[@text:level='2']"
+   use="generate-id(preceding-sibling::text:h[@text:level='1'][1])"/>
+
+<xsl:key name="children" match="text:h[@text:level='3']"
+   use="generate-id(preceding-sibling::text:h[@text:level='2' or @text:level='1'][1])"/>
+
+<xsl:key name="children" match="text:h[@text:level='4']"
+   use="generate-id(preceding-sibling::text:h[@text:level='3' or @text:level='2' or @text:level='1'][1])"/>
+
+<xsl:key name="children" match="text:h[@text:level='5']"
+   use="generate-id(preceding-sibling::text:h[@text:level='4' or @text:level='3' or @text:level='2' or @text:level='1'][1])"/>
+
+
+<xsl:template match="text:h[@text:level='1']">
+<xsl:choose>
+	<xsl:when test=".='Abstract'">
+		<abstract>
+			<xsl:apply-templates select="key('headchildren', generate-id())"/>
+     			<xsl:apply-templates select="key('children', generate-id())"/>
+		</abstract>
+	</xsl:when>
+	<xsl:otherwise>
+		<xsl:call-template name="make-section">
+			<xsl:with-param name="current" select="@text:level"/>
+				<xsl:with-param name="prev" select="1"/>
+		</xsl:call-template>
+		<!--<sect1>
+   			  <title>
+     				  <xsl:apply-templates/>
+     			</title>
+     				<xsl:apply-templates select="key('headchildren', generate-id())"/>
+     			<xsl:apply-templates select="key('children', generate-id())"/>
+   		</sect1>-->
+	</xsl:otherwise>
+</xsl:choose>
+   
+</xsl:template>
+
+<xsl:template match="text:h[@text:level='2'] | text:h[@text:level='3']| text:h[@text:level='4'] | text:h[@text:level='5']">
+<xsl:variable name="level" select="@text:level"></xsl:variable>
+<xsl:call-template name="make-section">
+	<xsl:with-param name="current" select="$level"/>
+	<xsl:with-param name="prev" select="preceding-sibling::text:h[@text:level &lt; $level][1]/@text:level "/>
+</xsl:call-template>
+
+</xsl:template>
+
+<xsl:template name="make-section">
+	<xsl:param name="current"/>
+	<xsl:param name="prev"/>
+	<xsl:choose>
+		<xsl:when test="$current &gt; $prev+1">
+			<xsl:text disable-output-escaping="yes">&lt;sect</xsl:text><xsl:value-of select="$prev +1"/><xsl:text disable-output-escaping="yes">&gt;</xsl:text>
+			<title>
+		    	</title>
+			<xsl:call-template name="make-section">
+				<xsl:with-param name="current" select="$current"/>
+				<xsl:with-param name="prev" select="$prev +1"/>
+			</xsl:call-template>
+		<xsl:text disable-output-escaping="yes">&lt;/sect</xsl:text><xsl:value-of select="$prev +1 "/><xsl:text disable-output-escaping="yes">&gt;</xsl:text>
+		</xsl:when>
+		
+		<xsl:otherwise>
+			<xsl:text disable-output-escaping="yes">&lt;sect</xsl:text><xsl:value-of select="$current"/><xsl:text disable-output-escaping="yes">&gt;</xsl:text>
+					<title>
+      						 <xsl:apply-templates/>
+    					</title>
+				 <xsl:apply-templates select="key('headchildren', generate-id())"/>
+				    <xsl:apply-templates select="key('children', generate-id())"/>
+			<xsl:text disable-output-escaping="yes">&lt;/sect</xsl:text><xsl:value-of select="$current"/><xsl:text disable-output-escaping="yes">&gt;</xsl:text>
+		</xsl:otherwise>
+	</xsl:choose>
+</xsl:template>
+
+
+<xsl:template match="text:p">
+		<para>
+			  <xsl:apply-templates/>
+		</para>
+</xsl:template>
+
+
+
+<xsl:template match="/office:document">
+	<article>
+		<xsl:attribute name="lang"><xsl:value-of select="/office:document/office:meta/dc:language"/>
+		</xsl:attribute>
+		<xsl:apply-templates />
+	</article>
+</xsl:template>
+
+<xsl:template match="office:meta">
+	<xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="text:ordered-list">
+	<orderedlist>
+		<xsl:apply-templates/>
+	</orderedlist>
+</xsl:template>
+
+
+
+<xsl:template match="meta:editing-cycles">
+</xsl:template>
+
+<xsl:template match="meta:user-defined">
+</xsl:template>
+
+<xsl:template match="meta:editing-duration">
+</xsl:template>
+
+<xsl:template match="dc:language">
+</xsl:template>
+
+<xsl:template match="dc:date">
+	<!--<pubdate>
+		<xsl:value-of select="substring-before(.,'T')"/>
+	</pubdate>-->
+</xsl:template>
+
+<xsl:template match="meta:creation-date">
+</xsl:template>
+
+<xsl:template match="office:body">
+<xsl:apply-templates select="key('headchildren', generate-id())"/>
+   <xsl:apply-templates select="text:h[@text:level='1']"/>
+	<!--<xsl:apply-templates/>-->
+</xsl:template>
+
+<xsl:template match="office:styles">
+	<xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="office:script">
+</xsl:template>
+
+
+<xsl:template match="office:settings">
+</xsl:template>
+
+<xsl:template match="office:font-decls">
+</xsl:template>
+
+<xsl:template match="text:section">
+<xsl:choose>
+	<xsl:when test="@text:name='ArticleInfo'">
+		<articleinfo>
+			<title><xsl:value-of select="text:p[@text:style-name='Document Title']"/></title>
+			<subtitle><xsl:value-of select="text:p[@text:style-name='Document SubTitle']"/></subtitle>
+			<edition><xsl:value-of select="text:p/text:variable-set[@text:name='articleinfo.edition']"/></edition>
+			<xsl:for-each select="text:p/text:variable-set[substring-after(@text:name,'articleinfo.releaseinfo')]">
+				<releaseinfo>
+					<xsl:value-of select="."/>
+				</releaseinfo>
+			</xsl:for-each>
+			<xsl:call-template name="ArticleInfo"><xsl:with-param name="level" select="0"/></xsl:call-template>
+	
+		</articleinfo>
+	</xsl:when>
+	<xsl:when test="@text:name='Abstract'">
+		<abstract>
+			<xsl:apply-templates/>
+		</abstract>
+	</xsl:when>
+	<xsl:when test="@text:name='Appendix'">
+		<appendix>
+			<xsl:apply-templates/>
+		</appendix>
+	</xsl:when>
+	<xsl:otherwise>
+		<xsl:variable name="sectvar"><xsl:text>sect</xsl:text><xsl:value-of select="count(ancestor::text:section)+1"/></xsl:variable>	
+		<xsl:variable name="idvar"><xsl:text> id="</xsl:text><xsl:value-of select="@text:name"/><xsl:text>"</xsl:text></xsl:variable>
+		<xsl:text disable-output-escaping="yes">&lt;</xsl:text><xsl:value-of select="$sectvar"/><xsl:value-of select="$idvar"/><xsl:text  disable-output-escaping="yes">&gt;</xsl:text>
+			<xsl:apply-templates/>
+		<xsl:text disable-output-escaping="yes">&lt;/</xsl:text><xsl:value-of select="$sectvar"/><xsl:text  disable-output-escaping="yes">&gt;</xsl:text>
+	</xsl:otherwise>
+
+
+</xsl:choose>
+</xsl:template>
+
+<xsl:template name="ArticleInfo">
+	<xsl:param name="level"/>
+	<xsl:variable name="author"><xsl:value-of select="concat('articleinfo.author_','', $level)"/></xsl:variable>
+	<xsl:if test="text:p/text:variable-set[contains(@text:name, $author )]">
+		<xsl:call-template name="Author"><xsl:with-param name="AuthorLevel" select="0"/></xsl:call-template>
+		<xsl:call-template name="Copyright"><xsl:with-param name="CopyrightLevel" select="0"/></xsl:call-template>	
+	</xsl:if>	
+</xsl:template>
+
+<xsl:template name="Copyright">
+	<xsl:param name="CopyrightLevel"/>
+	
+	<xsl:variable name="Copyright"><xsl:value-of select="concat('articleinfo.copyright_','', $CopyrightLevel)"/></xsl:variable>
+	
+	<xsl:if test="text:p/text:variable-set[contains(@text:name,$Copyright)]">
+		<copyright>
+			<xsl:call-template name="Year">
+				<xsl:with-param name="CopyrightLevel" select="$CopyrightLevel"/>
+				<xsl:with-param name="YearlLevel" select="0"/>
+			</xsl:call-template>
+			<xsl:call-template name="Holder">
+				<xsl:with-param name="CopyrightLevel" select="$CopyrightLevel"/>
+				<xsl:with-param name="HolderlLevel" select="0"/>
+
+			</xsl:call-template>
+		</copyright>
+	</xsl:if>
+</xsl:template>
+
+
+<xsl:template name="Year">
+	<xsl:param name="CopyrightLevel"/>
+	<xsl:param name="YearLevel"/>
+	<xsl:variable name="Copyright"><xsl:value-of select="concat('articleinfo.copyright_','', $CopyrightLevel)"/></xsl:variable>
+<xsl:variable name="Year"><xsl:value-of select="concat($Copyright,'',concat('.year_','',$YearLevel))"/></xsl:variable>
+
+	<xsl:if test="text:p/text:variable-set[@text:name=$Year]">
+		<orgname>
+			<xsl:value-of select="text:p/text:variable-set[@text:name=$Year]"/>
+		</orgname>
+	</xsl:if>
+</xsl:template>
+
+
+<xsl:template name="Holder">
+	<xsl:param name="CopyrightLevel"/>
+	<xsl:param name="HolderLevel"/>
+	<xsl:variable name="Copyright"><xsl:value-of select="concat('articleinfo.copyright_','', $CopyrightLevel)"/></xsl:variable>
+<xsl:variable name="Holder"><xsl:value-of select="concat($Copyright,'',concat('.holder_','',$HolderLevel))"/></xsl:variable>
+
+	<xsl:if test="text:p/text:variable-set[@text:name=$Holder]">
+		<orgname>
+			<xsl:value-of select="text:p/text:variable-set[@text:name=$Holder]"/>
+		</orgname>
+	</xsl:if>
+</xsl:template>
+
+
+
+<xsl:template name="Author">
+	<xsl:param name="AuthorLevel"/>
+	<xsl:variable name="Author"><xsl:value-of select="concat('articleinfo.author_','', $AuthorLevel)"/></xsl:variable>	
+	<xsl:if test="text:p/text:variable-set[contains(@text:name, $Author )]">
+		<author>
+			<xsl:call-template name="Surname"><xsl:with-param name="AuthorLevel" select="$AuthorLevel"/><xsl:with-param name="SurnameLevel" select="0"/></xsl:call-template>
+			<xsl:call-template name="Firstname"><xsl:with-param name="AuthorLevel" select="$AuthorLevel"/><xsl:with-param name="FirstnameLevel" select="0"/></xsl:call-template>
+			<xsl:call-template name="Affiliation"><xsl:with-param name="AuthorLevel" select="$AuthorLevel"/><xsl:with-param name="AffilLevel" select="0"/></xsl:call-template>
+		</author>
+		<xsl:call-template name="Author"><xsl:with-param name="AuthorLevel" select="$AuthorLevel+1"/></xsl:call-template>
+	</xsl:if>	
+</xsl:template>
+
+
+<xsl:template name="Surname">
+	<xsl:param name="AuthorLevel"/>
+	<xsl:param name="SurnameLevel"/>
+	<xsl:variable name="Author"><xsl:value-of select="concat('articleinfo.author_','', $AuthorLevel)"/></xsl:variable>
+	<xsl:variable name="Surname"><xsl:value-of select="concat($Author,'',concat('.surname_','',$SurnameLevel))"/></xsl:variable>
+	<xsl:if test="text:p/text:variable-set[@text:name=$Surname]">
+		<surname>
+			<xsl:value-of select="text:p/text:variable-set[@text:name=$Surname]"/>
+		</surname>
+		<xsl:call-template name="Surname"><xsl:with-param name="AuthorLevel" select="$AuthorLevel"/>
+		<xsl:with-param name="SurnameLevel" select="SurnameLevel+1"/>
+		</xsl:call-template>
+
+	</xsl:if>
+</xsl:template>
+
+
+
+
+<xsl:template name="Firstname">
+	<xsl:param name="AuthorLevel"/>
+	<xsl:param name="FirstnameLevel"/>
+	<xsl:variable name="Author"><xsl:value-of select="concat('articleinfo.author_','', $AuthorLevel)"/></xsl:variable>
+	<xsl:variable name="Firstname"><xsl:value-of select="concat($Author,'',concat('.firstname_','',$FirstnameLevel))"/></xsl:variable>
+	<xsl:if test="text:p/text:variable-set[@text:name=$Firstname]">
+		<firstname>
+			<xsl:value-of select="text:p/text:variable-set[@text:name=$Firstname]"/>
+		</firstname>
+		<xsl:call-template name="Surname">
+			<xsl:with-param name="AuthorLevel" select="$AuthorLevel"/>
+			<xsl:with-param name="FirstnameLevel" select="FirstnameLevel+1"/>
+		</xsl:call-template>
+	</xsl:if>
+</xsl:template>
+
+
+
+<xsl:template name="Affiliation">
+	<xsl:param name="AuthorLevel"/>
+	<xsl:param name="AffilLevel"/>
+	<xsl:variable name="Author"><xsl:value-of select="concat('articleinfo.author_','', $AuthorLevel)"/></xsl:variable>
+	<xsl:variable name="Affil"><xsl:value-of select="concat($Author,'',concat('.affiliation_','',$AffilLevel))"/></xsl:variable>
+	<xsl:if test="text:p/text:variable-set[contains(@text:name,$Affil)]">
+		<affiliation>
+			<xsl:call-template name="Orgname">
+				<xsl:with-param name="AuthorLevel" select="$AuthorLevel"/>
+				<xsl:with-param name="AffilLevel" select="$AffilLevel"/><xsl:with-param name="OrgLevel" select="0"/>
+			</xsl:call-template>
+			<xsl:call-template name="Address">
+				<xsl:with-param name="AuthorLevel" select="$AuthorLevel"/>
+				<xsl:with-param name="AffilLevel" select="$AffilLevel"/><xsl:with-param name="AddressLevel" select="0"/>
+
+			</xsl:call-template>
+		</affiliation>
+	</xsl:if>
+</xsl:template>
+
+<xsl:template name="Orgname">
+	<xsl:param name="AuthorLevel"/>
+	<xsl:param name="AffilLevel"/>
+	<xsl:param name="OrgLevel"/>
+
+	<xsl:variable name="Author"><xsl:value-of select="concat('articleinfo.author_','', $AuthorLevel)"/></xsl:variable>
+<xsl:variable name="Affil"><xsl:value-of select="concat($Author,'',concat('.affiliation_','',$AffilLevel))"/></xsl:variable>
+	<xsl:variable name="Org"><xsl:value-of select="concat($Affil,'',concat('.orgname_','',$OrgLevel))"/></xsl:variable>
+
+	<xsl:if test="text:p/text:variable-set[@text:name=$Org]">
+		<orgname>
+			<xsl:value-of select="text:p/text:variable-set[@text:name=$Org]"/>
+		</orgname>
+	</xsl:if>
+</xsl:template>
+
+<xsl:template name="Address">
+	<xsl:param name="AuthorLevel"/>
+	<xsl:param name="AffilLevel"/>
+	<xsl:param name="AddressLevel"/>
+
+	<xsl:variable name="Author"><xsl:value-of select="concat('articleinfo.author_','', $AuthorLevel)"/></xsl:variable>
+<xsl:variable name="Affil"><xsl:value-of select="concat($Author,'',concat('.affiliation_','',$AffilLevel))"/></xsl:variable>
+	<xsl:variable name="Address"><xsl:value-of select="concat($Affil,'',concat('.address_','',$AddressLevel))"/></xsl:variable>
+
+	<xsl:if test="text:p/text:variable-set[@text:name=$Address]">
+		<address>
+			<xsl:value-of select="text:p/text:variable-set[@text:name=$Address]"/>
+		</address>
+	</xsl:if>
+</xsl:template>
+
+
+
+
+<xsl:template match="text:p[@text:style-name='Document Title']">
+</xsl:template>
+
+<xsl:template match="text:p[@text:style-name='Document SubTitle']">
+</xsl:template>
+
+
+<xsl:template match="text:p[@text:style-name='Section Title']">
+	<title>
+		<xsl:apply-templates/>
+	</title>
+</xsl:template>
+
+<xsl:template match="text:p[@text:style-name='Appendix Title']">
+	<title>
+		<xsl:apply-templates/>
+	</title>
+</xsl:template>
+
+
+<xsl:template match="text:p[@text:style-name='VarList Item']">
+	<xsl:if test="not(preceding-sibling::text:p[@text:style-name='VarList Item'])">
+		<xsl:text disable-output-escaping="yes">&lt;listitem&gt;</xsl:text>
+	</xsl:if>
+		<para>
+			<xsl:apply-templates/>
+		</para>
+	<xsl:if test="not(following-sibling::text:p[@text:style-name='VarList Item'])">
+		<xsl:text disable-output-escaping="yes">&lt;/listitem&gt;</xsl:text>
+	</xsl:if>
+</xsl:template>
+
+<xsl:template match="text:p[@text:style-name='VarList Term']">
+	<term>
+			<xsl:apply-templates/>
+	</term>
+</xsl:template>
+
+<xsl:template match="text:p[@text:style-name='Section1 Title']">
+	<title>
+		<xsl:apply-templates/>
+	</title>
+</xsl:template>
+
+
+<xsl:template match="text:p[@text:style-name='Section2 Title']">
+	<title>
+		<xsl:apply-templates/>
+	</title>
+</xsl:template>
+
+
+<xsl:template match="text:p[@text:style-name='Section3 Title']">
+	<title>
+		<xsl:apply-templates/>
+	</title>
+</xsl:template>
+
+<xsl:template match="text:footnote-citation">
+</xsl:template>
+
+<xsl:template match="text:p[@text:style-name='Mediaobject']">
+	<mediaobject>
+		<xsl:apply-templates/>
+	</mediaobject>
+</xsl:template>
+
+<xsl:template match="office:annotation/text:p">
+	<note>
+	<remark>
+		<xsl:apply-templates/>
+	</remark>
+	</note>
+</xsl:template>
+
+<!--<xsl:template match="meta:initial-creator">
+	<author>
+	<xsl:apply-templates />
+		</author>
+</xsl:template>-->
+
+<xsl:template match="table:table"> 
+	<xsl:choose>
+		<xsl:when test="following-sibling::text:p[@text:style-name='Table']">
+			<table frame="all">
+				 <xsl:attribute name="id">
+					<xsl:value-of select="@table:name"/>
+				</xsl:attribute>
+				<title>
+					<xsl:value-of select="following-sibling::text:p[@text:style-name='Table']"/>
+				</title>
+				<xsl:call-template name="generictable"/>
+			</table>
+		</xsl:when>
+		<xsl:otherwise>
+			<informaltable frame="all">
+				<xsl:call-template name="generictable"/>
+			</informaltable>
+		</xsl:otherwise>
+	</xsl:choose>
+</xsl:template>
+
+
+<xsl:template name="generictable">
+			<xsl:variable name="cells" select="count(descendant::table:table-cell)" ></xsl:variable>
+			<xsl:variable name="rows"><xsl:value-of select="count(descendant::table:table-row) "/></xsl:variable>
+			<xsl:variable name="cols"><xsl:value-of select="$cells div $rows"/></xsl:variable>
+			<xsl:variable name="numcols">
+			<xsl:choose>
+					<xsl:when test="child::table:table-column/@table:number-columns-repeated">
+							<xsl:value-of select="number(table:table-column/@table:number-columns-repeated+1)"/>
+					</xsl:when>
+					<xsl:otherwise >
+							<xsl:value-of select="$cols"/>
+					</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+		<xsl:element name="tgroup">
+			<xsl:attribute name="cols">
+						<xsl:value-of select="$numcols"/>
+			</xsl:attribute>	
+			<xsl:call-template name="colspec"><xsl:with-param name="left" select="1" /></xsl:call-template>
+				<xsl:apply-templates/>
+		</xsl:element>
+</xsl:template>
+
+
+
+<xsl:template name="colspec">
+	<xsl:param name="left"/>
+	<xsl:if test="number($left &lt; ( table:table-column/@table:number-columns-repeated +2)  )">
+			<xsl:element name="colspec">
+				<xsl:attribute name="colnum"><xsl:value-of select="$left"/></xsl:attribute>
+				<xsl:attribute name="colname">c<xsl:value-of select="$left"/></xsl:attribute>
+			</xsl:element>
+			<xsl:call-template name="colspec"><xsl:with-param name="left" select="$left+1" /></xsl:call-template>
+	</xsl:if>
+</xsl:template>
+
+
+
+<xsl:template match="table:table-column">
+		<xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="table:table-header-rows">
+	<thead>
+		<xsl:apply-templates/>
+	</thead>	
+</xsl:template>
+
+<xsl:template match="table:table-header-rows/table:table-row">
+	<row>
+		<xsl:apply-templates />
+	</row>
+</xsl:template>
+
+<xsl:template match="table:table/table:table-row">
+	<xsl:if test="not(preceding-sibling::table:table-row)">
+		<xsl:text disable-output-escaping="yes">&lt;tbody&gt;</xsl:text>
+	</xsl:if>
+	<row>
+		<xsl:apply-templates />
+	</row>
+		<xsl:if test="not(following-sibling::table:table-row)">
+		<xsl:text disable-output-escaping="yes">&lt;/tbody&gt;</xsl:text>
+	</xsl:if>
+</xsl:template>
+
+<xsl:template match="table:table-cell">
+ <xsl:element name="entry">
+ 		<xsl:if test="@table:number-columns-spanned >'1'">
+			<xsl:attribute name="namest"><xsl:value-of select="concat('c',count(preceding-sibling::table:table-cell[not(@table:number-columns-spanned)]) +sum(preceding-sibling::table:table-cell/@table:number-columns-spanned)+1)"/></xsl:attribute>
+			<xsl:attribute name="nameend"><xsl:value-of select="concat('c',count(preceding-sibling::table:table-cell[not(@table:number-columns-spanned)]) +sum(preceding-sibling::table:table-cell/@table:number-columns-spanned)+ @table:number-columns-spanned)"/></xsl:attribute>
+		</xsl:if>
+		<xsl:apply-templates />
+	</xsl:element>
+</xsl:template>
+
+<xsl:template match="text:p">
+<xsl:choose>
+	<xsl:when test="@text:style-name='Table'">
+	</xsl:when>
+	<xsl:otherwise>
+		<para>		
+			<xsl:apply-templates/>
+		</para>
+	</xsl:otherwise>
+</xsl:choose>
+</xsl:template>
+
+<xsl:template match="text:unordered-list">
+<xsl:choose>
+	<xsl:when  test="@text:style-name='Var List'">
+		<variablelist>
+			<xsl:apply-templates/>
+		</variablelist>
+	</xsl:when>
+	<xsl:when  test="@text:style-name='UnOrdered List'">
+		<variablelist>
+			<xsl:apply-templates/>
+		</variablelist>
+	</xsl:when>
+	<xsl:otherwise>
+	<itemizedlist>
+		<title></title>
+		<xsl:apply-templates/>
+	</itemizedlist>
+	</xsl:otherwise>
+</xsl:choose>
+</xsl:template>
+
+<xsl:template match="text:list-item">
+	<xsl:if test="parent::text:unordered-list/@text:style-name='Var List'">
+		<varlistentry>
+			<xsl:for-each select="text:p[@text:style-name='VarList Term']">
+						<xsl:apply-templates select="."/>
+			</xsl:for-each>
+		</varlistentry>
+	</xsl:if>
+	<xsl:if test="not(parent::text:unordered-list/@text:style-name='Var List')">
+		<listitem>
+			<xsl:apply-templates/>
+		</listitem>
+	</xsl:if>
+</xsl:template>
+
+
+
+
+
+<xsl:template match="dc:title">
+</xsl:template>
+
+<xsl:template match="dc:description">
+	<abstract><para>
+		<xsl:apply-templates/>
+		</para>
+	</abstract>
+</xsl:template>
+
+<xsl:template match="dc:subject">
+</xsl:template>
+
+
+<xsl:template match="meta:generator">
+</xsl:template>
+
+<xsl:template match="draw:plugin">
+<xsl:element name="audioobject">
+	<xsl:attribute name="fileref">
+		<xsl:value-of select="@xlink:href"/>
+	</xsl:attribute>
+	<xsl:attribute name="width">
+	</xsl:attribute>
+</xsl:element>
+</xsl:template>
+
+<xsl:template match="text:footnote">
+	<footnote>
+		<xsl:apply-templates/>
+	</footnote>
+</xsl:template>
+
+<xsl:template match="text:footnote-body">
+		<xsl:apply-templates/>
+</xsl:template>
+
+
+<xsl:template match="draw:text-box">
+</xsl:template>
+
+
+
+<xsl:template match="draw:image">
+<xsl:choose>
+	<xsl:when test="parent::text:p[@text:style-name='Mediaobject']">
+		<xsl:element name="imageobject">
+			<xsl:element name="imagedata">
+			<xsl:attribute name="fileref">
+				<xsl:value-of select="@xlink:href"/>
+			</xsl:attribute>
+			</xsl:element>
+			<xsl:element name="caption">
+				<xsl:value-of select="."/>
+			</xsl:element>
+		</xsl:element>
+	</xsl:when>
+	<xsl:otherwise>
+		<xsl:element name="inlinegraphic">
+			<xsl:attribute name="fileref">
+				<xsl:value-of select="@xlink:href"/>
+			</xsl:attribute>
+			<xsl:attribute name="width"></xsl:attribute>
+		</xsl:element>
+	</xsl:otherwise>
+</xsl:choose>
+</xsl:template>
+
+
+
+
+
+<xsl:template match="text:span">
+<xsl:choose>
+<xsl:when test="./@text:style-name='GuiMenu'">
+		<xsl:element name="guimenu">
+			<xsl:value-of select="."/>	
+		</xsl:element>
+	</xsl:when>
+	<xsl:when test="./@text:style-name='GuiSubMenu'">
+		<xsl:element name="guisubmenu">
+			<xsl:value-of select="."/>	
+		</xsl:element>
+	</xsl:when>
+		<xsl:when test="@text:style-name='GuiMenuItem'">
+		<xsl:element name="guimenuitem">
+			<xsl:value-of select="."/>	
+		</xsl:element>
+	</xsl:when>
+	<xsl:when test="@text:style-name='GuiButton'">
+		<xsl:element name="guibutton">
+			<xsl:value-of select="."/>	
+		</xsl:element>
+	</xsl:when>
+		<xsl:when test="@text:style-name='GuiButton'">
+		<xsl:element name="guibutton">
+			<xsl:value-of select="."/>	
+		</xsl:element>
+	</xsl:when>
+	<xsl:when test="@text:style-name='GuiLabel'">
+		<xsl:element name="guilabel">
+			<xsl:value-of select="."/>	
+		</xsl:element>
+	</xsl:when>
+	<xsl:when test="@text:style-name='Emphasis'">
+		<xsl:element name="emphasis">
+			<xsl:value-of select="."/>	
+		</xsl:element>
+	</xsl:when>
+	<xsl:when test="@text:style-name='FileName'">
+		<xsl:element name="filename">
+			<xsl:value-of select="."/>	
+		</xsl:element>
+	</xsl:when>
+	<xsl:when test="@text:style-name='Application'">
+		<xsl:element name="application">
+			<xsl:value-of select="."/>	
+		</xsl:element>
+	</xsl:when>
+	<xsl:when test="@text:style-name='Command'">
+		<command>
+			<xsl:apply-templates/>
+		</command>
+	</xsl:when>
+	<xsl:when test="@text:style-name='SubScript'">
+		<subscript>
+			<xsl:apply-templates/>
+		</subscript>
+	</xsl:when>
+	<xsl:when test="@text:style-name='SuperScript'">
+		<superscript>
+			<xsl:apply-templates/>
+		</superscript>
+	</xsl:when>
+	<xsl:when test="@text:style-name='SystemItem'">
+		<systemitem>
+			<xsl:apply-templates/>
+		</systemitem>
+	</xsl:when>
+	<xsl:when test="@text:style-name='ComputerOutput'">
+		<computeroutput>
+			<xsl:apply-templates/>
+		</computeroutput>
+	</xsl:when>
+	<xsl:when test="@text:style-name='Highlight'">
+		<highlight>
+			<xsl:apply-templates/>
+		</highlight>
+	</xsl:when>
+		<xsl:when test="@text:style-name='KeyCap'">
+		<keycap>
+			<xsl:apply-templates/>
+		</keycap>
+	</xsl:when>
+	<xsl:when test="@text:style-name='KeySym'">
+		<xsl:element name="keysym">
+			<xsl:apply-templates/>
+		</xsl:element>
+	</xsl:when>
+	<xsl:when test="@text:style-name='KeyCombo'">
+		<keycombo>
+			<xsl:apply-templates/>
+		</keycombo>
+	</xsl:when>
+	<xsl:otherwise>
+		<xsl:apply-templates/>
+	</xsl:otherwise>
+</xsl:choose>
+	
+</xsl:template>
+
+
+<xsl:template match="text:a">
+	<xsl:choose>
+		<xsl:when test="contains(@xlink:href,'://')">
+			<xsl:element name="ulink">
+				<xsl:attribute name="url">
+					<xsl:value-of select="@xlink:href"/>
+				</xsl:attribute>
+				<xsl:apply-templates/>
+			</xsl:element>
+		</xsl:when>
+		<xsl:when test="not(contains(@xlink:href,'#'))">
+			<xsl:element name="olink">
+				<xsl:attribute name="targetdocent">
+					<xsl:value-of select="@xlink:href"/>
+				</xsl:attribute>
+				<xsl:apply-templates/>
+			</xsl:element>
+		</xsl:when>
+		<xsl:otherwise>
+		<xsl:variable name="linkvar" select="substring-after(@xlink:href,'#')"/>
+			<xsl:element name="link">
+				<xsl:attribute name="linkend">
+					<xsl:value-of select="substring-before($linkvar,'%')"/>	
+				</xsl:attribute>
+				<xsl:apply-templates/>
+			</xsl:element>
+		</xsl:otherwise>
+	</xsl:choose>
+</xsl:template>
+
+
+</xsl:stylesheet>
\ No newline at end of file
diff --git a/assets/xml/xmerge/downloads/xmergesync.zip b/assets/xml/xmerge/downloads/xmergesync.zip
new file mode 100644
index 0000000..326b148
Binary files /dev/null and b/assets/xml/xmerge/downloads/xmergesync.zip differ
diff --git a/assets/xml/xmerge/plugins/images/conversion-ppc2002.jpg b/assets/xml/xmerge/plugins/images/conversion-ppc2002.jpg
new file mode 100644
index 0000000..56565f2
Binary files /dev/null and b/assets/xml/xmerge/plugins/images/conversion-ppc2002.jpg differ
diff --git a/assets/xml/xmerge/plugins/images/conversion-ppc2k.jpg b/assets/xml/xmerge/plugins/images/conversion-ppc2k.jpg
new file mode 100644
index 0000000..b86a64e
Binary files /dev/null and b/assets/xml/xmerge/plugins/images/conversion-ppc2k.jpg differ
diff --git a/assets/xml/xmerge/plugins/images/conversion-sxw.jpg b/assets/xml/xmerge/plugins/images/conversion-sxw.jpg
new file mode 100644
index 0000000..83328ee
Binary files /dev/null and b/assets/xml/xmerge/plugins/images/conversion-sxw.jpg differ
diff --git a/assets/xml/xmerge/plugins/images/formula_pxl.jpg b/assets/xml/xmerge/plugins/images/formula_pxl.jpg
new file mode 100644
index 0000000..957c1f4
Binary files /dev/null and b/assets/xml/xmerge/plugins/images/formula_pxl.jpg differ
diff --git a/assets/xml/xmerge/plugins/images/formula_sxc.jpg b/assets/xml/xmerge/plugins/images/formula_sxc.jpg
new file mode 100644
index 0000000..87e62e3
Binary files /dev/null and b/assets/xml/xmerge/plugins/images/formula_sxc.jpg differ
diff --git a/assets/xml/xmerge/plugins/images/moddoc.jpg b/assets/xml/xmerge/plugins/images/moddoc.jpg
new file mode 100755
index 0000000..71d98c3
Binary files /dev/null and b/assets/xml/xmerge/plugins/images/moddoc.jpg differ
diff --git a/assets/xml/xmerge/plugins/images/mpdbmod.jpg b/assets/xml/xmerge/plugins/images/mpdbmod.jpg
new file mode 100755
index 0000000..fcd546d
Binary files /dev/null and b/assets/xml/xmerge/plugins/images/mpdbmod.jpg differ
diff --git a/assets/xml/xmerge/plugins/images/mpdborig.jpg b/assets/xml/xmerge/plugins/images/mpdborig.jpg
new file mode 100755
index 0000000..6af4382
Binary files /dev/null and b/assets/xml/xmerge/plugins/images/mpdborig.jpg differ
diff --git a/assets/xml/xmerge/plugins/images/origdoc.jpg b/assets/xml/xmerge/plugins/images/origdoc.jpg
new file mode 100755
index 0000000..930fa74
Binary files /dev/null and b/assets/xml/xmerge/plugins/images/origdoc.jpg differ
diff --git a/assets/xml/xmerge/plugins/images/pdbmod.jpg b/assets/xml/xmerge/plugins/images/pdbmod.jpg
new file mode 100755
index 0000000..51c5ca0
Binary files /dev/null and b/assets/xml/xmerge/plugins/images/pdbmod.jpg differ
diff --git a/assets/xml/xmerge/plugins/images/pdborig.jpg b/assets/xml/xmerge/plugins/images/pdborig.jpg
new file mode 100755
index 0000000..c4b6b85
Binary files /dev/null and b/assets/xml/xmerge/plugins/images/pdborig.jpg differ
diff --git a/assets/xml/xmerge/plugins/images/spreadsheetmod.jpg b/assets/xml/xmerge/plugins/images/spreadsheetmod.jpg
new file mode 100755
index 0000000..9a7a3f9
Binary files /dev/null and b/assets/xml/xmerge/plugins/images/spreadsheetmod.jpg differ
diff --git a/assets/xml/xmerge/plugins/images/spreadsheetorig.jpg b/assets/xml/xmerge/plugins/images/spreadsheetorig.jpg
new file mode 100755
index 0000000..8e814b1
Binary files /dev/null and b/assets/xml/xmerge/plugins/images/spreadsheetorig.jpg differ
diff --git a/assets/xml/xmerge/smalldeviceWin.zip b/assets/xml/xmerge/smalldeviceWin.zip
new file mode 100755
index 0000000..f8866ee
Binary files /dev/null and b/assets/xml/xmerge/smalldeviceWin.zip differ
diff --git a/assets/xml/xmerge/xmerge_src.zip b/assets/xml/xmerge/xmerge_src.zip
new file mode 100644
index 0000000..d1df1af
Binary files /dev/null and b/assets/xml/xmerge/xmerge_src.zip differ
diff --git a/assets/xml/xml_specification.pdf b/assets/xml/xml_specification.pdf
new file mode 100644
index 0000000..ac82390
Binary files /dev/null and b/assets/xml/xml_specification.pdf differ
diff --git a/assets/xml/xml_specification_draft.pdf b/assets/xml/xml_specification_draft.pdf
new file mode 100644
index 0000000..ac82390
Binary files /dev/null and b/assets/xml/xml_specification_draft.pdf differ
diff --git a/assets/xml/xmloff.css b/assets/xml/xmloff.css
new file mode 100644
index 0000000..ddb79fb
--- /dev/null
+++ b/assets/xml/xmloff.css
@@ -0,0 +1,70 @@
+
+table.infotable
+{
+    background-color: #ffffff ;
+
+    width: 100% ;
+    border-spacing: 1px ;
+    padding: 4px ;
+}
+
+
+/* Unfortunately, Internet Explorer doesn't know attribute dependent CSS rules,
+so to color the table tops appropriatly, we can't use the following rule:
+
+  table.infotable th[colspan]
+
+Instead, I decided to use 'td' inside 'thead' as a marker for this kind of
+formatting.
+*/
+
+table.infotable thead td
+{
+    color: #ffffff ;
+    background-color: #00315a ;
+
+    text-align: center ;
+    padding: 4px ;
+
+    font-family: arial, helvetica ;
+    font-weight: bold ;
+    font-size: smaller ;
+}
+
+table.infotable th[colspan]
+{
+    color: #ffffff ;
+    background-color: #00315a ;
+
+    /* others inherited from "table.infotable th" below */
+}
+
+table.infotable th
+{
+    color: #00315a ;
+    background-color: #99ccff ;
+
+    text-align: center ;
+    padding: 4px ;
+
+    font-family: arial, helvetica ;
+    font-weight: bold ;
+    font-size: smaller ;
+}
+
+table.infotable td
+{
+    background-color: #f0f0f0 ;
+    vertical-align: top ;
+    padding: 4px ;
+}
+
+p
+{
+    text-align: justify;
+}
+
+dt
+{
+    font-weight: bold
+}
\ No newline at end of file