Home
Über mich
Blog
Veröffentlichungen
IT-Trainings
Impressum


XPath: filter

Zusammenfassung:

Die XPath-Funktion "filter" gibt jene Items einer Sequenz zurück, die in der anonymen Funktion ein true() ergeben.

XPath: filter

Der folgende fn:filter-Aufruf erhält eine Sequenz (Zahlen von 1 bis 20) sowie eine Funktion, die jedes Item daraufhin prüft, ob der Wert ohne Rest durch 5 teilbar ist (Modulo).

 <xsl:template match="/" name="xsl:initial-template">
  <root> 
   <xsl:value-of select="fn:filter(
                         1 to 20, 
                         function($a) {$a mod 5 = 0})"/>
  </root>
 </xsl:template>

Das Ergebnis sieht so aus:

<root>5 10 15 20</root>

Daß die fn:filter-Funktion ein item()* zurückgibt, sehen wir auch beim Aufruf in einer Schleife:

 <xsl:template match="/" name="xsl:initial-template">
  <root>
   <xsl:for-each select="fn:filter(
                         1 to 20, 
                         function($a) {$a mod 5 = 0})">
    <wert>
     <xsl:value-of select="."/>
    </wert>
   </xsl:for-each>
  </root>
 </xsl:template>

Der vorstehende Aufruf kann (bei dieser Sachlage) auch ohne fn:filter gestartet werden:

 <xsl:template match="/" name="xsl:initial-template">
  <root>
   <xsl:for-each select="(1 to 20)[. mod 5 = 0]">
    <wert>
     <xsl:value-of select="."/>
    </wert>
   </xsl:for-each>
  </root>
 </xsl:template>

Das Ergebnis ist in beiden Fällen gleich:

<root>
 <wert>5</wert>
 <wert>10</wert>
 <wert>15</wert>
 <wert>20</wert>
</root>

qrpic/filter.jpg

wg / 3. Oktober 2017




Fragen? Anmerkungen? Tips?

Bitte nehmen Sie Kontakt zu mir auf (info10@wilfried-grupe.de).



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: info10@wilfried-grupe.de