From a594b5cdac6d2317ce0d72cd42baf892271941ec Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <markus.quaritsch@tugraz.at>
Date: Mon, 24 Jun 2019 16:55:00 +0200
Subject: [PATCH] XML Validation: check if schema-info is set, i.e. XML is
 according to a known schema

---
 VectoCore/VectoCore/Utils/XMLValidator.cs | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/VectoCore/VectoCore/Utils/XMLValidator.cs b/VectoCore/VectoCore/Utils/XMLValidator.cs
index e831ea2c33..eb5d5e61fc 100644
--- a/VectoCore/VectoCore/Utils/XMLValidator.cs
+++ b/VectoCore/VectoCore/Utils/XMLValidator.cs
@@ -78,12 +78,15 @@ namespace TUGraz.VectoCore.Utils
 				throw new Exception("empty XML document");
 			}
 
-			var xsdType = _doc.DocumentElement.Attributes?.GetNamedItem("type", "http://www.w3.org/2001/XMLSchema-instance")
-							?.InnerText;
-
-			_doc.Schemas = GetXMLSchema(docType, xsdType);
-			_doc.Validate(ValidationCallBack);
+			_doc.Schemas = GetXMLSchema(docType);
 			
+			_doc.Validate(ValidationCallBack);
+
+			if (_doc.SchemaInfo.Validity != XmlSchemaValidity.Valid || _doc.DocumentElement?.SchemaInfo == null ||
+				_doc.DocumentElement.SchemaInfo.SchemaType == null) {
+				_valid = false;
+			}
+
 			return _valid;
 		}
 
-- 
GitLab