我只是开始XSLT,我尝试在XSLT 1.0中使用str:tokenize()模板。
我检查了:http://www.exslt.org/str/functions/tokenize/index.html
但是我无法获得预期的结果。
这是代码:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:exsl="http://exslt.org/common"
xmlns:str="http://exslt.org/strings"
exclude-result-prefixes="str">
<xsl:output method="xml"/>
<xsl:template match="/">
<xsl:variable name="var" select="John.Wayne"/>
<root>
<xsl:for-each select="str:tokenize($var,'.')">
<element>
<xsl:value-of select="."/>
</element>
</xsl:for-each>
</root>
</xsl:template>
</xsl:stylesheet>
我的预期输出应为:
<root>
<element>John</element>
<element>Wayne</element>
</root>
任何帮助表示赞赏。提前致谢!
哦,顺便说一句,我的输出是:
<?xml version="1.0"?>
<root/>
(我正在使用xsltproc)
最佳答案
线
<xsl:variable name="var" select="John.Wayne"/>
将的评估结果分配给
var
。要将字符串值
John.Wayne
分配给var
,必须用单引号将其引起来:<xsl:variable name="var" select="'John.Wayne'"/>
关于xml - EXSL-如何使用str:tokenize()?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25855364/