furryhamster
Lt. Commander
- Registriert
- Okt. 2008
- Beiträge
- 1.101
Hallo,
ich erstelle aus einem Worddokument eine XML-Datei, indem ich aus der docx die xml mit winrar extrahiere.
Dieses xml soll in eine xslt-Datei umgewandelt werden. An den Stellen, an denen später Text ersetzt werden soll werden XPath-Ausdrücke verwendet. Diese stehen bereits an den richtigen Stellen in der ursprünglichen docx-Datei. Bei der xml-Extraction entsteht jedoch das Problem, dass die XPath-Ausdrücke zu lang sind und folgedessen in der xml Datei zu viele Elemente anlegt:
Beispiel:
In einer Tabellenzelle steht folgendes: <xsl:value-of select="string(ADRESSEN/DATENSATZ[1]/VORNAME)"/>
Dies steht jedoch im xml:
ich erstelle aus einem Worddokument eine XML-Datei, indem ich aus der docx die xml mit winrar extrahiere.
Dieses xml soll in eine xslt-Datei umgewandelt werden. An den Stellen, an denen später Text ersetzt werden soll werden XPath-Ausdrücke verwendet. Diese stehen bereits an den richtigen Stellen in der ursprünglichen docx-Datei. Bei der xml-Extraction entsteht jedoch das Problem, dass die XPath-Ausdrücke zu lang sind und folgedessen in der xml Datei zu viele Elemente anlegt:
Beispiel:
In einer Tabellenzelle steht folgendes: <xsl:value-of select="string(ADRESSEN/DATENSATZ[1]/VORNAME)"/>
Dies steht jedoch im xml:
Code:
<w:tc>
<w:tcPr>
<w:tcW w:w="0" w:type="auto"/>
<w:tcBorders>
<w:top w:val="outset" w:sz="6" w:space="0" w:color="666666"/>
<w:left w:val="outset" w:sz="6" w:space="0" w:color="666666"/>
<w:bottom w:val="outset" w:sz="6" w:space="0" w:color="666666"/>
<w:right w:val="outset" w:sz="6" w:space="0" w:color="666666"/>
</w:tcBorders>
<w:vAlign w:val="center"/>
<w:hideMark/>
</w:tcPr>
<w:p w:rsidR="00216060" w:rsidRPr="00216060" w:rsidRDefault="004718B1" w:rsidP="004718B1">
<w:pPr>
<w:spacing w:after="0"/>
<w:jc w:val="left"/>
<w:rPr>
<w:rFonts w:ascii="Verdana" w:hAnsi="Verdana"/>
<w:color w:val="000000"/>
<w:sz w:val="15"/>
<w:szCs w:val="15"/>
</w:rPr>
</w:pPr>
<w:r w:rsidRPr="004718B1">
<w:rPr>
<w:rFonts w:ascii="Verdana" w:hAnsi="Verdana"/>
<w:color w:val="000000"/>
<w:sz w:val="15"/>
<w:szCs w:val="15"/>
</w:rPr>
<w:t><</w:t>
</w:r>
<w:proofErr w:type="spellStart"/>
<w:r w:rsidRPr="004718B1">
<w:rPr>
<w:rFonts w:ascii="Verdana" w:hAnsi="Verdana"/>
<w:color w:val="000000"/>
<w:sz w:val="15"/>
<w:szCs w:val="15"/>
</w:rPr>
<w:t>xsl:value-of</w:t>
</w:r>
<w:proofErr w:type="spellEnd"/>
<w:r w:rsidRPr="004718B1">
<w:rPr>
<w:rFonts w:ascii="Verdana" w:hAnsi="Verdana"/>
<w:color w:val="000000"/>
<w:sz w:val="15"/>
<w:szCs w:val="15"/>
</w:rPr>
<w:t xml:space="preserve"/>
</w:r>
<w:proofErr w:type="spellStart"/>
<w:r w:rsidRPr="004718B1">
<w:rPr>
<w:rFonts w:ascii="Verdana" w:hAnsi="Verdana"/>
<w:color w:val="000000"/>
<w:sz w:val="15"/>
<w:szCs w:val="15"/>
</w:rPr>
<w:t>select</w:t>
</w:r>
<w:proofErr w:type="spellEnd"/>
<w:r w:rsidRPr="004718B1">
<w:rPr>
<w:rFonts w:ascii="Verdana" w:hAnsi="Verdana"/>
<w:color w:val="000000"/>
<w:sz w:val="15"/>
<w:szCs w:val="15"/>
</w:rPr>
<w:t>="</w:t>
</w:r>
<w:proofErr w:type="spellStart"/>
<w:r w:rsidRPr="004718B1">
<w:rPr>
<w:rFonts w:ascii="Verdana" w:hAnsi="Verdana"/>
<w:color w:val="000000"/>
<w:sz w:val="15"/>
<w:szCs w:val="15"/>
</w:rPr>
<w:t>string</w:t>
</w:r>
<w:proofErr w:type="spellEnd"/>
<w:r w:rsidRPr="004718B1">
<w:rPr>
<w:rFonts w:ascii="Verdana" w:hAnsi="Verdana"/>
<w:color w:val="000000"/>
<w:sz w:val="15"/>
<w:szCs w:val="15"/>
</w:rPr>
<w:t>(</w:t>
</w:r>
<w:r w:rsidR="00876830" w:rsidRPr="00876830">
<w:rPr>
<w:rFonts w:ascii="Verdana" w:hAnsi="Verdana"/>
<w:color w:val="000000"/>
<w:sz w:val="15"/>
<w:szCs w:val="15"/>
</w:rPr>
<w:t>ADRESSEN/DATENSATZ[1]/VORNAME</w:t>
</w:r>
<w:r w:rsidRPr="004718B1">
<w:rPr>
<w:rFonts w:ascii="Verdana" w:hAnsi="Verdana"/>
<w:color w:val="000000"/>
<w:sz w:val="15"/>
<w:szCs w:val="15"/>
</w:rPr>
<w:t>)"/></w:t>
</w:r>
</w:p>