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

XPath: empty

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 &gt; 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 empty-Lösung in XQuery

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 / 15. November 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/empty.html