Rondra: xsl:template MATCH

Hallo,

wie kann man ein Template auf einen XML Knoten anwenden, der einen bestimmten attributwert hat, und nur auf den. Folgendes:

XML:
<BAUM>
<BLATT farbe="gruen" size="gross" form="spitz"></BLATT>
<BLATT farbe="rot" size="klein" form="rund"></BLATT>
<STAMM farbe="braun"></STAMM>
</BAUM>

XSL:
<xsl:template name="test">
hier kommt xsl-code nur für den Knoten BLATT farbe=gruen
</xsl:template>

wie kann ich das template "test" nun NUR auf den BLATT-Knoten anwenden, der auch farbe=gruen hat? so gehts nich:

<xsl:template name="test" match="BLATT/@farbe='gruen'">
...
</xsl:template>

DANKE!
lg
Rondra

  1. Hi,

    wie kann ich das template "test" nun NUR auf den BLATT-Knoten anwenden, der auch farbe=gruen hat? so gehts nich:
    <xsl:template name="test" match="BLATT/@farbe='gruen'">

    die Bedingung ("Prädikat") gehört in eckige Klammern.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  2. Hallo Rondra,

    ich weiß nicht in welchem Knoten du dich aktuell
    befindest. Deshalb mußt du evtl. den Pfad zu BLATT
    noch anpassen.
    So sollte es funktionieren:
    <xsl:template match="BLATT[@farbe='gruen']">
    ...
    </xsl:template>

    Gruß
    André

    1. Jau, es klappt!! Danke !!!  ;)

      Hallo Rondra,

      ich weiß nicht in welchem Knoten du dich aktuell
      befindest. Deshalb mußt du evtl. den Pfad zu BLATT
      noch anpassen.
      So sollte es funktionieren:
      <xsl:template match="BLATT[@farbe='gruen']">
      ...
      </xsl:template>

      Gruß
      André