Hallo zusammen!
Ich habe hier ein XSLT Script zur Konvertierung einer XML in eine LaTeX Datei.
Mein Problem ist, dass die replace Funktion anscheinend kein & (bzw. & ) mag! Ziel ist es alle &'s zu escapen, damit LaTeX damit arbeiten kann.
Diese Funktion wird für die Inhalte aufgerufen:
Dabei fällt auf, dass 'Netherlands' richtig ersetzt wird, die & aber nach aufruf des Scripts immer noch ohne \ dastehen!
Das merkwürdigste daran ist, dass das gesamte xslt-Script inklusive dieser Funktion auf einem anderen Rechner ohne Probleme läuft, also jedes & korrekt ersetzt!
Ich benutze übrigens Saxon als Interpreter und die Version ist auf beiden Rechnern die gleiche!
Wäre froh wenn mir jemand helfen könnte, ich hänge nun schon was länger an diesem Problem
Grüße,
Messenjah
Ich habe hier ein XSLT Script zur Konvertierung einer XML in eine LaTeX Datei.
Mein Problem ist, dass die replace Funktion anscheinend kein & (bzw. & ) mag! Ziel ist es alle &'s zu escapen, damit LaTeX damit arbeiten kann.
Diese Funktion wird für die Inhalte aufgerufen:
<xsl:function name="tex:replace_postnl">
<xslaram name="string"/>
<xsl:variable name="t" select="replace($string, 'Netherlands', 'NETHERLANDS')"/>
<xsl:variable name="t" select="replace($t, '&', '\\&')"/>
<xsl:value-of select="$t"/>
</xsl:function>
<xslaram name="string"/>
<xsl:variable name="t" select="replace($string, 'Netherlands', 'NETHERLANDS')"/>
<xsl:variable name="t" select="replace($t, '&', '\\&')"/>
<xsl:value-of select="$t"/>
</xsl:function>
Dabei fällt auf, dass 'Netherlands' richtig ersetzt wird, die & aber nach aufruf des Scripts immer noch ohne \ dastehen!
Das merkwürdigste daran ist, dass das gesamte xslt-Script inklusive dieser Funktion auf einem anderen Rechner ohne Probleme läuft, also jedes & korrekt ersetzt!
Ich benutze übrigens Saxon als Interpreter und die Version ist auf beiden Rechnern die gleiche!
Wäre froh wenn mir jemand helfen könnte, ich hänge nun schon was länger an diesem Problem
Grüße,
Messenjah
Comment