AndreasZ.: template mit choose

Beitrag lesen

Hallo zusammen!

Ich füge mittels xslt Daten aus einer xml in eine Anwendung ein
Mache ich das so:

  
<xsl:if test="$struct/Attributes/Attribute[@acronym='COLPAT']/@value != '' " >  
        <xsl:element name="COLPAT">  
            <xsl:value-of select="$struct/Attributes/Attribute[@acronym='COLPAT']/@value"/>  
        </xsl:element>  
</xsl:if>

Dadurch bekomme ich in meine Anwendung in das entsprechende Feld eine 1, 2 oder 3. Nun verbirgt sich hinter 1,2,3 jeweils ein Text, den ich mittels template einfügen möchte:

  
<xsl:template match="Attribute[@acronym='COLPAT']">  
  <xsl:choose>  
    <xsl:when test="@value = '1'">  
		<xsl:text>horizontal gestreift</xsl:text>  
    </xsl:when>  
    <xsl:when test="@value = '2'">  
		<xsl:text>vertikal gestreift</xsl:text>  
    </xsl:when>  
    <xsl:when test="@value = '3'">  
		<xsl:text>diagonal gestreift</xsl:text>  
    </xsl:when>	  
  </xsl:choose>	  
</xsl:template>

Der Aufruf:

<xsl:template match="Feature[@acronym='COLPAT']">  
    <xsl:apply-templates select="./Attributes/Attribute[@acronym='COLPAT']"/>  
</xsl:template>

Leider kommt ohne jegliche Fehlermeldung nix an. Hat jemand einen Rat?
Anmerkung: Einfluss habe ich weder auf die ankommende XML, noch auf Programmierung innerhalb der Anwendung (da nur mittels Formulardesigner ein Feld names COLPAT und den Datentyp (String) zu definieren).

Andreas