[XML]Word --> XML: "Zeilenumbrüche" bei XPath verhindern

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:
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>&lt;</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>)"/&gt;</w:t>
		</w:r>
	</w:p>
 
Zurück
Oben