XSL transformation from 'OpenOffice.org XML' to 'XHTML 1.0'

Abstract
The filter creates strict XHTML 1.0 from the OpenOffice.org XML format, which was the standard XML format of OpenOffice.org 1.x. Since OpenOffice.org 2.0 the default document format changed to the OASIS Open Document Format for Office Applications (OpenDocument). The filter can only be used with OpenDocument in conjunction with a running Office, cp. 'Use without Office (stand-alone).
The XHTML export filter has matured since it's beginning early 2000, were it was first part of a commercial product named StarPortal/Webtop. In conjunction with OpenOffice.org the stylesheets had been open-sourced.
Now as a sample filter, it is an optional installation component of OpenOffice.org 1.x/2.x, installed together with the 'XSLT sample filter' package. Within the Office the filter can be used when choosing the XHTML export from File->Export...
The XHTML transformation is being used for creation of the Developers's Guide of the OpenOffice.org Software Development Kit (SDK) from OpenOffice.org documents.

Use without Office (stand-alone)
The XHTML export filter can be used without an Office to create XHTML files of OpenOffice.org 1.x documents. The filter will NOT work stand-alone with the new default OpenDocument format, but are still working in OpenOffice.org 2.x as the Office offers the functionality to map internally from OpenDocument to the earlier XML format for XSLT filters (cp. Tools->XML Filter Settings).
The filter comprises of a set of XSLT stylesheets and will work in combination of many XML parser and XSLT stylesheet processor. Unfortunately not all, as the filter although based on the XSLT 1.0 standard, takes advantage of the non-standarized node-set function. Therefore it is necessary to choose one of the following XSLT stylesheet processors
Apache Xalan processor
XT processor
or any other XSLT processor supporting the http://exslt.org/common node-set function.
The Apache Xalan processor is being used in the Office by default. It has been bundled with OpenOffice.org together with the Xerces XML parser.

Overview over XSLT stylesheets
All stylesheets can be installed by choosing as optional part of the Office installation ('XSLT sample filter'). They are located <OFFICE_PATH>/share/xslt.
To view them online, you may browse the CVS and choose the 'download' link beyond the latest version of a stylesheet.
Path	Document	Description
common	measure_conversion.xsl	Measure conversions (e.g. inch to cm) usable for all import and export XSLT filter.
export/common	body.xsl	Common mapping mechanisms of elements of languages similar to XHTML (WML, other XML for small devices, et alias)
export/common	table_of_content.xsl	Common mapping mechanisms of tables
export/common/styles	style_collector.xsl	Common mechanisms to flatening the style hierarchy of the OpenOffice.org styles
export/common/styles	style_mapping_css.xsl	Common mapping of OpenOffice.org styles to CSS
export/common/styles	style_mapping_html32.xsl	Common mapping of OpenOffice.org styles to HTML 3.2 (not used any longer, once needed for PALM HTML 3.2 subset)
export/common/table	table.xsl	Common mechanisms to map OpenOffice.org tables to HTML (once shared by XHTML and PALM HTML)
export/common/table	table_cells.xsl	Common mechanisms to map OpenOffice.org table cells to HTML (once shared by XHTML and PALM HTML)
export/common/table	table_columns.xsl	Common mechanisms to map OpenOffice.org table columns to HTML (once shared by XHTML and PALM HTML)
export/common/table	table_rows.xsl	Common mechanisms to map OpenOffice.org table rows to HTML (once shared by XHTML and PALM HTML)
export/xhtml	ooo2xhtml.xsl	The starting stylesheet for XHTML transformations
export/xhtml	body.xsl	Special XHTML mappings of body elements to XHTML
export/xhtml	header.xsl	Special XHTML mappings of header elements to XHTML
export/xhtml	table.xsl	Special XHTML mappings of table elements to XHTML
export/xhtml	master_chapter_numbering.xsl	Special OpenOffice.org Master document mappings (only standalone useable with Java extension s.b.)
export/xhtml	master_document.xsl	Special OpenOffice.org Master document mappings (only standalone useable with Java extension s.b.)
export/xhtml	master_refs_workaround.xsl	Special OpenOffice.org Master document mappings (only standalone useable with Java extension s.b.)
export/xhtml	master_usability_links.xsl	Special OpenOffice.org Master document mappings (only standalone useable with Java extension s.b.)

Add-On Support for Master Documents (stand-alone only)
Aside of the plain XSLT stylesheets some Java extension has been implemented for the transformation of master documents (sxg) to XHTML. Basically the extension triggers a new XSL transformation for each referenced child document that is linked from a master document.
This enables the following features once necessary for the creation of the Development Guide:
If references are being used in a content table the XHTML output references to the created XHTML child documents.
The sequence of numbered chapters of child documents (not aware of their master document by design) are made feasible by parameter for the indent of chapter start of the child document (otherwise all children chapters would start with '1').
It is no longer necessary to unzip the XML files of the (compressed) OpenOffice.org documents. The Java class replaces, if necessary (dependent on the suffix) the path/input URL with a JAR URL.
This add-on is only useable with XT. But as long an - once internal filed - issue for external references in a content table is not fixed, this extension is still useful.
The sources are bundled in a ZIP.

Feedback
Any comment is welcome and should be posted to the XML developer mailing list dev@xml.openoffice.org. For subscription information or archives, see the this project's mailing list section.