sysrepo
1.4.168
YANG datastore
|
Set of helpers working on a subset of xpath expressions used of node identification Functions modify inputs arguments by placing termination zero at appropriate places to save up string duplication. The state of processing is stored in sr_xpath_ctx_t opaque for user. It allows to continue in processing where the processing stopped or recover processed input. More...
Data Structures | |
struct | sr_xpath_ctx_s |
State of xpath parsing. User must not modify nor rely on the content of the structure. More... | |
Typedefs | |
typedef struct sr_xpath_ctx_s | sr_xpath_ctx_t |
State of xpath parsing. User must not modify nor rely on the content of the structure. More... | |
Functions | |
char * | sr_xpath_next_node (char *xpath, sr_xpath_ctx_t *state) |
The function returns a pointer to the following node. If xpath is not NULL returns the first node name, otherwise returns the subsequent node according to the state. More... | |
char * | sr_xpath_last_node (char *xpath, sr_xpath_ctx_t *state) |
Returns pointer to the last node. More... | |
char * | sr_xpath_next_node_with_ns (char *xpath, sr_xpath_ctx_t *state) |
Same as sr_xpath_next_node with the difference that namespace is included in result if present in xpath. More... | |
char * | sr_xpath_next_key_name (char *xpath, sr_xpath_ctx_t *state) |
Returns the name of the next key at the current level in processed xpath. More... | |
char * | sr_xpath_next_key_value (char *xpath, sr_xpath_ctx_t *state) |
Returns the value of the next key at the current level in processed xpath. More... | |
char * | sr_xpath_node (char *xpath, const char *node_name, sr_xpath_ctx_t *state) |
Returns a pointer to the node specified by name. It searches from the beginning of the xpath, returns first match. Can be used to jump at the desired node xpath and subsequent analysis of key values. More... | |
char * | sr_xpath_node_rel (char *xpath, const char *node_name, sr_xpath_ctx_t *state) |
Similar to sr_xpath_node. The difference is that search start at current node according to the state. More... | |
char * | sr_xpath_node_idx (char *xpath, size_t index, sr_xpath_ctx_t *state) |
Returns node specified by index starting at the begin of expression. First node has index 0. More... | |
char * | sr_xpath_node_idx_rel (char *xpath, size_t index, sr_xpath_ctx_t *state) |
Return node specified by index. Following node has index zero. More... | |
char * | sr_xpath_node_key_value (char *xpath, const char *key, sr_xpath_ctx_t *state) |
Looks up the value for the key at the current level in xpath. More... | |
char * | sr_xpath_node_key_value_idx (char *xpath, size_t index, sr_xpath_ctx_t *state) |
Looks up the value for the key at the current level in xpath specified by index. First key has index zero. More... | |
char * | sr_xpath_key_value (char *xpath, const char *node_name, const char *key_name, sr_xpath_ctx_t *state) |
Looks up the value of the key in a node specified by name. More... | |
char * | sr_xpath_key_value_idx (char *xpath, size_t node_index, size_t key_index, sr_xpath_ctx_t *state) |
Looks up the value of the key in a node specified by index. First node has index zero. More... | |
char * | sr_xpath_node_name (const char *xpath) |
Returns pointer to the string after the last slash in xpath (node name). More... | |
bool | sr_xpath_node_name_eq (const char *xpath, const char *node_str) |
Compares string after the last slash in xpath (node name) with provided string. More... | |
void | sr_xpath_recover (sr_xpath_ctx_t *state) |
Recovers the xpath string to the original state (puts back the character that was replaced by termination zero). More... | |
Set of helpers working on a subset of xpath expressions used of node identification Functions modify inputs arguments by placing termination zero at appropriate places to save up string duplication. The state of processing is stored in sr_xpath_ctx_t opaque for user. It allows to continue in processing where the processing stopped or recover processed input.
Similarly to strtok function in all subsequent calls that is supposed to work with the same input xpath must be NULL.
struct sr_xpath_ctx_s |
State of xpath parsing. User must not modify nor rely on the content of the structure.
typedef struct sr_xpath_ctx_s sr_xpath_ctx_t |
State of xpath parsing. User must not modify nor rely on the content of the structure.
char* sr_xpath_next_node | ( | char * | xpath, |
sr_xpath_ctx_t * | state | ||
) |
The function returns a pointer to the following node. If xpath is not NULL returns the first node name, otherwise returns the subsequent node according to the state.
The state is modified upon function successful return from function, so the subsequent calls can continue in processing or xpath can be recovered by calling sr_xpath_recover.
[in] | xpath | - xpath to be processed, can be NULL |
[in] | state |
char* sr_xpath_last_node | ( | char * | xpath, |
sr_xpath_ctx_t * | state | ||
) |
Returns pointer to the last node.
[in] | xpath | |
[in] | state |
char* sr_xpath_next_node_with_ns | ( | char * | xpath, |
sr_xpath_ctx_t * | state | ||
) |
Same as sr_xpath_next_node with the difference that namespace is included in result if present in xpath.
[in] | xpath | - xpath to be processed, can be NULL if the user wants to continue in processing of previous input |
[in] | state |
char* sr_xpath_next_key_name | ( | char * | xpath, |
sr_xpath_ctx_t * | state | ||
) |
Returns the name of the next key at the current level in processed xpath.
[in] | xpath | |
[in] | state |
char* sr_xpath_next_key_value | ( | char * | xpath, |
sr_xpath_ctx_t * | state | ||
) |
Returns the value of the next key at the current level in processed xpath.
[in] | xpath | |
[in] | state |
char* sr_xpath_node | ( | char * | xpath, |
const char * | node_name, | ||
sr_xpath_ctx_t * | state | ||
) |
Returns a pointer to the node specified by name. It searches from the beginning of the xpath, returns first match. Can be used to jump at the desired node xpath and subsequent analysis of key values.
[in] | xpath | |
[in] | node_name | |
[in] | state |
char* sr_xpath_node_rel | ( | char * | xpath, |
const char * | node_name, | ||
sr_xpath_ctx_t * | state | ||
) |
Similar to sr_xpath_node. The difference is that search start at current node according to the state.
[in] | xpath | |
[in] | node_name | |
[in] | state |
char* sr_xpath_node_idx | ( | char * | xpath, |
size_t | index, | ||
sr_xpath_ctx_t * | state | ||
) |
Returns node specified by index starting at the begin of expression. First node has index 0.
[in] | xpath | |
[in] | index | |
[in] | state |
char* sr_xpath_node_idx_rel | ( | char * | xpath, |
size_t | index, | ||
sr_xpath_ctx_t * | state | ||
) |
Return node specified by index. Following node has index zero.
[in] | xpath | |
[in] | index | |
[in] | state |
char* sr_xpath_node_key_value | ( | char * | xpath, |
const char * | key, | ||
sr_xpath_ctx_t * | state | ||
) |
Looks up the value for the key at the current level in xpath.
[in] | xpath | |
[in] | key | - key name to be looked up |
[in] | state |
char* sr_xpath_node_key_value_idx | ( | char * | xpath, |
size_t | index, | ||
sr_xpath_ctx_t * | state | ||
) |
Looks up the value for the key at the current level in xpath specified by index. First key has index zero.
[in] | xpath | |
[in] | index | |
[in] | state |
char* sr_xpath_key_value | ( | char * | xpath, |
const char * | node_name, | ||
const char * | key_name, | ||
sr_xpath_ctx_t * | state | ||
) |
Looks up the value of the key in a node specified by name.
[in] | xpath | |
[in] | node_name | |
[in] | key_name | |
[in] | state |
char* sr_xpath_key_value_idx | ( | char * | xpath, |
size_t | node_index, | ||
size_t | key_index, | ||
sr_xpath_ctx_t * | state | ||
) |
Looks up the value of the key in a node specified by index. First node has index zero.
[in] | xpath | |
[in] | node_index | |
[in] | key_index | |
[in] | state |
char* sr_xpath_node_name | ( | const char * | xpath | ) |
Returns pointer to the string after the last slash in xpath (node name).
[in] | xpath |
bool sr_xpath_node_name_eq | ( | const char * | xpath, |
const char * | node_str | ||
) |
Compares string after the last slash in xpath (node name) with provided string.
[in] | xpath | |
[in] | node_str | String to test for equality. |
void sr_xpath_recover | ( | sr_xpath_ctx_t * | state | ) |
Recovers the xpath string to the original state (puts back the character that was replaced by termination zero).
[in] | state |