sysrepo  1.4.168
YANG datastore
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
xpath.h
Go to the documentation of this file.
1 
22 #ifndef SYSREPO_XPATH_H_
23 #define SYSREPO_XPATH_H_
24 
25 #include <stdbool.h>
26 
27 #include "../sysrepo.h"
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
52 typedef struct sr_xpath_ctx_s {
53  char *begining;
54  char *current_node;
58 
75 char *sr_xpath_next_node(char *xpath, sr_xpath_ctx_t *state);
76 
83 char *sr_xpath_last_node(char *xpath, sr_xpath_ctx_t *state);
84 
92 char *sr_xpath_next_node_with_ns(char *xpath, sr_xpath_ctx_t *state);
93 
101 char *sr_xpath_next_key_name(char *xpath, sr_xpath_ctx_t *state);
102 
110 char *sr_xpath_next_key_value(char *xpath, sr_xpath_ctx_t *state);
111 
121 char *sr_xpath_node(char *xpath, const char *node_name, sr_xpath_ctx_t *state);
122 
132 char *sr_xpath_node_rel(char *xpath, const char *node_name, sr_xpath_ctx_t *state);
133 
143 char *sr_xpath_node_idx(char *xpath, size_t index, sr_xpath_ctx_t *state);
144 
153 char *sr_xpath_node_idx_rel(char *xpath, size_t index, sr_xpath_ctx_t *state);
154 
163 char *sr_xpath_node_key_value(char *xpath, const char *key, sr_xpath_ctx_t *state);
164 
174 char *sr_xpath_node_key_value_idx(char *xpath, size_t index, sr_xpath_ctx_t *state);
175 
185 char *sr_xpath_key_value(char *xpath, const char *node_name, const char *key_name, sr_xpath_ctx_t *state);
186 
196 char *sr_xpath_key_value_idx(char *xpath, size_t node_index, size_t key_index, sr_xpath_ctx_t *state);
197 
207 char *sr_xpath_node_name(const char *xpath);
208 
219 bool sr_xpath_node_name_eq(const char *xpath, const char *node_str);
220 
227 void sr_xpath_recover(sr_xpath_ctx_t *state);
228 
231 #ifdef __cplusplus
232 }
233 #endif
234 
235 #endif /* SYSREPO_XPATH_H_ */
char * sr_xpath_node_name(const char *xpath)
Returns pointer to the string after the last slash in xpath (node name).
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.
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...
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_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.
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...
State of xpath parsing. User must not modify nor rely on the content of the structure.
Definition: xpath.h:52
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.
char * current_node
Definition: xpath.h:54
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.
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 xpa...
char * replaced_position
Definition: xpath.h:55
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.
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 ...
char * sr_xpath_last_node(char *xpath, sr_xpath_ctx_t *state)
Returns pointer to the last node.
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 nam...
char replaced_char
Definition: xpath.h:56
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...
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.
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.
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 termina...
char * begining
Definition: xpath.h:53