根据XSLT中的属性值拆分内容

时间:2013-02-01 11:52:52

标签: xslt-1.0 xslt-2.0

有没有办法使用XSLT拆分内容和属性值。

我的输入如下:

 <element id=”value1, value2, value3”>value1; value2; value3</element>

并且所需的输出是“

<a href=”#value1”>value1</a>; <a href=”#value2”>value2</a>; <a href=”#value3”>value3</a>

帮助我在XSLT中执行此操作的可能方法。

提前致谢

1 个答案:

答案 0 :(得分:2)

尝试

<xsl:template match="element[@id]">
  <xsl:variable name="att-values" select="tokenize(@id, ', ')"/>
  <xsl:for-each select="tokenize(., '; ')">
    <xsl:variable name="pos" select="position()"/>
    <xsl:if test="position() gt 1"><xsl:text>; </xsl:text></xsl:if>
    <a href="#{$att-values[$pos]}">
      <xsl:value-of select="."/>
    </a>
  </xsl:for-each>
</xsl:template>