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 verarbeitete 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 Verarbeitung der Gruppen wird jeweils ihr erstes Mitglied (initial item) als Kontextitem betrachtet, die Gesamtzahl der zu verarbeitenden Gruppen ergibt die Kontextgröße, die Position der Gruppe in der Verarbeitungsreihenfolge ihre Kontextposition. 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ückzugreifen, 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