Hallo,
ich versuche aus Inhalte aus XML Quellen in eine OpenOffice content.xml zu kopieren. Dazu habe ich eine OpenOffice Variable erzeugt die mir entsprechend in der content.xml eingefügt wird:
...
<text:variable-set text:name = "hallo" office:value-type = "float" office:value = "1234" style:data-style-name = "N0">1234</text:variable-set>
...
Diese Variable versuche ich nun zu matchen und sie durch Textinhalt aus einer XML Quelle zu ersetzen. Leider funktioniert es so wie ich es versuche nicht. Die Idee ist daß an der Position an der die Variable stand eine for-each Schleife Inhalte einfügt und der Rest der geparsten Datei neu kopiert wird.
XSLT-Stylesheet:
<?xml version="1.0" encoding="iso-8859-1"?>
<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"
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 = "http://purl.org/dc/elements/1.1/"
xmlns:meta = "urn:oasis:names:tc:opendocument:xmlns:meta:1.0"
xmlns:number = "urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"
xmlns:svg = "urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
xmlns:chart = "urn:oasis:names:tc:opendocument:xmlns:chart:1.0"
xmlns:dr3d = "urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0"
xmlns:math = "http://www.w3.org/1998/Math/MathML"
xmlns:form = "urn:oasis:names:tc:opendocument:xmlns:form:1.0"
xmlns:script = "urn:oasis:names:tc:opendocument:xmlns:script:1.0"
xmlns:ooo = "http://openoffice.org/2004/office"
xmlns:ooow = "http://openoffice.org/2004/writer"
xmlns:oooc = "http://openoffice.org/2004/calc"
xmlns:dom = "http://www.w3.org/2001/xml-events"
xmlns:xforms = "http://www.w3.org/2002/xforms"
xmlns:xsd = "http://www.w3.org/2001/XMLSchema"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
office:version = "1.0">
<xsl:output method = "xml" version = "1.0" encoding = "iso-8859-1" indent = "yes"/>
<xsl:template match = "/">
<xsl:for-each select = "document ('Tabellendaten.xml')//Tabellendaten">
<xsl:value-of select = "text()"/>
</xsl:for-each>
<xsl:apply-templates select = "//text:variable-set"/>
</xsl:template>
<xsl:template match = "@*|node()"/>
<xsl:copy>
<xsl:apply-templates select = "@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
Ich vermute ich habe einen Denkfehler bei der template Anordnung oder etwas ähnliches. Kann mir jemand dabei helfen? Gerne auch andere Lösungswege :-)
Freundlichen Gruss
Stre
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!