Hallo zusammen,
ich bin XML/XSLT-Neuling und habe Probleme bei einer gewünschten Transformation. Ich erreiche nicht das Ergebnis das ich mir vorstelle und wollte nun im Forum mal rumfragen, ob jemandem die Lösung einfällt.
Ich habe eine XSLT-Datei mit der ich erreichen möchte, dass der Benutzer einer XML-Datei bei der Auswahl eines bestimmten Hinweistypen (es gibt drei: "danger, warning, caution") automatisch in seinem Dokument das entsprechende Wort in Großbuchstaben stehen hat (quasi ein autotext). Also bei der auswahl des Signalworts dager das Wort "DANGER" usw. Zusätzlich soll bei der Auswahl berücksichtigt werden, ob es sich um ein deutsches oder englisches Dokument handelt (Also bei caution UND de Ausgabe von "ACHTUNG!". Bei caution und en: "CAUTION!"). Die entsprechenden Tags seht Ihr hier:
Das ist mein eigener Ansatz (der nicht geklappt hat (es wird nichts ausgegeben)). Vielleicht könnt Ihr mir einen Tipp geben, ob der Ansatz korrekt ist:
<xsl:template match="signalword">
<xsl:choose>
<xsl:when test="@class='danger' and @language='en'">
DANGER!
</xsl:when>
<xsl:when test="@class='danger' and @language='de'">
ACHTUNG!
</xsl:when>
...
</xsl:choose>
</xsl:template>
"class" und "language" sind bereits definierte Elemente und korrekt programmiert.
Vielen Dank! Ich freu mich auf Ihre Posts!
Thomas
ich bin XML/XSLT-Neuling und habe Probleme bei einer gewünschten Transformation. Ich erreiche nicht das Ergebnis das ich mir vorstelle und wollte nun im Forum mal rumfragen, ob jemandem die Lösung einfällt.
Ich habe eine XSLT-Datei mit der ich erreichen möchte, dass der Benutzer einer XML-Datei bei der Auswahl eines bestimmten Hinweistypen (es gibt drei: "danger, warning, caution") automatisch in seinem Dokument das entsprechende Wort in Großbuchstaben stehen hat (quasi ein autotext). Also bei der auswahl des Signalworts dager das Wort "DANGER" usw. Zusätzlich soll bei der Auswahl berücksichtigt werden, ob es sich um ein deutsches oder englisches Dokument handelt (Also bei caution UND de Ausgabe von "ACHTUNG!". Bei caution und en: "CAUTION!"). Die entsprechenden Tags seht Ihr hier:
Das ist mein eigener Ansatz (der nicht geklappt hat (es wird nichts ausgegeben)). Vielleicht könnt Ihr mir einen Tipp geben, ob der Ansatz korrekt ist:
<xsl:template match="signalword">
<xsl:choose>
<xsl:when test="@class='danger' and @language='en'">
DANGER!
</xsl:when>
<xsl:when test="@class='danger' and @language='de'">
ACHTUNG!
</xsl:when>
...
</xsl:choose>
</xsl:template>
"class" und "language" sind bereits definierte Elemente und korrekt programmiert.
Vielen Dank! Ich freu mich auf Ihre Posts!
Thomas