diff --git a/CHANGELOG.md b/CHANGELOG.md
index f10731fe..e9edfa55 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -40,6 +40,10 @@
* Added cli returna value also for single commands (eg -1)
* Fixed JSON unbalanced braces resulting in assert.
+### Known issues
+* Namespace name relabeling is not supported.
+ * Eg: if "des" is defined as prefix for an imported module, then a relabeling using xmlfns is not supported, such as: x:des3
+
## 3.6.1 (29 May 2018)
### Corrected Bugs
diff --git a/example/example_cli.cli b/example/example_cli.cli
index 657f884b..8853aed2 100644
--- a/example/example_cli.cli
+++ b/example/example_cli.cli
@@ -6,8 +6,6 @@ CLICON_PLUGIN="example_cli";
# Translate variable "value" by incrementing its characters
translate value (),cli_set("/translate/value");
-
-
# Note, when switching to PT, change datamodel to only @datamodel
set @datamodel:example, cli_set();
merge @datamodel:example, cli_merge();
@@ -41,11 +39,18 @@ show("Show a particular state of the system"){
text("Show comparison in text"), compare_dbs((int32)1);
}
configuration("Show configuration"), cli_show_config("candidate", "text", "/");{
- xml("Show configuration as XML"), cli_show_config("candidate", "xml", "/");
- netconf("Show configuration as netconf edit-config operation"), cli_show_config("candidate", "netconf", "/");
- text("Show configuration as text"), cli_show_config("candidate","text","/");
- cli("Show configuration as cli commands"), cli_show_config("candidate", "cli", "/");
- json("Show configuration as cli commands"), cli_show_config("candidate", "json", "/");
+ xml("Show configuration as XML"), cli_show_config("candidate", "xml", "/");{
+ @datamodel:example, cli_show_auto("candidate", "text");
+ }
+ netconf("Show configuration as netconf edit-config operation"), cli_show_config("candidate", "netconf", "/");{
+ @datamodel:example, cli_show_auto("candidate", "netconf");
+ }
+ text("Show configuration as text"), cli_show_config("candidate","text","/");{
+ @datamodel:example, cli_show_auto("candidate", "text");
+ }
+ json("Show configuration as cli commands"), cli_show_config("candidate", "json", "/");{
+ @datamodel:example, cli_show_auto("candidate", "json");
+ }
}
}
diff --git a/lib/clixon/clixon_xml.h b/lib/clixon/clixon_xml.h
index f22d30f2..34b0265a 100644
--- a/lib/clixon/clixon_xml.h
+++ b/lib/clixon/clixon_xml.h
@@ -80,6 +80,9 @@ typedef int (xml_applyfn_t)(cxobj *x, void *arg);
#define XML_FLAG_CHANGE 0x08 /* Node is changed (commits) or child changed rec */
#define XML_FLAG_NONE 0x10 /* Node is added as NONE */
+/* Full xmlns validation check is made only if XML has associated YANG spec */
+#define XMLNS_YANG_ONLY 1
+
/* Sort and binary search of XML children
* Experimental
*/
diff --git a/lib/src/clixon_xml.c b/lib/src/clixon_xml.c
index edc11643..63be3008 100644
--- a/lib/src/clixon_xml.c
+++ b/lib/src/clixon_xml.c
@@ -253,9 +253,12 @@ xml_namespace_check(cxobj *xn,
return 0;
xn = xp;
}
+#ifdef XMLNS_YANG_ONLY
if (ys == NULL)
return 0; /* If no yang spec */
- else{
+ else
+#endif
+ {
/* Check if my namespace */
if ((n = yang_find_myprefix(ys)) != NULL && strcmp(nsn,n)==0)
return 0;