xsl中“ ends-with”语法的替代方法

时间:2018-11-05 02:39:31

标签: xml xslt xslt-1.0

从此来源引用

Use ends with in XSLT v1.0

ends-with在XPATH 1.0中不适用,但是我需要它的功能才能在我的应用程序上工作。

这是我需要匹配特定确切字符串的代码段

<xsl:template match="p:Project/p:ItemGroup/p:Reference[starts-with(@Include, 'Common')]/@Include">

在该行中,我尝试对其进行修改以实现所需的输出,但例外情况是“ ends-with语法不是XPATH 1.0的一部分”

 <xsl:template match="p:Project/p:ItemGroup/p:Reference[starts-with(@Include, 'Common') and ends-with(@Include, 'Common') ]/@Include">

还有其他选择吗?

我需要完成此操作,因为要修改的xml文件中有些部分的开头带有“ Common”字符串,例如Common.UI,Common.Windows.Grid,因此在运行时也会影响这些行

仅应将其更改为“ Common”(普通)

1 个答案:

答案 0 :(得分:0)

公式已在您提供的链接中阐明。由于您懒得分析,请测试以下内容:

<xsl:template match="p:Project/p:ItemGroup/p:Reference[starts-with(@Include, 'Common') and 'Common' = substring(@Include, string-length() - 5)]/@Include">