XML | XML-Schema | XPath | XSL-T | XSL-FO | XQuery | XProc | SVG |
XPath / XPath-Funktionen / XPath: Sequenz-Funktionen / XPath: empty
![]() |
![]() |
➪ Die XPath-Funktion empty überprüft, ob eine Sequenz leer ist, und gibt einen Booleanwert zurück.
Auf dieser Seite:Generieren Sie sich eine Sequenz, von der Sie wissen, dass sie leer ist (Liste aller Mensch-Nodes mit einem Gehalt > 10000), und prüfen dies im Rahmen einer Fallunterscheidung.
<xsl:variable name="vseq1"
as="item()*"
select="//Mensch[Gehalt > 10000]"/>
<ergebnis>
<xsl:choose>
<xsl:when test="empty($vseq1)">
Die Sequenz ist leer.
</xsl:when>
<xsl:otherwise>
<xsl:for-each select="$vseq1">
<m nr="{position()}" Gehalt="{Gehalt}">
<xsl:value-of select="name"/>
</m>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
</ergebnis>
Resultat:
<ergebnis>Die Sequenz ist leer.</ergebnis>
Die analoge Lösung in XQuery sieht so aus:
xquery version '3.0';
<ergebnis>{
if (empty (//Mensch[Gehalt > 10000]))
then ('Die Sequenz ist leer.')
else (
for $m at $p in //Mensch[Gehalt > 10000] return
<m nr="{$p}" Gehalt="{$m/Gehalt}">{$m/name/text()}</m> )
}</ergebnis>
wg / 22. April 2021
Fragen? Anmerkungen? Tipps?
Bitte nehmen Sie Kontakt zu mir auf.
V.i.S.d.P.: Wilfried Grupe * Klus 6 * 37643 Negenborn
☎ 0151. 750 360 61 * eMail: info10@wilfried-grupe.de