Gern stehe ich zur fachlichen Unterstützung in XML-Technologien, C#.NET, VisualBasic.NET und Java zur Verfügung. Sprechen Sie mich einfach an: Mail oder ☎ 0151 . 750 360 61


XPath 3.0, XPath 2.0, XPath 1.0 / XPath-Funktionen / XPath: Sequenz-Funktionen / XPath: zero-or-one

XPath: zero-or-one

XPath: zero-or-one

➪ Die zero-or-one-Funktion stellt sicher, dass eine Sequenz maximal ein Item haben darf; die Sequenz kann auch leer sein.

Der folgende Aufruf würde den Wert "Hugo" ergeben.


<xsl:value-of 
     select="zero-or-one(
             /Orte/Ort[1]/Mensch[1]/vorname/text()
             )"/>

Der Aufruf zero-or-one(//Mensch/hobby/text()) gibt eine leere Sequenz zurück, was mit zero-or-one zulässig ist und zu keinem Fehler führt.


<xsl:for-each 
     select="zero-or-one(//Mensch/hobby/text())">
  <wert><xsl:value-of select="."/></wert>
</xsl:for-each>

Dagegen würde der folgende Aufruf sich auf eine Sequenz mit mehreren Items beziehen und eine Fehlermeldung generieren.


<xsl:value-of 
     select="zero-or-one(
             /Orte/Ort[1]/Mensch/vorname/text())"/>

Oder auch


<xsl:for-each 
     select="zero-or-one(//Mensch/vorname/text())">
  <wert><xsl:value-of select="."/></wert>
</xsl:for-each>

Die Fehlermeldung ist vielsagend: "A sequence of more than one item is not allowed ..."


Fehlerlevel: fatal
FORG0003: A sequence of more than one item 
is not allowed as the first argument of zero-or-one() 
(text("Hugo"), text("Helmut"), ...)

wg / 4. April 2018



Fragen? Anmerkungen? Tipps?

Bitte nehmen Sie Kontakt zu mir auf.






Vielen Dank für Ihr Interesse an meiner Arbeit.


V.i.S.d.P.: Wilfried Grupe * Klus 6 * 37643 Negenborn

☎ 0151. 750 360 61 * eMail: info10@wilfried-grupe.de

www.wilfried-grupe.de/zeroorone.html