* Strict namespace setting can be a problem when upgrading existing database files, such as startup-db or persistent running-db, or any other saved XML file.

* For backward compatibility, load of startup and running set CLICON_XML_NS_STRICT to false temporarily.
* Added three-valued return values for several validate functions where -1 is fatal error, 0 is validation failed and 1 is validation OK.
  * This includes: `xmldb_put`, `xml_yang_validate_all`, `xml_yang_validate_add`, `xml_yang_validate_rpc`, `api_path2xml`, `api_path2xpath`
* Added new xml functions for specific types: `xml_child_nr_notype`, `xml_child_nr_notype`, `xml_child_i_type`, `xml_find_type`.
This commit is contained in:
Olof hagsand 2019-01-02 15:18:29 +01:00
parent 861300d6c0
commit 0baebc93fd
71 changed files with 2679 additions and 1573 deletions

View file

@ -353,14 +353,19 @@ module clixon-config {
Only works for Yang specified XML.
If not set, all lists accessed via linear search.";
}
leaf CLICON_XML_NS_ITERATE {
leaf CLICON_XML_NS_STRICT {
type boolean;
default true;
description
"If set, iterate through modules to find the matching datanode
"If not set, make non-strict laze namespace checks, by iterating
through modules to find the matching datanode
or rpc if no xmlns attribute specifies namespace.
This is loose semantics of finding namespaces.
And it is wrong, but is the way Clixon originally was written.";
This is lazy semantics of finding namespaces, which means you
do not need to explicitly give the namespace if the symbol exists
in some loaded module.
Example: <x/> is enough, instead of <x xmlns='urn:example:clixon'/>
But it is wrong, but is the way Clixon originally was written.
Strict semantics is the default.";
}
leaf CLICON_USE_STARTUP_CONFIG {
type int32;

View file

@ -1,5 +1,6 @@
module ietf-netconf-notification {
namespace "urn:ietf:params:xml:ns:netconf:notification:1:0";
/* namespace "urn:ietf:params:xml:ns:netconf:notification:1.0";*/
namespace "urn:ietf:params:xml:ns:netmod:notification";
prefix "rcmon";
import ietf-yang-types { prefix yang; }