XSL和XML-设置div id以区分它们



我有以下内容:

<xsl:template match="MapSet">
<div class="mapset" id="position()">
<Content of div here>
</div>  
</xsl:template> 

我想在position()所在的位置有不同的id。我想一次只能看到一个div。ID会帮我的。

我想要这样的输出:

<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>  

有什么想法吗?

我使用了以下代码来解决这个问题:

<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>  

您已经成功回答了您的问题,这很好!但是您知道"属性值模板"吗,它提供了一种替代方法。

试试这个,例如

<div class="mapset" id="mapset{position()}">
<Content of div here>
</div>  

属性值模板由大括号表示。它们表示要计算的表达式,而不是按字面意思输出的表达式。这也应该为您提供所需的输出。

属性值模板通常是首选模板,因为它们比编写xsl:Attribute更不冗长,而且语法更接近最终输出。

相关内容

  • 没有找到相关文章

最新更新