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 aktuel­len 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 verarbei­teten Items der aktuellen Sequenz (dynamic context) aus. Ihre Haupteinsatzgebiete sind die Aus­gabe 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 Kon­textitems 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