Christian Seiler: / XSL: Knoten in Variable + neues Feld

Beitrag lesen

Hallo,

einen Knoten in eine Variable zu speichern habe ich schon gemacht.
Ich würde jetzt gerne ein zusätzliches Feld mit in diese Variable speichern, um den Inhalt der Variable für die Ausgabe nach diesem neuen Feld zu sortieren.
(Wie) geht das?

Wie sieht Deine bisherige Struktur aus und was willst Du genau machen?

Prinzipiell funktioniert natürlich sowas:

<xsl:variable name="items">  
  <xsl:for-each select="...">  
    <item>  
      <!-- Alte Attribute kopieren -->  
      <xsl:copy-of select="@*" />  
      <!-- Alte Kindknoten kopieren -->  
      <xsl:copy-of select="node()" />  
      <!-- Weitere Kindknoten -->  
      <sonstwas>  
        <xsl:value-of select="..." />  
      </sonstwas>  
    </item>  
  </xsl:for-each>  
</xsl:variable>

Allerdings kannst Du die Variable in XSLT 1.0 nicht mehr in xsl:for-each packen, das gibt einen Fehler - in XSLT 2.0 geht das. Wenn Du also die Sortierung ändern willst, musst Du das bereits beim Anlegen der Variable machen - Du kannst mit XSLT 1.0 den Inhalt der Variable lediglich per <xsl:copy-of select="$variable" /> an einer bestimmten Stelle ins Dokument einfügen, nicht mehr.

Viele Grüße,
Christian