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



XSL / Die XSLT - Struktur / xsl:for-each-group / Gruppieren mit group-adjacent

Gruppieren mit group-adjacent

Gruppieren mit group-adjacent

➪ Im Unterschied zu xsl:for-each-group mit group-by öffnet group-adjacent jedes Mal eine neue Gruppe, wenn sich der Wert des in group-adjacent bezeichneten Feldes ändert. Da sich die ursprüngliche Reihenfolge nicht ändert, kann derselbe Schlüssel mehrfach auftreten.

pic/group_adjacent.jpg

Damit entsteht aus folgender Logik ...


<root>
  <xsl:for-each-group 
       select="//Ort[1]/Mensch/Kauf" 
       group-adjacent="bez">
    <key name="{bez}">
      <xsl:for-each select="current-group()">
        <wert name="{bez}" />          
      </xsl:for-each>
    </key>
  </xsl:for-each-group>
</root>

... dieses Ergebnis:


<root>
  <key name="Hemd">
    <wert name="Hemd"/>
    <wert name="Hemd"/>
    <wert name="Hemd"/>
  </key>
  <key name="Hose">
    <wert name="Hose"/>
    <wert name="Hose"/>
    <wert name="Hose"/>
    <wert name="Hose"/>
  </key>
  <key name="Schuhe">
    <wert name="Schuhe"/>
    <wert name="Schuhe"/>
  </key>
  <key name="Hose">
    <wert name="Hose"/>
    <wert name="Hose"/>
    <wert name="Hose"/>
    <wert name="Hose"/>
    <wert name="Hose"/>
    <wert name="Hose"/>
    <wert name="Hose"/>
  </key>
  <key name="Hemd">
    <wert name="Hemd"/>
    <wert name="Hemd"/>
    <wert name="Hemd"/>
  </key>
  <key name="Hose">
    <wert name="Hose"/>
    <wert name="Hose"/>
    <wert name="Hose"/>
  </key>
  <key name="Hemd">
    <wert name="Hemd"/>
  </key>
  <key name="Hose">
    <wert name="Hose"/>
    <wert name="Hose"/>
    <wert name="Hose"/>
  </key>
  <key name="Schuhe">
    <wert name="Schuhe"/>
    <wert name="Schuhe"/>
  </key>
  <key name="Hemd">
    <wert name="Hemd"/>
    <wert name="Hemd"/>
    <wert name="Hemd"/>
  </key>
  <key name="Hose">
    <wert name="Hose"/>
    <wert name="Hose"/>
  </key>
  <key name="Schuhe">
    <wert name="Schuhe"/>
    <wert name="Schuhe"/>
    <wert name="Schuhe"/>
    <wert name="Schuhe"/>
  </key>
  <key name="Hemd">
    <wert name="Hemd"/>
    <wert name="Hemd"/>
  </key>
  <key name="Hose">
    <wert name="Hose"/>
  </key>
</root>

wg / 10. August 2020



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