Xml 在XSLT中的脚本标记内使用position函数
以下是完整的代码:Xml 在XSLT中的脚本标记内使用position函数,xml,xslt,Xml,Xslt,以下是完整的代码: <xsl:for-each select="/*/hundreds/hundred"> <div class="page_spacer" /> <div class="page_section" style="{./style}"> <h2><xsl:value-of select="./label"/></h2> <div id="graphDiv{position()}"></div
<xsl:for-each select="/*/hundreds/hundred">
<div class="page_spacer" />
<div class="page_section" style="{./style}">
<h2><xsl:value-of select="./label"/></h2>
<div id="graphDiv{position()}"></div>
<script>
var ctx = createCanvas("graphDiv{position()}");
var graph = new BarGraph(ctx);
graph.maxValue = 30;
graph.margin = 2;
graph.colors = ["#49a0d8", "#d353a0", "#ffc527", "#df4c27"];
graph.xAxisLabelArr = ["North", "East", "West", "South"];
setInterval(function () {
graph.update([Math.random() * 30, Math.random() * 30, Math.random() * 30, Math.random() * 30]);
}, 1000);
</script>
<xsl:value-of select="./descriptiontext" />
<button onclick="javascript:window.location.href='{./viewalllink}'"><xsl:value-of select="./viewalllabel" /></button>
<br/>
<xsl:for-each select="./contendors/contendor">
<a href="/location/{./locid}" ><img class="locationthumb" src="/act/locationthumb/{./locid}"/></a>
</xsl:for-each>
</div>
</xsl:for-each>
此链接将帮助您: 然而
<xsl:value-of select="value"/>
您需要执行以下操作:
<xsl:value-of select ="position()"/>
当您创建前面的
div
元素时,您正在这样做(这很好):
乍一看,它可能看起来“奇怪”,但请记住XSLT对javascript没有任何理解。就XSLT而言,它只是一段文本。您正在输出一个名为
script
的元素,该元素的子节点是文本节点,并且包含position()
的值作为该文本的一部分。能否提供您的源xml?
<xsl:value-of select="value"/>
<xsl:value-of select ="position()"/>
<div id="graphDiv{position()}"></div>
<script>
var ctx = createCanvas("graphDiv<xsl:value-of select="position()" />");
var graph = new BarGraph(ctx);