josef stebegg: sort select="."

Hallo,

ich möchte diesen Teil einer xml Datei

<gruppe>
 <gattung>Dahlien
  <art>Die Dahlie</art>
 </gattung>
 <gattung>Astern
  <art>Die Strandaster</art>
  <art>Die Raublatt-Aster</art>
 </gattung>
</gruppe>

nach diesen Regeln alphabetisch ausgeben.

<xsl:template match="gruppe">

<xsl:for-each select="gattung">
<xsl:sort select="." data-type="text"/>
<div class="gattung"><xsl:value-of select="."/>

<xsl:for-each select="art">
<xsl:sort select="." data-type="text"/>
<div class="art"><xsl:value-of select="."/>

</div>
</xsl:for-each>
</div>
</xsl:for-each>

</xsl:template>

das hat (logischerweise) den Schönheitsfehler das der Inhalt von <art></art> zweimal geschrieben wird.

Kann mir bitte jemand schreiben wie man beim ersten Mal nur die gattungen auswählt?

schöne Grüße

josef

  1. Hallo,

    <xsl:for-each select="gattung">
    <xsl:sort select="." data-type="text"/>
    <div class="gattung">

    <xsl:value-of select="child::text()"/> sollte es tun.

    Grüße
    Thomas

    1. Danke , das tut es auch

      Grüße Josef