##我需要迭代逗号来打破xslt中逗号之间的字符。最多15个单词可以用逗号##
分隔For example
`Input
<root>
<child>A,B,C,D</child>
</root>
Output
<root>
<List>A</List>
<List>B</List>
<List>C</List>
<List>D</List> `
答案 0 :(得分:0)
您可以使用 fn:tokenize 来完成此操作。它通过分隔符分隔一个字符串,并返回没有分隔符的单个字母。
fn:tokenize("abracadabra", "(ab)|(a)") returns ("", "r", "c", "d", "r", "")
答案 1 :(得分:0)
你确定你正在使用xslt 2.0,因为fn:tokenize应该可以工作:
(不要使用'fn'命名空间,这是函数中xpath构建的默认命名空间)
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:template match="/root">
<output>
<xsl:for-each select="tokenize(child, ',')">
<child><xsl:value-of select="."/></child>
</xsl:for-each>
</output>
</xsl:template>
</xsl:transform>