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


XPath: index-of

Zusammenfassung:

Die "index-of"-Funktion ermittelt aus einer Sequenz die Position jenes Items, auf die ein Suchpattern paßt.

XPath: index-of

Zur Verdeutlichung legen wir eine Variable "vseq" fest, die eine Sequenz mehrerer Items umfassen kann (hier: Liste aller Menschen im XML input, deren Childnode "name" ein "e" beinhaltet). Die Deklaration as="item()*" zeigt, daß die Sequenz auch leer sein kann.

item() es muss exakt 1 Item vorhanden sein
item()? optional: es kann maximal ein Item vorhanden sein, es kann sich auch um eine leere Sequenz handeln.
item()+ mandantory: es muß mindestens ein Item vorhanden sein, auch mehrere sind erlaubt
item()* optional oder beliebig viele Items
<xsl:variable 
     name="vseq" 
     select="//Mensch[contains(name, 'e')]" 
     as="item()*"/>

Zur Verdeutlichung, daß die Sequenz mehrere Items umfaßt, starten wir einen Loop über die Variable $vseg.

<xsl:for-each select="$vseq">
  <m nr="{position()}">
     <xsl:value-of select="name"/>
  </m>
</xsl:for-each>
Resultat: 
      <m nr="1">Herzlos</m>
      <m nr="2">Wertlos</m>
      <m nr="3">Ruhelos</m>
      <m nr="4">Rielos</m>
      <m nr="5">Bodenlos</m>
      <m nr="6">Muehelos</m>
      <m nr="7">Leinenlos</m>

Um nun den Index jenes Items (hinter der Itemliste befinden sich mehrere Mensch-Elemente) herauszufinden, dessen Childnode "name" den Inhalt "Rielos" hat, genügt der Einsatz der "index-of"-Funktion.

<xsl:value-of 
     select="index-of($vseq/name, 'Rielos')"/>

Zum Einsatz der "index-of"-Funktion siehe auch die Anmerkungen über "subsequence".

qrpic/indexof.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