From 86b3572003f8f669b2ef7fbceae3fea072d37026 Mon Sep 17 00:00:00 2001 From: Adam Bem Date: Mon, 5 Jun 2023 14:40:03 +0200 Subject: [PATCH] libXML now returnes info why XML is not valid (#218) Co-authored-by: Adam Bem Reviewed-on: https://gitea.release11.com/R11/release11-tools/pulls/218 Reviewed-by: Mikolaj Widla --- Backend-libXML/Parser.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Backend-libXML/Parser.py b/Backend-libXML/Parser.py index 687fb74..56b0d8b 100644 --- a/Backend-libXML/Parser.py +++ b/Backend-libXML/Parser.py @@ -77,10 +77,12 @@ def xsd(source: str, xsd: str) -> bool: document_input = BytesIO(source.encode("utf-8")) xml = etree.parse(document_input).getroot() - if xml_schema.validate(xml): - return "XML is valid." - else: - return "XML is NOT valid." + try: + xml_schema.assertValid(xml) + return "XML is valid" + except etree.DocumentInvalid as e: + return str(e) + def xslt(source: str, xslt: str) -> str: