【发布时间】:2011-09-29 19:40:56
【问题描述】:
我有一些这样的 XML:
<MT N="tag1" V="text"/>
<MT N="tag2" V="more text"/>
<MT N="tag3" V="other text"/>
<MT N="tag4" V="something cool"/>
<MT N="target_tag" V="i want this"/>
<MT N="target_tag" V="and this"/>
我正在尝试将 MT 定位到 N=target_tag 和数字(1 或 2)。
尽管我希望来自this link,但以下内容不起作用:
<xsl:variable name="display" select="MT[@N = 'target_tag' and 2]/@V" />
如果我尝试这个,我总是会得到第一个:
<xsl:variable name="display" select="MT[@N = 'target_tag']/@V" />
如果我尝试这个,我总是会得到第二个 MT 标签(在这个例子中是“更多文本”):
<xsl:variable name="display" select="MT[2]/@V" />
我也试过这个,但没有运气:
<xsl:variable name="display" select="MT[2][@N = 'target_tag']/@V" />
根据我的要求,我需要将它们组合起来,这样当我循环遍历一个递归函数时,我可以显示第一个,然后是第二个,然后是第三个。
有什么想法可以将它们组合起来吗?
【问题讨论】:
标签: xslt xpath xslt-1.0 predicate google-search-appliance