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


XPath: distinct-values

Zusammenfassung:

Die XPath-Funktion "distinct-values" löscht mehrfache identische Einträge in einer Sequence und reduziert die Ausgabe auf Einzelresultate.

XPath: distinct-values

<xsl:variable name="vseq2" as="item()*" select="//Kauf"/>

Zum Vergleich: der Aufruf der kompletten Sequence; die Liste der Einzelwerte, die inhaltlich lediglich aus "Hemd", "Hose" und "Schuhe" besteht, ist wesentlich länger.

<xsl:for-each select="$vseq2">
    <ware><xsl:value-of select="bez"/></ware>
</xsl:for-each>
Resultat:
      <ware>Hemd</ware>
      <ware>Hemd</ware>
      <ware>Hemd</ware>
      <ware>Hose</ware>
      <ware>Hose</ware>
      <ware>Hose</ware>
      <ware>Hose</ware>
      <ware>Schuhe</ware>
      <ware>Schuhe</ware>
      <ware>Hose</ware>
...

"distinct-values" verkürzt die Ausgabe auf die drei Werte "Hemd", "Hose" und "Schuhe".

<xsl:for-each select="distinct-values($vseq2/bez)">
    <ware><xsl:value-of select="."/></ware>
</xsl:for-each>
Resultat:
      <ware>Hemd</ware>
      <ware>Hose</ware>
      <ware>Schuhe</ware>

Dasselbe Resultat läßt sich auch durch "xsl:for-each-group" erreichen; hier gib es wesentlich tiefer gehende Möglichkeiten, die Gruppierung intern auszuwerten.

<xsl:for-each-group select="$vseq2" group-by="bez">
    <ware><xsl:value-of select="current-grouping-key()"/></ware>
</xsl:for-each-group>
Resultat:
      <ware>Hemd</ware>
      <ware>Hose</ware>
      <ware>Schuhe</ware>

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