我有一个类似下面的xml文件。我需要选择使用xslt 1.0所有“name”元素,其中路径不包含单词“fast”。在这种情况下,我会选择/ root / name和/ root / name / name,但不能选择/ root / fast / name。
我原来的模板匹配器是
<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>
答案 0 :(得分:0)
您可以使用:
如果您运行的数据不是
<xsl:template match="/root//name[not(contains(., 'fast'))]">
或者如果您运行的元素不是
<xsl:template match="/root//name[not(ancestor::fast)]">