4 A4 //L/descendant-or-self::*
6 A6 //L/ancestor-or-self::*
7 A7 //L/following-sibling::*
8 A8 //L/preceding-sibling::*
16 P4 //*[descendant-or-self::L]
18 P6 //*[ancestor-or-self::L]
19 P7 //*[following-sibling::L]
20 P8 //*[preceding-sibling::L]
27 T3 //L/processing-instruction()
28 T4 //L/processing-instruction("myPI")
32 O1 //*[child::* and preceding::Q]
33 O2 //*[not(child::*) and preceding::Q]
34 O3 //*[preceding::L or following::L]
35 O4 //L/ancestor::* | //L/descendant::*
36 # O5 //*[.="happy-go-lucky man"]
37 # O6 //*[@pre > 12 and @post < 15]
38 # O7 //*[@pre != @post]
39 # O8 //*[((@post * @post + @pre * @pre) div (@post + @pre)) > ((@post - @pre) * (@post - @pre))]
40 # O9 //*[@pre mod 2 = 0]
41 # F1 //*[contains(.,"plentiful")]
42 # F2 //*[starts-with(.,"plentiful")]
43 # F3 //*[substring(.,1,9) = "plentiful"]
44 # F4 //*[substring-after(.,"oven") = "ware"]
45 # F5 //*[substring-before(.,"ful") = "plenti"]
46 # F6 //*[string-length(translate(normalize-space(.)," ","")) > 100]
47 # F7 //*[concat(.,..) = ..]
48 # F8 //*[ceiling(@pre div @post) = 1]
49 # F9 //*[floor(@pre div @post) = 0]
50 # F10 //*[round(@pre div @post) = 0]
51 # F11 //*[name(.) = "X"]
53 # F13 //L/child::*[last()]
54 # F14 //L/descendant::*[4]
55 # F15 //L/ancestor::*[2]
56 # F16 //L/following-sibling::*[1]
57 # F17 //L/preceding-sibling::*[1]
58 # F18 //L/following::*[7]
59 # F19 //L/preceding::*[7]
60 # F20 //*[count(ancestor::*) > 3]
61 # F21 //*[sum(ancestor::*/@pre) < sum(descendant::*/@pre)]
63 # F23 id(id(//*[.="happy-go-lucky man"]/@idrefs)/@idrefs)
64 # F24 //*[number(@pre) < number(@post)]
65 # F25 //*[string(@pre - 1) = "0"]
66 # F26 //*[boolean(@id) = true() and boolean(@idrefs) = false()]