fn:nilled

(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 boolescher Wert; true, wenn das nilled-Property des übergebenen Elementknotens gesetzt ist, ansonsten false.

Aufruf/Argumente:

fn:nilled($node?)

$node:
Ein Elementknoten, von dem der Zustand dessen nilled-Properties ermittelt werden soll. Für andere Knotentypen oder die leere Sequenz gibt die Funktion eine leere Ergebnissequenz zurück.

Verwendungszweck:

Die Akzessor-Funktion fn:nilled() gibt einen booleschen Wert zurück, je nachdem, ob das nilled-Property des betrachteten Elementknotens auf true oder false gesetzt ist – dies wird an der Elementinstanz durch ein Attribut xsi:nil mit Wert true oder false festgelegt. (Das Präfix xsi bezieht sich auf den Namensraum "http://www.w3.org/2001/XMLSchema-instance".) Ist das Attribut gesetzt, gibt die Funktion entsprechend dessen Wert true oder false zurück.

Handelt es sich bei dem per Argument übergebenen Knoten nicht um einen Elementknoten, so gibt die Funktion statt eines booleschen Wertes eine leere Ergebnissequenz zurück. Dasselbe geschieht, wenn das Eingabeargument die leere Sequenz ist.

Erläuterung:
Das nilled-Property eines Elements kann gesetzt werden, um zu erlauben, dass ein Elementknoten keinen Inhalt haben darf, auch wenn dies durch seinen Schema-Typ eigentlich nicht gefordert oder erlaubt ist. Hierzu muss im Rahmen der Schema-Definition des Elements die nillable-Eigenschaft auf true gesetzt sein:

<xs:element name="beispiel" type="xs:integer" nillable="true">

Das hier definierte Element muss eigentlich eine Ganzzahl enthalten. In Ausnahmefällen soll es jedoch leer bleiben können, ohne dass bei einer Validierung ein Fehler gemeldet wird. Eine Instanz des definierten Elements darf in diesem Fall (und nur dann) ein Attribut xsl:nil besitzen, das durch die Werte true oder false anzeigt, ob der Elementknoten die Eigenschaft »nilled« besitzt. Sobald xsl:nil="true" gesetzt ist, muss die Elementinstanz leer sein. Ihr typisierter Wert bei der Verarbeitung wird, um keine Typfehler zu provozieren, als die leere Sequenz betrachtet. Beide folgenden Instanzen sind daher validierbar:

<beispiel>42</beispiel>
<beispiel xsl:nil="true"/>

Funktionsdefinition:

XPath 1.0:

Funktion nicht verfügbar

XPath 2.0:

fn:nilled($arg as node()?) as xs:boolean?

   

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