我在关于XPath的文档中经常阅读context
这个词。我希望得到一个关于它的概念性想法,并将其与我对它的理解或它的一般含义进行比较。
目前,通过context
,我想到了一组在XML的层次结构中创建范围的节点。
例如
<doc>
<header>
</header>
<content>
<section1>
it is a good boy
</section1>
<section2>
this good is for export
</section2>
</content>
<footer>
</footer>
</doc>
就我自己而言,例如//content/section1//*
是一个上下文,其中“good”的含义与//content/section2//*
我不知道它在XPath或XSLT的文档中与它的意义相对应,...
答案 0 :(得分:1)
每the docs:
关于上下文发生表达式评估。 XSLT和XPointer分别指定如何为XSLT和XPointer中使用的XPath表达式确定上下文。上下文包括:
上下文位置始终小于或等于上下文大小。
答案 1 :(得分:1)
这非常简单。 上下文是谓词和位置步骤隐式引用的内容。
谓词是方括号。
位置步骤,粗略地说是由正斜杠分隔的位。
以下是对XPath术语的更全面解释:https://stackoverflow.com/a/2990317/18771
所以,例如:
<a>
选择任何//a[@name = 'foo']
元素。
<a>
选择@name
属性值为'foo'
的任何<a>
元素。
//a[@name = 'foo']
。等等。每个子表达式的上下文都不同。
//a[./@name = 'foo']
相当于.
,其中上下文通过./
明确设置。隐含上下文允许您在每次想要引用您所指的节点时跳过写.//a
。
Unit
选择当前节点下的所有节点。当前节点是存在于托管XPath的环境中的概念,例如XSLT或支持XPath的任何DOM API。当前节点可以用作路径初始步骤的上下文。