30 #ifndef __XPATH_PROCESSOR_H 31 #define __XPATH_PROCESSOR_H 33 #define ACTION_STACK 1 58 int i_compute_xpath ();
59 bool o_compute_xpath ();
60 double d_compute_xpath ();
61 unsigned u_compute_xpath_node_set ();
62 void v_get_xpath_base (
unsigned u_order,
const TiXmlBase * & XBp_res,
bool & o_attribute);
63 TiXmlNode * XNp_get_xpath_node (
unsigned u_order);
65 enum {
e_no_error, e_error_syntax, e_error_overflow, e_error_execution, e_error_stack} e_error;
68 virtual void v_action (
xpath_construct ,
unsigned ,
unsigned ,
const char * );
69 virtual int i_get_action_counter ();
73 void v_execute_stack ();
77 void v_execute_absolute_path (
unsigned u_action_position,
bool o_with_rel,
bool o_everywhere);
78 void v_execute_step (
int & i_relative_action,
bool o_skip_only);
79 bool o_check_predicate (
TiXmlElement * XEp_child,
bool o_by_name);
90 void v_function_normalize_space (
unsigned u_nb_arg,
expression_result ** erpp_arg);
110 void v_function_opposite ();
115 void v_order_tree ();
116 void v_order_recurs (
TiXmlNode * Np_base,
size_t & i_current);
129 void v_set_context (
TiXmlElement * XEp_in,
bool o_by_name);
144 void v_build_root ();
145 void v_remove_root ();
bool o_is_context_by_name
Definition: xpath_processor.h:137
Definition: xpath_processor.h:47
Definition: tinyxml.h:640
const TiXmlNode * XNp_caller_prev
Definition: xpath_processor.h:140
Definition: xpath_stack.h:44
int i_pop_int()
Definition: xpath_processor.h:125
xpath_construct
XPath constructions. The ordinals are rules of XPath or XML definitions in w3c.
Definition: lex_util.h:78
Definition: action_store.h:68
Definition: xpath_stream.h:51
void v_push_double(double d_val)
Definition: xpath_processor.h:121
Definition: action_store.cpp:32
XPath execution class.
Definition: xpath_processor.h:50
error_not_yet()
Definition: xpath_processor.h:47
Class holding the result of an expression (e_expression_type)
Definition: xpath_expression.h:45
const TiXmlNode * XNp_caller_parent
Definition: xpath_processor.h:139
Exceptions.
Definition: xpath_processor.h:46
void v_push_string(TiXmlString S_val)
Definition: xpath_processor.h:119
const TiXmlElement * XEp_context
Current context.
Definition: xpath_processor.h:134
int i
Definition: xpath_processor.h:46
virtual ~ xpath_processor()
Definition: xpath_processor.h:55
void v_push_int(int i_val, const char *cp_comment="")
Definition: xpath_processor.h:118
expression_result er_result
The result of the XPath evaluation, for further node retrieving by v_get_xpath_base.
Definition: xpath_processor.h:136
action_store as_action_store
Definition: xpath_processor.h:72
node_set ns_pop_node_set()
Definition: xpath_processor.h:127
const TiXmlNode * XNp_base
Definition: xpath_processor.h:142
void v_push_bool(bool o_val)
Definition: xpath_processor.h:120
xpath_stack xs_stack
Definition: xpath_processor.h:71
bool o_pop_bool()
Definition: xpath_processor.h:124
Definition: xpath_processor.h:65
Node set class. A node set is an unordered collection of node.
Definition: node_set.h:34
Definition: tinyxml.h:138
Definition: tinyxml.h:363
const TiXmlElement * XEp_get_context()
Definition: xpath_processor.h:130
TiXmlElement * XEp_root
Root, above the XML tree given as parameter to the xpath_processor object.
Definition: xpath_processor.h:132
execution_error(int i_)
Definition: xpath_processor.h:46
const TiXmlNode * XNp_caller_next
Definition: xpath_processor.h:141
TiXmlString S_pop_string()
Definition: xpath_processor.h:126
#define TIXML_STRING
Definition: tinyxml.h:67
Definition: tinyxml.h:779
void v_push_node_set(node_set *nsp_val)
Definition: xpath_processor.h:122