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


XPath: string-join

Zusammenfassung:

Bei der XPath-Funktion "string-join" kann eine Sequenz als Parameter übergeben werden, die dann mit Hilfe eines Trennzeichens in eine Zeichenkette konvertiert wird.

XPath: string-join

Die "string-join"-Funktion leistet gegenüber der "concat"-Funktion einiges mehr; hier ist es auch möglich, eine komplette Sequenz als Parameter zu übergeben.

Im folgenden Beispiel werden alle Mensch/name-Elemente des Input-Dokuments angesprochen und nur dann in die Sequenz aufgenommen, wenn sie einem vordefinierten Pattern (erster Buchstabe "S", anschließend nur Kleinbuchstaben) entsprechen.

<xsl:variable name="y" as="xs:string+">
  <xsl:for-each 
    select="for $x in //Mensch/name/text() return 
      if ( matches($x, '[S][a-z]*')) then $x else nothing">
    <xsl:value-of select="."/>
  </xsl:for-each>
</xsl:variable>

Um einen Eindruck zu erhalten, was wir da fabriziert haben, lohnt sich die Ausgabe der Variable $y in einer for-each-Schleife.

<Einzelwerte>
  <xsl:for-each select="$y">
    <wert>
      <xsl:value-of select="."/>
    </wert>
  </xsl:for-each>
</Einzelwerte>

Dessen Ausgabe sähe dann so aus:

<Einzelwerte>
  <wert>Sprachlos</wert>
  <wert>Sagblos</wert>
  <wert>Sorglos</wert>
  <wert>Sinnlos</wert>
  <wert>Schlaflos</wert>
</Einzelwerte>

Vergleichen wir dieses Ergebnis mit jenem, das wir bei Verwendung der "string-join"-Funktion bekommen.

<xsl:value-of select="string-join($y, '|')"/>

Ergebnis:

Sprachlos|Sagblos|Sorglos|Sinnlos|Schlaflos

Vgl. die "tokenize"-Funktion

qrpic/stringjoin.jpg

wg / 4. 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