Hallo zusammen,
ich möchte eine XLIFF-Datei mit Hilfe von XSLT in ein XHTML-Format zu bringen und hierbei die doctype-Definition mitaufnehmen. Da bei der Umwandlung alle drei XHTML-Dokumenttypen vorkommen können, möchte ich dies über einen Parameter übergeben. Leider finde ich im www noch keine Lösung für mein Problem. Vielleicht weiß jemand von euch was:
Das Stylesheet wird per Batch aufgerufen und dem Batch-Befehl der Parameter (entweder "Strict", "Traditional" oder "Frameset" mitgegeben. Im Stylesheet wird dieser Parameter als Parameter aufgefangen und über die Variable "dtpublic" wird der gesamte Text ("-//W3C//DTD XHTML...") gespeichert. Diese möchte ich dann im Element xsl
utput ausgeben.
Beim Parsen erhalte ich den Fehler:
"XTSE0020: Invalid character in doctype-public parameter"
Das seltsame ist, dass ich genau das selbe mit der Variable "dtsystem" mache und beim Parsen wird das akzeptiert...
Ist mein Parser "kaputt" oder mache ich etwas falsch? ;-)
Vielen Dank für eure Hifle!
Eventuell ist es wichtig zu wissen, dass ich den Saxon-Parser (HE) verwende.
ich möchte eine XLIFF-Datei mit Hilfe von XSLT in ein XHTML-Format zu bringen und hierbei die doctype-Definition mitaufnehmen. Da bei der Umwandlung alle drei XHTML-Dokumenttypen vorkommen können, möchte ich dies über einen Parameter übergeben. Leider finde ich im www noch keine Lösung für mein Problem. Vielleicht weiß jemand von euch was:
Das Stylesheet wird per Batch aufgerufen und dem Batch-Befehl der Parameter (entweder "Strict", "Traditional" oder "Frameset" mitgegeben. Im Stylesheet wird dieser Parameter als Parameter aufgefangen und über die Variable "dtpublic" wird der gesamte Text ("-//W3C//DTD XHTML...") gespeichert. Diese möchte ich dann im Element xsl

Beim Parsen erhalte ich den Fehler:
"XTSE0020: Invalid character in doctype-public parameter"
Das seltsame ist, dass ich genau das selbe mit der Variable "dtsystem" mache und beim Parsen wird das akzeptiert...
Ist mein Parser "kaputt" oder mache ich etwas falsch? ;-)
Vielen Dank für eure Hifle!
Code:
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="dtd"/>
<xsl:variable name="dtpublic">
<xsl:value-of select="concat(concat('-//W3C//DTD XHTML 1.0 ', $dtd), '//EN')"/>
</xsl:variable>
<xsl:variable name="dtsystem">
<xsl:value-of select="concat(concat('http://www.w3.org/TR/xhtml1/DTD/xhtml1-', $dtd), '.dtd')"/>
</xsl:variable>
<xsl:output method="xml" indent="yes" encoding="UTF-8" doctype-public="{$dtpublic}" doctype-system="{$dtsystem}"/>
Eventuell ist es wichtig zu wissen, dass ich den Saxon-Parser (HE) verwende.