validation NEW default values creation

Also a lot of other refactoring and
improvements. No tests yet.
diff --git a/src/printer_xml.c b/src/printer_xml.c
index 4ce56b8..0e439d2 100644
--- a/src/printer_xml.c
+++ b/src/printer_xml.c
@@ -441,12 +441,10 @@
 {
     LY_ERR ret = LY_SUCCESS;
 
-#if 0
-    if (!lyd_wd_toprint(node, ctx->options)) {
-        /* wd says do not print */
+    if (!ly_should_print(node, ctx->options)) {
+        /* do not print at all */
         return EXIT_SUCCESS;
     }
-#endif
 
     switch (node->schema->nodetype) {
     case LYS_CONTAINER: