furryhamster
Lt. Commander
- Registriert
- Okt. 2008
- Beiträge
- 1.101
Hi,
ich hab xml und möchte dies mit java automatisch in ein xslt umwandeln.
Beispiel-XMLausschnitt:
In dem Beispiel soll jetzt z.B. Meier durch folgendes ersetzt werden:
<xsl:value-of select="string($var1_instance/n2:ClinicalDocument/n2:title)"/>
Ergebnis soll folglich so aussiehen:
Problem: Wenn ich das "Meier" mit setTextConent() ersetze, so fällt das w:r und w:t element wer und er schreibt mit auch die <> von xsl:value-of selec nicht in mein xslt file
Mein Lösungsansatz:
Mein Ergebnis:
Weiß einer wie ich das jetzt ersetzen muss?
Kann mir auch jemand sagen, wie ich in dem "document" das "<?xml version="1.0" encoding="UTF-8"?>" durch
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:n2="urn:hl7-org:v3"
exclude-result-prefixes="n2 xs xsi xsl"
>
<xsl
utput method="xml" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
ersetze und am ende des XML Files
</xsl:template>
</xsl:stylesheet>
anhänge?
EDIT: Habs hinbekommen, indem ich ein Child hinzugefügt habe. Jetzt muss ich nur noch die erste xml zeile ersetzen und am ende etwas anhängen
ich hab xml und möchte dies mit java automatisch in ein xslt umwandeln.
Beispiel-XMLausschnitt:
Code:
<w:p w:rsidR="000F1E17" w:rsidRDefault="000F1E17" w:rsidP="000F1E17">
<w:r>
<w:t>Nachname:</w:t>
</w:r>
<w:r>
<w:tab/>
</w:r>
<w:fldSimple w:instr=" INCLUDETEXT "C:/XML/daten.xml" \c XML \x /ADRESSEN/DATENSATZ[2]/NACHNAME \* MERGEFORMAT ">
<w:r w:rsidR="008D563D">
<w:t>Meier</w:t>
</w:r>
</w:fldSimple>
</w:p>
In dem Beispiel soll jetzt z.B. Meier durch folgendes ersetzt werden:
<xsl:value-of select="string($var1_instance/n2:ClinicalDocument/n2:title)"/>
Ergebnis soll folglich so aussiehen:
Code:
<w:p w:rsidR="000F1E17" w:rsidRDefault="000F1E17" w:rsidP="000F1E17">
<w:r>
<w:t>Nachname:</w:t>
</w:r>
<w:r>
<w:tab/>
</w:r>
<w:fldSimple w:instr=" INCLUDETEXT "C:/XML/daten.xml" \c XML \x /ADRESSEN/DATENSATZ[2]/NACHNAME \* MERGEFORMAT ">
<w:r w:rsidR="008D563D">
<w:t><xsl:value-of select="string( /ADRESSEN/DATENSATZ[2]/NACHNAME )"/></w:t>
</w:r>
</w:fldSimple>
</w:p>
Problem: Wenn ich das "Meier" mit setTextConent() ersetze, so fällt das w:r und w:t element wer und er schreibt mit auch die <> von xsl:value-of selec nicht in mein xslt file
Mein Lösungsansatz:
Code:
newContent = "<w:r w:rsidR=\"008D563D\"><w:t><xsl:value-of select=\"string( " + m.group(1) + ")\"/></w:t></w:r>";
document.getElementsByTagName("w:fldSimple").item(i).setTextContent(newContent);
Mein Ergebnis:
Code:
<w:fldSimple w:instr=" INCLUDETEXT "C:/XML/daten.xml" \c XML \x /ADRESSEN/DATENSATZ[2]/NACHNAME \* MERGEFORMAT "> /ADRESSEN/DATENSATZ[2]/NACHNAME</w:fldSimple>
Weiß einer wie ich das jetzt ersetzen muss?
Kann mir auch jemand sagen, wie ich in dem "document" das "<?xml version="1.0" encoding="UTF-8"?>" durch
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:n2="urn:hl7-org:v3"
exclude-result-prefixes="n2 xs xsi xsl"
>
<xsl

<xsl:template match="/">
ersetze und am ende des XML Files
</xsl:template>
</xsl:stylesheet>
anhänge?
EDIT: Habs hinbekommen, indem ich ein Child hinzugefügt habe. Jetzt muss ich nur noch die erste xml zeile ersetzen und am ende etwas anhängen
Zuletzt bearbeitet: