Hallo Donaldinho,
Leider wird hierdurch nur eine Kopie der Datei erzeugt. Darüber hinaus würde ich jedoch noch gerne:
- alle office:annotation Tags umbenennen
- alle Tags in allen office:annotation-Knoten durch Ihre Werte (value of) ersetzen. Idealerweise durch underscore voneinander getrennt.
Das sollte reichen:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="office:annotation">
<neueselement>
<xsl:for-each select="//*/text()[normalize-space(.)]">
<xsl:value-of select="."/>
<xsl:if test="position()!=last()">_</xsl:if>
</xsl:for-each>
</neueselement>
</xsl:template>
</xsl:stylesheet>
Mit Saxon-HE 9.2 entsteht der Dokument-Klon mit dem ersetzten office:annotation-Element in der Form:
<neueselement>TEXT _Unbekannter Autor_2009-10-07T19:42:35.01_NOTIZ1_NOTIZ2_NOTIZ3_TEXT</neueselement>
Grüeß,
Thomas