我正在编写一个XSLT转换,我希望使用Replace函数进行正则表达式匹配和替换.
但是,Visual Studio 2008报告了这一点
'replace()'是一个未知的XSLT函数.
代码本身就是:
<xsl:otherwise>
<td style="border: solid 1px black; background-color:#00CC66;">
<xsl:variable name="FeatureInfo" select="Text" />
<xsl:value-of select="replace($FeatureInfo,'Feature=','TESTING')"/>
</td>
</xsl:otherwise>
Run Code Online (Sandbox Code Playgroud)
有什么我做错了吗?
谢谢 :)
编辑:我正在使用这个版本的XSLT,但看起来它是Visual Studio的版本是一个问题......我将不得不尝试找到一个解决方法.
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
Run Code Online (Sandbox Code Playgroud) 我有一个XSL样式表,其中包含如下xsl:text节点中的内容:
<xsl:text>
foo
bar
baz
</xsl:text>
Run Code Online (Sandbox Code Playgroud)
样式表本身是一个带有"unix-style"换行符终结符的文本文件.我在Windows上调用此样式表以及类似unix的平台.将输出符合调用它的平台的约定会很好.
当我在Windows上运行此样式表时,输出具有除xsl:text节点内容之外的所有内容的回车符/换行符对.
我是否可以指示XSLT处理器将xsl:text节点内容中的换行符转换为特定于平台的行尾?
更多上下文:我正在调用Apache Ant 1.7.1 XSLT任务中的样式表,如下所示:
<xslt in="in.xml" out="out.xml" style="stylesheet.xsl"/>
Run Code Online (Sandbox Code Playgroud)
样式表标题目前如下所示:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xalan="http://xml.apache.org/xslt"
exclude-result-prefixes="xalan">
<!-- contents elided -->
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)