From bffc6b40025b620b36c764aa9b74f00d31edb3a8 Mon Sep 17 00:00:00 2001 From: Anthony Ramine Date: Wed, 8 Dec 2010 11:01:12 +0100 Subject: Fix processing-instruction(name?) --- lib/xmerl/src/xmerl_xpath.erl | 8 +++++--- lib/xmerl/src/xmerl_xpath_parse.yrl | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) (limited to 'lib') diff --git a/lib/xmerl/src/xmerl_xpath.erl b/lib/xmerl/src/xmerl_xpath.erl index b23a659ed2..40ba48b357 100644 --- a/lib/xmerl/src/xmerl_xpath.erl +++ b/lib/xmerl/src/xmerl_xpath.erl @@ -734,12 +734,14 @@ node_test({node_type, NT}, #xmlNode{node = N}, _Context) -> true; {comment, #xmlComment{}} -> true; + {processing_instruction, #xmlPI{}} -> + true; _ -> false end; -node_test({processing_instruction, {literal, _, Name}}, - #xmlNode{node = {processing_instruction, Name, _Data}}, _Context) -> - true; +node_test({processing_instruction, Name1}, + #xmlNode{node = #xmlPI{name = Name2}}, _Context) -> + Name1 == atom_to_list(Name2); node_test(_Other, _N, _Context) -> %io:format("node_test(~p, ~p) -> false.~n", [_Other, write_node(_N)]), false. diff --git a/lib/xmerl/src/xmerl_xpath_parse.yrl b/lib/xmerl/src/xmerl_xpath_parse.yrl index 37576b9e61..f60cea0a2e 100644 --- a/lib/xmerl/src/xmerl_xpath_parse.yrl +++ b/lib/xmerl/src/xmerl_xpath_parse.yrl @@ -144,6 +144,7 @@ Expect 2. %% [7] 'NodeTest' -> 'NameTest' : '$1' . 'NodeTest' -> 'node_type' '(' ')' : {node_type, value('$1')} . +'NodeTest' -> 'processing-instruction' '(' ')' : {node_type, value('$1')} . 'NodeTest' -> 'processing-instruction' '(' 'literal' ')' : {processing_instruction, value('$3')} . -- cgit v1.2.3