跳轉到內容

XPath/SQL 等效

來自華夏公益教科書

SQL 等效

[編輯 | 編輯原始碼]

-XPath 無法執行類似聯接的查詢,但可以執行類似 SQL 的並集、交集、子集和差集

-XPath 使用聯合操作和計數函式的變體支援類似 SQL 的集合操作

a UNION b: $a | $b

b UNION c: $b | $c

a INTERSECTION b: $a[count(.|$b) = count($b)]

a INTERSECTION c: $a[count(.|$c) = count($c)]

(交集取 $b 與 $a 中任何節點的並集,並返回 $a 中也存在於 $b 中的節點集)

a DIFFERENCE b: $a[count(.|$b) != count($b)] | $b[count(.|$a) != count($a)]

a DIFFERENCE c: $a[count(.|$c) != count($c)] | $c[count(.|$a) != count($a)]

(差集取 $a 與 $b 或 $c 差集的並集,並返回 $a 相對於 $b 或 $c 獨有的節點集)

a SYM DIFFERENCE b: $a[count(. | $b) != count($b)] | $b[count(. | $a) != count($a)]

(對稱差集取兩邊差集的並集,並返回 $a 和 $b 獨有的節點集)

a SUBSET OF b: count($b | $a) = count($b) and count($b) > count($a)

b SUBSET OF a: count($b | $a) = count($a) and count($a) > count($b)

(子集表示 $a 與 $b 的並集返回相同的節點集,並且 $a 或 $b 較大)

XPath 可以嵌入到 xpointer 中以建立智慧 URL

http://www.abcpub.co.uk/sitemap.xml#xpointer(//url)

華夏公益教科書