我从我的xsl生成html并且我想为标签生成一个唯一的id,这是为了在需要此id的xsl内调用js中的函数... 这是我的xsl
的简化示例<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
<xsl:template match="/">
<xsl:for-each select="data/item">
<xsl:sort select="position()" data-type="number" order="descending"/>
<span id="spanDescription"/>
</xsl:for-each>
</div>
</xsl:template>
</xsl:stylesheet>
答案 0 :(得分:1)
您可以使用generate-id()
功能:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
<xsl:template match="/">
<xsl:for-each select="data/item">
<xsl:sort select="position()" data-type="number" order="descending"/>
<span id="{generate-id()}"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
答案 1 :(得分:0)
使用变量和concat()
:
<xsl:variable name="id" select="generate-id()"/>
<span id="{$id}"/>
<script type="text/javascript">
<xsl:value-of select="concat('replaceAll(',$id,');')"/>
</script>