C#.NET * C++ * JAVASCRIPT * PYTHON * XML
* XML-SCHEMA * XPATH * XSL * XSL-FO * SVG * XQUERY * XPROC



XPath / XPath-Funktionen / XPath: Sequenz-Funktionen

XPath: Sequenz-Funktionen

XPath: Sequenz-Funktionen

➪ In XPath 2.0 kommen (gegenüber XPath 1.0) die mächtigen Sequenzen hinzu, auf denen wiederum zahlreiche Funktionen in XPath 2.0 und XPath 3.0 beruhen.

XPath 2.0, XSL 2.0, XPath 3.0, XSL 3.0, bieten beträchtliche Erweiterungen gegenüber XPath 1.0 und XSLT 1.0. Diese Alternativen führen Sie in den interessanten Themenkomplex von Sequenz Constructor und Filter Expressions, mit deren Hilfe etliche Praxisprobleme leichter lösbar werden.


 <xsl:template name="sequencedemo">
  <Ergebnis>
  <xsl:for-each select="1 to 5, 
                       (20 to 200)[. mod 19 = 0], 
                       'Meier', 
                       'Schulze', 
                       'Bauer', 
                       //vorname, 
                       current-dateTime(), 
                       current-date() ">
   <item>
   <xsl:attribute name="castable">
   <xsl:choose>    
    <xsl:when test=". castable as xs:date">
         date
    </xsl:when>
    <xsl:when test=". castable as xs:dateTime">
         dateTime
    </xsl:when>
    <xsl:when test=". castable as xs:integer">
         integer
    </xsl:when>
    <xsl:when test=". castable as xs:string">
         string
    </xsl:when>
   </xsl:choose>
   </xsl:attribute>
   <xsl:value-of select="."/>
   </item>
  </xsl:for-each>
  </Ergebnis>
 </xsl:template>

Das Ergebnis dieser Logik lautet dann:


<Ergebnis>
  <item castable="integer">1</item>
  <item castable="integer">2</item>
  <item castable="integer">3</item>
  <item castable="integer">4</item>
  <item castable="integer">5</item>
  <item castable="integer">38</item>
  <item castable="integer">57</item>
  <item castable="integer">76</item>
  <item castable="integer">95</item>
  <item castable="integer">114</item>
  <item castable="integer">133</item>
  <item castable="integer">152</item>
  <item castable="integer">171</item>
  <item castable="integer">190</item>
  <item castable="string">Meier</item>
  <item castable="string">Schulze</item>
  <item castable="string">Bauer</item>
  <item castable="string">Hugo</item>
  <item castable="string">Nicole</item>
  <item castable="string">Stefan</item>
  <item castable="string">Stefan</item>
  <item castable="string">Siggi</item>
  <item castable="string">Heini</item>
  <item castable="string">Rudi</item>
  <item castable="string">Karl</item>
  <item castable="string">Simone</item>
  <item castable="string">Horst</item>
  <item castable="string">Werner</item>
  <item castable="string">Ludwig</item>
  <item castable="string">Willi</item>
  <item castable="string">Rita</item>
  <item castable="string">Susi</item>
  <item castable="string">Lotte</item>
  <item castable="string">Betty</item>
  <item castable="string">Martin</item>
  <item castable="string">Liane</item>
  <item castable="date">2017-09-24T16:51:16.3+02:00</item>
  <item castable="date">2017-09-24+02:00</item>
</Ergebnis>

wg / 2. Mai 2021



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/sequence.html