相关疑难解决方法(0)

找不到XSLT替换功能

我正在编写一个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)

regex xml xslt xpath replace

14
推荐指数
3
解决办法
3万
查看次数

用xsl:text解释换行符?

我有一个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)

xml ant xslt whitespace xslt-1.0

13
推荐指数
2
解决办法
2万
查看次数

标签 统计

xml ×2

xslt ×2

ant ×1

regex ×1

replace ×1

whitespace ×1

xpath ×1

xslt-1.0 ×1