xslt - 仅在特定节点上搜索xml

时间:2017-06-01 20:34:35

标签: xslt xslt-1.0

给出:

<document>
  <xmlNode>Not important here. Sample 1.</xmlNode>
  <xmlNode>Not important here. Sample 2.</xmlNode>
  <xmlNode>Not important here. Sample 3.</xmlNode>
  <target><variable><number/><ofdescendants><findme/></ofdescendants></variable>Find something in here only.</target>
  <xmlNode>Not important here. Sample 5.</xmlNode>
  <xmlNode>Not important here. Sample 6.</xmlNode>
</document>

使用 xslt ,我如何匹配可以出现在目标后代中任何位置的元素?

1 个答案:

答案 0 :(得分:1)

  

我如何匹配可以出现在目标后代中任何位置的元素?

匹配元素<e>的位置路径,但仅限于以/document/target为根的子树,最容易使用descendant轴或descendant-or-self构建如果<target>本身被视为候选人,则为轴:

/document/target/descendant::e

/document/target/descendant-or-self::e

后者可缩写为

/document/target//e

这些都是绝对的位置路径,或者当然。你也可以形成相对的,这可能就是你所需要的。详细信息取决于整体样式表以及选择这些节点进行转换的上下文。