fn:last

(Auszug aus "XSLT 2.0 & XPath 2.0" von Frank Bongers, Kaptel 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 eines Nodesets

Herkunft: XPath 1.0

Rückgabewert: Eine Ganzzahl xs:integer; die Position des letzten Items in einer Sequenz. Einfach ausgedrückt, gibt fn:last() die Zahl der Items einer Sequenz zurück (in XPath 1.0 die Anzahl von Knoten eines Nodesets).

Aufruf/Argumente:

fn:last()

Keine Argumente

Verwendungszweck:

In XPath 2.0 wird fn:last() allgemein auf Sequenzen angewendet. In XPath 1.0 betrifft das Anwendungsgebiet, auf das fn:last() und ihre Schwester­funktion fn:position() lediglich Nodesets, wie sie durch xsl:apply-templates oder xsl:for-each gebildet werden.

Die Funktion gibt eine Ganzzahl xs:integer zurück, die der Kontextgröße (context size) der aktuell verarbeiteten Sequenz entspricht. Dieser Wert kann gleich 0 sein. Stets gibt die Funktion also genau einen ganzzahligen Wert größer oder gleich 0 zurück. Ist das Kontextitem und damit die Kontextgröße jedoch un­definiert, so wird ein Laufzeitfehler gemeldet (err:XPDY0002).

Beispiel – Nummerierung aller Abbildungen eines Dokuments:

In einem Dokument sollen alle Elemente <abbildung> nummeriert werden:

<!-- Zusammenstellung der Node-Sequenz: -->
<xsl:apply-templates select="//abbildung">
...
<xsl:template match="abbildung">
  <p>Abbildung <xsl:value-of select="fn:position()"/><xsl:text> </xsl:text>von <xsl:value-of select="fn:last()"/></p>
</xsl:template>

Dies ergibt beispielsweise folgende Ausgabe:

<p>Abbildung 3 von 8</p>

Mit fn:last() wird hier die Kontextgröße (Anzahl der Elemente) der Nodesequenz ermittelt, die Funktion fn:position() stellt die Position des augenblicklich verarbeiteten Ele­ments fest. Die Instruktion xsl:text dient in diesem Beispiel dazu, ein Leerzeichen im Output zu erzwingen.

Funktionsdefinition:

XPath 1.0:

last()=> number

XPath 2.0:

fn:last() 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