Ho un mucchio di documenti XML in cui l'autore ha scelto di rappresentare un insieme di punti cartesiani in questo modo:XSLT: Loop selezionando due elementi alla volta
<row index="0">
<col index="0">0</col>
<col index="1">0</col>
<col index="2">1</col>
<col index="3">1</col>
</row>
Questo sarebbe pari ai punti (0, 0) e (1,1).
Voglio riscrivere questo come
<set>
<point x="0" y="0"/>
<point x="1" y="1"/>
</set>
Tuttavia, non riesco a capire come creare questo in XSLT, oltre hardcoding per ogni caso possibile - ad esempio per un set a 4 punti:
<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>
...
Ci deve essere un modo migliore per farlo? Per riepilogare, voglio creare elementi come <point x="..." y="..."/>
, dove x e y sono gli elementi col
indicizzati pari/dispari.