2010-05-18 32 views
1

如果我有一個像快遞到XPath表達式樹

NodeA/NodeB[@WIDTH and not(@WIDTH="20")] | NodeC[@WIDTH and not(@WIDTH="20")]/NodeD 

XPath查詢是否有可用的可視化這個XPath查詢的原子表達式的堆棧中的任何API,類似的信息(以下爲通用)

  1. 獲取NodeA上的結果,稱之爲 「第一組」
  2. 獲得從 「第一組」
  3. 過濾NodeB的結果,其中[@WIDTH而不是(@ WIDTH = 「20」)]
  4. 過濾器聯接的,稱之爲 「節點d爲B」
  5. 獲得從 「第一組」
  6. 過濾器,其中NODEC的結果[@WIDTH而不是(@ WIDTH = 「20」)]
  7. 過濾器聯接的,把這種
  8. 「對於C節點d」合併「節點d爲B」和「對C節點d」

我想看看我們是否可以轉換XPath表達式到自定義表達式這是接近英文,反之亦然。

如果沒有API可用,那麼最好的方法是什麼? 在此先感謝。

+0

很好的問題(+1)。看到我的答案有些線索。 – 2010-05-18 23:16:11

回答

1

您可以使用任何開源XPath解析器並根據您的需求對其進行自定義,但這可能相當具有挑戰性。

的XQuery具有基於XML的表示XQueryX),並且該覆蓋的XPath 2.0完全。但是,人們不得不用這種XML表示來寫,而不是相反。我不知道XQuery和XQueryX之間的翻譯器。如果存在,它將接近滿足您的需求。

更新:有這樣的翻譯工具:W3C XPath/XQuery Applets。特別看到Grammar Test Page for XPath 2.0

下面是工具的工作原理:

alt text http://www.freeimagehosting.net/uploads/c85e730293.png

+0

謝謝。我正在評估該工具。 – 2010-05-19 01:41:33

+0

看起來像一個開始的好地方。謝謝。 – 2010-05-22 21:14:00