A1 //L/* A2 //L/parent::* A3 //L/descendant::* A4 //L/descendant-or-self::* A5 //L/ancestor::* A6 //L/ancestor-or-self::* A7 //L/following-sibling::* A8 //L/preceding-sibling::* A9 //L/following::* A10 //L/preceding::* A11 //L/self::* A12 //L/@id/parent::* P1 //*[L] P2 //*[parent::L] P3 //*[descendant::L] P4 //*[descendant-or-self::L] P5 //*[ancestor::L] P6 //*[ancestor-or-self::L] P7 //*[following-sibling::L] P8 //*[preceding-sibling::L] P9 //*[following::L] P10 //*[preceding::L] P11 //*[self::L] P12 //*[@id] T1 //L/text() T2 //L/comment() T3 //L/processing-instruction() T4 //L/processing-instruction("myPI") T5 //L/node() T6 //L/N T7 //L/* O1 //*[child::* and preceding::Q] O2 //*[not(child::*) and preceding::Q] O3 //*[preceding::L or following::L] O4 //L/ancestor::* | //L/descendant::* # O5 //*[.="happy-go-lucky man"] # O6 //*[@pre > 12 and @post < 15] # O7 //*[@pre != @post] # O8 //*[((@post * @post + @pre * @pre) div (@post + @pre)) > ((@post - @pre) * (@post - @pre))] # O9 //*[@pre mod 2 = 0] # F1 //*[contains(.,"plentiful")] # F2 //*[starts-with(.,"plentiful")] # F3 //*[substring(.,1,9) = "plentiful"] # F4 //*[substring-after(.,"oven") = "ware"] # F5 //*[substring-before(.,"ful") = "plenti"] # F6 //*[string-length(translate(normalize-space(.)," ","")) > 100] # F7 //*[concat(.,..) = ..] # F8 //*[ceiling(@pre div @post) = 1] # F9 //*[floor(@pre div @post) = 0] # F10 //*[round(@pre div @post) = 0] # F11 //*[name(.) = "X"] # F12 //*[lang("it")] # F13 //L/child::*[last()] # F14 //L/descendant::*[4] # F15 //L/ancestor::*[2] # F16 //L/following-sibling::*[1] # F17 //L/preceding-sibling::*[1] # F18 //L/following::*[7] # F19 //L/preceding::*[7] # F20 //*[count(ancestor::*) > 3] # F21 //*[sum(ancestor::*/@pre) < sum(descendant::*/@pre)] # F22 id("n1 n26") # F23 id(id(//*[.="happy-go-lucky man"]/@idrefs)/@idrefs) # F24 //*[number(@pre) < number(@post)] # F25 //*[string(@pre - 1) = "0"] # F26 //*[boolean(@id) = true() and boolean(@idrefs) = false()]