XSLT: Schleifenauswahl von zwei Elementen gleichzeitig

Ich habe eine Reihe von XML-Dokumenten, in denen der Autor eine Reihe von kartesischen Punkten wie folgt dargestellt hat:

<row index="0">
  <col index="0">0</col>
  <col index="1">0</col>
  <col index="2">1</col>
  <col index="3">1</col>
</row>

Dies würde den Punkten (0,0) und (1,1) entsprechen.

Ich möchte dies umschreiben als

<set>
  <point x="0" y="0"/>
  <point x="1" y="1"/>
</set>

Ich kann jedoch nicht herausfinden, wie dies in XSLT erstellt wird, abgesehen von der Hardcodierung für jeden möglichen Fall - zum Beispiel für einen 4-Punkt-Satz:

<set>
  <point>
    <xsl:attribute name="x"><xsl:value-of select="col[@index = 0]"/></xsl:attribute>
    <xsl:attribute name="y"><xsl:value-of select="col[@index = 1]"/></xsl:attribute>
  </point>
  <point>
    <xsl:attribute name="x"><xsl:value-of select="col[@index = 1]"/></xsl:attribute>
    <xsl:attribute name="y"><xsl:value-of select="col[@index = 2]"/></xsl:attribute>
  </point>
  ...

Es muss einen besseren Weg geben, dies zu tun? Zusammenfassend möchte ich Elemente wie erstellen<point x="..." y="..."/>Dabei stehen x und y für den geraden / ungeraden Indexcol Elemente.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage