fn:root

(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: Nodenamen, Identifier und URI-Informationen

Herkunft: XPath 2.0

Rückgabewert: Ein Dokumentknoten; das Document-Element des Baums, in dem sich der übergebene Node befindet bzw., wenn kein Node übergeben wird, das Document-Element des Baums des Kontextknotens.

Aufruf/Argumente:

fn:root($node)

$node:
Optional. Ein Node, dessen zugehöriges Document-Element gesucht wird.

Verwendungszweck:

Die Funktion gibt den Wurzelknoten des Baums zurück, in dem sich der übergebene Knoten befindet (dieser Wurzelknoten wird meist, aber nicht notwendigerweise immer, ein Dokumentknoten sein). Ist der übergebene Kno­ten selbst ein Dokumentknoten, so wird er von der Funktion unverändert zurückgegeben. Handelt es sich beim Argument um die leere Sequenz, so gibt fn:root() eine leere Ergebnissequenz zurück.

Wird der Funktion kein Argument übergeben, so bezieht sie sich auf das Kontex­titem als Default-Argument und gibt den Dokumentknoten des aktuellen Baums zurück. Zum Zeitpunkt des Funktionsaufrufs muss allerdings erstens ein Kontextitem existieren und zweitens dieses ein Node sein. Bei einem Verstoß wird im ersten Fall ein Laufzeitfehler (err:XPDY0002) gemeldet, im zweiten Fall ein Typfehler (err:XPTY0004), der auch bereits während der statischen Evaluierung bemerkt werden kann.

Beispiel – Funktionsaufruf ohne Argument:

Das Quelldokument:

<?xml version="1.0" encoding="UTF-8"?>
<beispiel>
  <test>Das ist ein Beispielinhalt.</test>
  <test>Das ist ein weiterer Beispielinhalt.</test>
</bei­spiel>

Das Stylesheet (Auszug):

<xsl:template match="/">
  <ergebnis>
    <xsl:value-of select="fn:root()"/> 
  </ergebnis>
...

Kontextitem beim Aufruf der Funktion ist der Document Node des Quelldoku­ments.

Das Ergebnis:

<?xml version="1.0" encoding="UTF-8"?>
<ergebnis>Das ist ein Beispielinhalt.Das ist ein weiterer Beispielinhalt.</ergebnis>

Die Instruktion xsl:value-of gibt den Stringwert des Document Nodes des Quelldokuments aus.

Funktionsdefinition:

XPath 1.0:

Funktion nicht verfügbar

XPath 2.0:

fn:root() as node()

fn:root($arg as node()?) as node()?

   

<< 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