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