我有一个XML文件,如下一个。我需要使用XSLT 1.0选择所有"名称"元素,其中路径不包含单词"快速"。在这种情况下
我的原始模板匹配器是
<xslt:template match="/root//name">
....
</xslt:template>
这起作用,但添加了"快速"元素,因此我的选择器破裂了。
我该如何在XSLT 1.0中执行此操作?我一直在尝试多种方法,但是我似乎找不到一种可以编译并做我需要的方法。
谢谢大家。
<root>
<fast>
<name>fast/name</name>
</fast>
<name>name</name>
<name>
<name>name/name</name>
</name>
</root>
您可以使用以下方式:
如果您的数据与
的数据运行<xsl:template match="/root//name[not(contains(., 'fast'))]">
,或者如果您在元素上以
的速度运行<xsl:template match="/root//name[not(ancestor::fast)]">