我有以下内容:
<xsl:template match="MapSet">
<div class="mapset" id="position()">
<Content of div here>
</div>
</xsl:template>
我想在position()中使用不同的id。我希望一次只能看到一个div。 ids会帮助我。
我想有这样的输出:
<div class="mapset" id="id1">
<Content of div1 here>
</div>
<div class="mapset" id="id2">
<Content of div2 here>
</div>
<div class="mapset" id="id3">
<Content of div3 here>
</div>
有什么想法吗?
答案 0 :(得分:1)
我使用以下代码来解决问题:
<div class="mapset">
<xsl:attribute name="id">mapset<xsl:number/></xsl:attribute>
</div>
现在输出:
<div class="mapset" id="mapset1">
<Content of div1 here>
</div>
<div class="mapset" id="mapset2">
<Content of div2 here>
</div>
<div class="mapset" id="mapset3">
<Content of div3 here>
</div>
答案 1 :(得分:1)
你已经成功回答了你的问题,这很好!但是你知道Attribute Value Templates,它提供了另一种方法。
试试这个,例如
<div class="mapset" id="mapset{position()}">
<Content of div here>
</div>
属性值模板由大括号表示。它们表示要评估的表达式,而不是字面输出。这也应该为您提供所需的输出。
属性值模板通常是首选,因为它们比编写 xsl:attribute 更简洁,并且语法非常接近最终输出的内容。