Loading...
Searching...
No Matches
xpath.h File Reference

Sysrepo helpers for node's address manipulation. More...

`#include "../sysrepo.h"`
Include dependency graph for xpath.h:

Go to the source code of this file.

## 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.

## Functions

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_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_last_node (char *xpath, sr_xpath_ctx_t *state)
| Returns pointer to the last node.
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_next_key_value (char *xpath, sr_xpath_ctx_t *state)
| Returns the value of the next key at the current level in processed xpath.
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.
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.
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.
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_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 * | 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.
char * | sr_xpath_node_name (const char *xpath)
| Returns pointer to the string after the last slash in xpath (node name).
int | 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_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.
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).

## Detailed Description

Sysrepo helpers for node's address manipulation.

Author
  Michal Vasko mvask.nosp@m.o@ce.nosp@m.snet..nosp@m.cz

Copyright
  Copyright (c) 2018 - 2021 Deutsche Telekom AG. Copyright (c) 2018 - 2021 CESNET, z.s.p.o.

This source code is licensed under BSD 3-Clause License (the "License"). You may not use this file except in compliance with the License. You may obtain a copy of the License at

    https://opensource.org/licenses/BSD-3-Clause

Definition in file xpath.h.