[sysrepo-devel] is an apostrophe not an allowed character in a key?

Joan Landry JoLandry at advaoptical.com
Wed Dec 14 19:20:01 UTC 2016


I am seeing that if the key name of something includes and apostrophe libyang sees it as an error.

Is the apostrophe not allowed as a character of a key leaf?

To set the name my code does the following:
      snprintf(xpath_buf, 256, "/ensemble-config:ensemble-config/abc-ensemble-domains:domains/domain[name='%s']/owner-tag", name);

where if name has normal characters there is no issue - but if name contains an apostrophe I get an error:
example: abcd'efg

INF] (rp_dt_set_item_wrapper:559) Set item request running datastore, xpath: /ensemble-config:ensemble-config/ensemble-domains:domains/domain[name='abcd'efg']/persistence
[DBG] (dm_ly_log_cb:853) libyang error: Unexpected character(s) 'e' (efg']/persisten).
[DBG] (dm_ly_log_cb:853) libyang error: Resolving XPath expression "/ensemble-config:ensemble-config/ensemble-domains:domains/domain[name='abcd'efg']/persistence" failed.
[ERR] (rp_dt_set_item:323) Requested node is not valid /adva-ensemble-config:ensemble-config/adva-ensemble-domains:domains/domain[name='abcd'efg']/persistence
[ERR] (rp_dt_set_item_wrapper:574) Set item failed
[ERR] (rp_set_item_req_process:939) Set item failed for '/ensemble-config:ensemble-config/ensemble-domains:domains/domain[name='abcd'efg']/persistence', session id=602346779.

In case above name is defined as a string.

    list domain {
      key "name";
      leaf name {
        type string;
      }
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sysrepo.org/archives/sysrepo-devel/attachments/20161214/acf08618/attachment.html>


More information about the sysrepo-devel mailing list