У меня есть несколько XML-документов, в которых автор решил представить набор декартовых точек, например:
<row index="0">
<col index="0">0</col>
<col index="1">0</col>
<col index="2">1</col>
<col index="3">1</col>
</row>
Это будет равно точкам (0,0) и (1,1).
Я хочу переписать это как
<set>
<point x="0" y="0"/>
<point x="1" y="1"/>
</set>
Однако я не могу понять, как создать это в XSLT, кроме жесткого кодирования для каждого возможного случая - например, для набора из 4 пунктов:
<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>
...
Должен быть лучший способ сделать это?
Подводя итог, я хочу создать такие элементы, как <point x="..." y="..."/>
, где x и y - четные / нечетные col
элементы.