tôi có một loạt các tài liệu xml nơi tác giả đã chọn để đại diện cho một tập hợp các điểm Descartes như thế này:XSLT: Vòng chọn hai yếu tố tại một thời điểm
<row index="0">
<col index="0">0</col>
<col index="1">0</col>
<col index="2">1</col>
<col index="3">1</col>
</row>
Đây sẽ là bằng với điểm (0, 0) và (1,1).
Tôi muốn viết lại này như
<set>
<point x="0" y="0"/>
<point x="1" y="1"/>
</set>
Tuy nhiên, tôi không thể tìm ra cách để tạo ra này trong XSLT, trừ hardcoding cho từng trường hợp có thể - ví dụ cho một bộ 4 điểm:
<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>
...
Phải có cách nào tốt hơn để thực hiện việc này? Để tóm tắt, tôi muốn tạo các phần tử như <point x="..." y="..."/>
, trong đó x và y là các phần tử col
chẵn/lẻ được lập chỉ mục.