GET2 API callback support for XPath 1.0 Processing.
More...
|
struct | xpath1_walker_cookie_t |
| walker cookie contains the state used to output or process XPath nodes that are received from GET2 callbacks More...
|
|
|
status_t | xpath1_get2_set_nodeset_child (xpath_pcb_t *pcb, xpath_result_t *result, xmlns_id_t childnsid, const xmlChar *childname, boolean textmode, ncx_xpath_axis_t axis) |
| Check the current result nodeset and replace each node with a node for every child instead. More...
|
|
status_t | xpath1_get2_set_resnode_parent (xpath_resnode_t *resnode) |
| Set the resnode to its parent. More...
|
|
void | xpath1_get2_get_resnode_parent (xpath_get2_node_t *get2node, val_value_t **parentval, xpath_get2_cb_t **parent_cb) |
| Get the resnode parent. More...
|
|
status_t | xpath1_get2_expand_result (xpath_pcb_t *pcb, xpath_result_t *result, boolean leaflist_only) |
| Check the result for GET2 nodes that need to be retrieved. More...
|
|
xpath_get2_cb_t * | xpath1_get2_new_cb (obj_template_t *obj, val_value_t *parent_val, xpath_get2_cb_t *parent_cb) |
| Create a malloced XPath parser control block. More...
|
|
void | xpath1_get2_free_cb (xpath_get2_cb_t *cb) |
| Free a malloced XPath parser control block. More...
|
|
xpath_get2_node_t * | xpath1_get2_new_node (xpath_get2_cb_t *cb, val_value_t *val, xpath_get2_form_t get2_form) |
| Create a malloced XPath GET2 node. More...
|
|
void | xpath1_get2_free_node (xpath_get2_node_t *node) |
| Free a malloced XPath GET2 node. More...
|
|
status_t | xpath1_get2_create_fake_nodes (getcb_get2_t *parent_get2cb, dlq_hdr_t *resnodeQ, xpath_get2_cb_t **retcb) |
| @brief Create a dummy resnode chain for XPath processing of a GET2 node as the context node More...
|
|
void | xpath1_get2_free_fake_nodes (dlq_hdr_t *resnodeQ) |
| Free the queue of dummy resnodes chain for XPath processing of a GET2 node as the context node. More...
|
|
val_value_t * | xpath1_get2_find_return_key (xpath_get2_cb_t *cb, obj_template_t *keyobj) |
| Find a return key. More...
|
|
getcb_get2_t * | xpath1_get2_ancestor_keys_setup (xpath_get2_cb_t *cb) |
| Create parent_get2cb to facilitate all ancestor keys to the next callback invocation. More...
|
|
GET2 API callback support for XPath 1.0 Processing.
◆ xpath1_get2_ancestor_keys_setup()
Create parent_get2cb to facilitate all ancestor keys to the next callback invocation.
FOR XGET and WHEN/MUST statement eveluation handling. Otherwise the callbacks will be invoked with no any predecessors keys.
- Parameters
-
- Returns
- malloced parent get2cb Control Block
◆ xpath1_get2_create_fake_nodes()
@brief Create a dummy resnode chain for XPath processing of a GET2 node as the context node
- Parameters
-
| parent_get2cb | starting cb to use for resnode chain |
| resnodeQ | == Q to store xpath_resnode_t structs |
[out] | retcb | address of return cb within resnode for parent_get2cb
- *retcb return cb within resnode for parent_get2cb
|
- Returns
- status
◆ xpath1_get2_expand_result()
Check the result for GET2 nodes that need to be retrieved.
- Parameters
-
| pcb | parser control block in progress |
[in,out] | result | XPath result nodeset to alter
- result->nodeQ contents adjusted or replaced
|
| leaflist_only | true to only check leaflists |
- Returns
- status
◆ xpath1_get2_find_return_key()
Find a return key.
- Parameters
-
cb | control block to check |
keyobj | key to find |
- Returns
- pointer to key value if found; NULL otherwise
◆ xpath1_get2_free_cb()
Free a malloced XPath parser control block.
- Parameters
-
cb | pointer to get2 control block to free |
◆ xpath1_get2_free_fake_nodes()
void xpath1_get2_free_fake_nodes |
( |
dlq_hdr_t * |
resnodeQ | ) |
|
Free the queue of dummy resnodes chain for XPath processing of a GET2 node as the context node.
MUST ONLY BE USED TO FREE STRUCTS FROM xpath1_get2_create_fake_nodes
- Parameters
-
◆ xpath1_get2_free_node()
Free a malloced XPath GET2 node.
- Parameters
-
node | pointer to get2 node to free |
◆ xpath1_get2_get_resnode_parent()
Get the resnode parent.
- Parameters
-
| get2node | GET2 resnode to check |
[out] | parentval | address of return parentval
- *parentval return parentval (parent_cb will be NULL)
|
[out] | parent_cb | address of return parent_cb
- *parent_cb return parent_cb (parentval will be NULL)
|
◆ xpath1_get2_new_cb()
Create a malloced XPath parser control block.
One or the other parameter is usually set, not bith
- Parameters
-
obj | object that the GET2 callback is for |
parent_val | parent node parent for obj |
parent_cb | parent GET2 CB for obj |
- Returns
- malloced control block or NULL if error
◆ xpath1_get2_new_node()
Create a malloced XPath GET2 node.
Used only for context node creation
- Parameters
-
cb | Parser control block to use for context when creating new node |
val | value node to use for node creation |
get2_form | indicates source of the val node |
- Returns
- malloced control block or NULL if error
◆ xpath1_get2_set_nodeset_child()
Check the current result nodeset and replace each node with a node for every child instead.
Check for GET2 callbacks for datanodes
Handles child and descendant nodes
If a child is specified then any node not containing this child will be removed
Error messages are printed by this function!! Do not duplicate error messages upon error return
- Parameters
-
| pcb | parser control block in progress |
[in,out] | result | address of return XPath result nodeset
- result->nodeQ contents adjusted or replaced
|
| childnsid | 0 if any namespace is OK else only this namespace will be checked |
| childname | name of child to find
== NULL to find all child nodes In this mode, if the context object is config=true, then config=false children will be skipped |
| textmode | TRUE if just selecting text() nodes
FALSE if ignored |
| axis | actual axis used
XP_AX_DESCENDANT
XP_AX_DESCENDANT_OR_SELF
XP_AX_CHILD
|
- Returns
- status
◆ xpath1_get2_set_resnode_parent()
Set the resnode to its parent.
- Parameters
-
resnode | xpath result path node to convert |