2013-03-24 18 views
-1

林正在讀規格的項目/文件和它說:以下XPath片段的含義是什麼?

你可能集中在以下XPath片段: P :: = A | * | p/p | p // p | p [q]

什麼意思是p :: = A

+2

':: ='在XPath中沒有任何意義。也許作者試圖給一個XPath片段命名? – 2013-03-24 09:50:20

+0

無論如何,「XPath片段」應該是什麼意思?我從未見過這句話。也許:「一個XPath(子)表達式」? – 2013-03-24 16:05:27

回答

3

我認爲它所指的是在這種情況下支持XPath的一個子集。

p ::= ... 

是BNF說p由以下語法定義。

我假設Aq的定義類似,雖然你沒有給出上下文。我猜A是一個元素名稱,而q是一個布爾表達式(不過這是定義的)。

這mearly說的XPath支持的子集如下:

  • 元素(A
  • *
  • 兩個表達式加入了與/運算符(p/p
  • 的名稱
  • 使用//運算符連接的兩個表情(p//p
  • 使用受支持的謂詞的表達式(p[q]
+1

[BNF](http://en.wikipedia.org/wiki/Backus%E2%80%93Naur_Form)記錄。 – MattH 2013-03-25 14:28:29

1

所提供的表達

A | * | p/p | p//p | p[q] 

工會由各個子表達式中選擇的節點的

它選擇命名A任何子元素加上任何子元素加上任何p元件是一個p元件,它是當前(初始上下文)的子節點的子節點,以及任何p元件,其的後代p元素是當前節點的子元素,加上具有q子元素的(當前節點的)任何p子元素。

它相當於短

* | p//p 

的具體問題,問

什麼是p :: = A意思?

XPath表達式

A 

選擇被命名A當前節點的所有子元素。

相關問題