fn:zero-or-one

(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: Funktionen für Sequenzen

Herkunft: XPath 2.0

Rückgabewert: Eine Sequenz; die Eingabesequenz, falls diese aus keinem oder einem Item besteht.

Aufruf/Argumente:

fn:zero-or-one($sequenz)

$sequenz:
Eine Eingabesequenz aus prinzipiell beliebig vielen Items, die von der Funktion jedoch zurückgewiesen wird, wenn sie nicht entweder aus einem oder keinem Item (der leeren Sequenz) besteht. In allen anderen Fällen (mehr als ein Item) wird ein Fehler gemeldet. Dies entspricht der Prüfung der Eingabesequenz auf Kardinalität »?«, also »kein oder ein« Item.

Verwendungszweck:

Die Funktion erzwingt die Ausgabe von entweder der leeren Sequenz oder einer Sequenz aus einem Item durch Zurückweisung all derjenigen Sequenzen, die dieser Einschränkung (constraint) nicht gerecht werden.

Sie kann überall dort verwendet werden, wo wahlweise Sequenzen aus genau einem Item (Singleton-Sequenzen) oder die leere Sequenz zwingend benötigt werden und die Verarbeitung abgebrochen werden muss, wenn dieser Erwar­tung nicht Rechnung getragen wird. Die leere Sequenz und Sequenzen aus einem Item werden von der Funktion unverändert weitergegeben.

Beispiele:

Beispiel 1 – Aufruf mit zu großer Itemzahl in der Eingabesequenz:

fn:zero-or-one((1, 2, 3)
  )

ergibt die Fehlermeldung »fn:zero-or-one called with a sequence containing more than one item« (err:FORG0003).

Beispiel 2 – Aufruf mit genau einem Item in der Eingabesequenz:

fn: zero-or-one((1))

gibt die übergebene Sequenz (1) zurück.

Beispiel 3 – Aufruf mit der leeren Sequenz:

fn: zero-or-one(())

gibt die leere Sequenz () zurück.

Funktionsdefinition:

XPath 1.0:

Funktion nicht verfügbar

XPath 2.0:

fn:zero-or-one($arg as item()*) as item()?

   

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