XPath 3.0, XPath 2.0, XPath 1.0 / XPath Funktionen / XPath: Sequence - Funktionen / XPath: exactly-one

XPath: exactly-one

XPath: exactly-one

Die "exactly-one"-Funktion erzwingt, daß eine Sequence genau ein einziges Item aufweist.

XPath: exactly-one

Ist das nicht der Fall (die Sequence ist leer oder hat mehrere Items), wird eine Fehlermeldung generiert.

Problemlos ist daher der Aufruf "exactly-one(/Orte/Ort[1]/Mensch[1]/vorname/text())", er ergibt den Wert "Hugo".


<xsl:for-each 
     select="exactly-one(/Orte/Ort[1]/Mensch[1]/vorname/text())">
  <wert><xsl:value-of select="."/></wert>
</xsl:for-each>

Problematisch wird der Aufruf "exactly-one(//Mensch/hobby/text())", die eine leere Sequence generiert, was der Festlegung von "exactly-one" zuwider läuft und daher unzulässig ist.


<xsl:for-each select="exactly-one(//Mensch/hobby/text())">
<wert><xsl:value-of select="."/></wert>
</xsl:for-each>
Fehlerlevel: fatal
Beschreibung: FORG0005: An empty sequence is not allowed 
as the first argument of exactly-one()
Anfang: 13:0
URL: http://www.w3.org/TR/2005/WD-xpath-functions-20050211/#ERRFORG0005

Ebenso problematisch wird der Aufruf "exactly-one(//Mensch/vorname/text())", die eine Sequence mit mehreren Items generiert, was der Festlegung von "exactly-one" ebenfalls zuwider läuft und daher unzulässig ist.


<xsl:for-each 
     select="exactly-one(//Mensch/vorname/text())">
  <wert><xsl:value-of select="."/></wert>
</xsl:for-each>
Fehlerlevel: fatal
Beschreibung: FORG0005: A sequence of more than one item is not allowed 
as the first argument of exactly-one() (text("Hugo"), text("Helmut"), ...)
Anfang: 13:0
URL: http://www.w3.org/TR/2005/WD-xpath-functions-20050211/#ERRFORG0005

wg / 6. November 2017



Fragen? Anmerkungen? Tips?

Bitte nehmen Sie Kontakt zu mir auf:

Vorname
Nachname
Mailadresse







Vielen Dank für Ihr Interesse an meiner Arbeit.


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

Mobil: 0151. 750 360 61 * eMail: info2018@wilfried-grupe.de

www.wilfried-grupe.de/exactlyone.html