fn:position
(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: Kontextinformation innerhalb einer Sequenz
Herkunft: XPath 1.0
Rückgabewert: Eine (positive) Ganzzahl xs:integer; die Position des aktuellen Items in einer Sequenz, der Kontextsequenz. Ist die Kontextsequenz leer, so gibt die Funktion die leere Sequenz zurück.
Aufruf/Argumente:
fn:position()
Keine Argumente
Verwendungszweck:
Die Funktion fn:position() gibt in Form einer positiven Ganzzahl xs:integer die Position (Indexziffer) des aktuell verarbeiteten Items der aktuellen Sequenz (dynamic context) aus. Ihre Haupteinsatzgebiete sind die Ausgabe der aktuellen, »current« Position und die Abfrage der aktuellen, »current« Position im Rahmen von Predicate-Tests.
Die Funktion gibt eine Ganzzahl xs:integer zurück, die der Position des Kontextitems in der Kontextgröße (context size) der aktuell verarbeiteten Sequenz entspricht. Ist das Kontextitem nicht definiert, so wird ein Laufzeitfehler im dynamischen Kontext gemeldet (err:XPDY0002).
Anmerkung: In XPath 1.0 bezieht sich die Funktion auf den Kontext im aktuell verarbeiteten Nodeset.
Beispiel – Test auf vorgegebene Position in einer Sequenz:
<xsl:if test="fn:position()=3">
<hr/>
</xsl:if>
Hier wird bei der Verarbeitung eines Elements, das an der dritten Position in einer Node-Sequenz steht, ein Horizontal Rule <hr> eingefügt.
Funktionsdefinition:
XPath 1.0:
position()=> number
XPath 2.0:
fn:position() as xs:integer?
<< 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