[libvirt PATCH 5/9] util: Allow validation for single XML node

Tim Wiederhake twiederh at redhat.com
Mon Sep 21 13:07:28 UTC 2020


Signed-off-by: Tim Wiederhake <twiederh at redhat.com>
---
 src/util/virxml.c | 15 +++++++++++++++
 src/util/virxml.h |  6 ++++++
 2 files changed, 21 insertions(+)

diff --git a/src/util/virxml.c b/src/util/virxml.c
index 5315d4ff6f..2ec526456f 100644
--- a/src/util/virxml.c
+++ b/src/util/virxml.c
@@ -1320,6 +1320,21 @@ virXMLValidateAgainstSchema(const char *schemafile,
 }
 
 
+int
+virXMLValidateNodeAgainstSchema(const char *schemafile,
+                                xmlDocPtr doc,
+                                xmlNodePtr node)
+{
+    xmlNodePtr root;
+    int ret;
+
+    root = xmlDocSetRootElement(doc, node);
+    ret = virXMLValidateAgainstSchema(schemafile, doc);
+    xmlDocSetRootElement(doc, root);
+    return ret;
+}
+
+
 void
 virXMLValidatorFree(virXMLValidatorPtr validator)
 {
diff --git a/src/util/virxml.h b/src/util/virxml.h
index 0301f15308..fd0d30fcec 100644
--- a/src/util/virxml.h
+++ b/src/util/virxml.h
@@ -212,6 +212,12 @@ virXMLValidatorValidate(virXMLValidatorPtr validator,
 int
 virXMLValidateAgainstSchema(const char *schemafile,
                             xmlDocPtr xml);
+
+int
+virXMLValidateNodeAgainstSchema(const char *schemafile,
+                                xmlDocPtr doc,
+                                xmlNodePtr node);
+
 void
 virXMLValidatorFree(virXMLValidatorPtr validator);
 
-- 
2.26.2




More information about the libvir-list mailing list