current-group

(Auszug aus "XSLT 2.0 & XPath 2.0" von Frank Bongers, Kapitel 5.)

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

   

Kategorie: Kontextinformationen innerhalb einer Sequenz

Herkunft: XSLT 2.0

Rückgabewert: Eine Sequenz bestehend aus einem oder mehr Items; die aktuell verarbei­tete Gruppe einer xsl:for-each-group-Instruktion

Aufruf/Argumente:

current-group()

Keine Argumente

Verwendungszweck:

Bei der Ausführung einer xsl:for-each-group-Instruktion wird für jede ermittelte Gruppe in Folge der in xsl:for-each-group enthaltene Template-Block instanziiert, wobei die aktuell verarbeitete Gruppe jeweils als Current Group bezeichnet wird.

Während der Verarbei­tung der Gruppen wird jeweils ihr erstes Mitglied (initial item) als Kontextitem betrachtet, die Gesamtzahl der zu verarbeitenden Gruppen ergibt die Kontext­größe, die Position der Gruppe in der Verarbeitungsreihenfolge ihre Kontext­position. Die Funktionen fn:position() und fn:last() geben, zu diesem Zeitpunkt verwendet, entsprechende Werte zurück.

Im Template-Block von xsl:for-each-group wird die Funktion current-group() angewendet, um auf die Mitglieder dieser Gruppe als Sequenz zurück­zugreifen, beispielsweise um die Stringwerte aller Gruppenmitglieder mit xsl:value-of auszugeben. Die Funktion gibt – da Gruppen mindestens ein Mitglied besitzen (müssen) – eine Sequenz aus mindestens einem Item zurück.

Außerhalb des Kontextes der xsl:for-each-group-Verarbeitung aufgerufen, gibt die Funktion die leere Sequenz zurück.

Kein current-group() in XPath-Pattern:
Die Funktion current-group() ist als Teil von XPath-Pattern verboten. Ihr Einsatz führt dort zu einem statischen Fehler (static error), der die Verarbeitung des Stylesheets unmöglich macht.

Beispiel:

Ein ausführliches Beispiel befindet sich bei der Erläuterung der XSLT-Instruktion xsl:for-each-group.

Funktionsdefinition:

XSLT 1.0:

Funktion nicht verfügbar

XSLT 2.0:

current-group() as item()*

   

<< zurück vor >>
Tipp der data2type-Redaktion:
Zum Thema XSLT bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © Galileo Press, Bonn 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "XSLT 2.0 & XPath 2.0 ― Das umfassende Handbuch" denselben Bestimmungen wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Galileo Press, Rheinwerkallee 4, 53227 Bonn