From 369cceffb4138cd8a3e17641fcb17c6907d462fb Mon Sep 17 00:00:00 2001 From: Adam Bem Date: Wed, 1 Mar 2023 09:23:10 +0100 Subject: [PATCH 1/7] Made formatter more reliable --- Backend-libXML/Parser.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Backend-libXML/Parser.py b/Backend-libXML/Parser.py index 827b356..537f3d7 100644 --- a/Backend-libXML/Parser.py +++ b/Backend-libXML/Parser.py @@ -14,7 +14,9 @@ def prettify(source: str) -> str: prolog_end = source.find("?>") + 2 prolog = source[prolog_start:prolog_end] + "\n" source = source[prolog_end: ] - xml = etree.XML(source) + + parser = etree.XMLParser(remove_blank_text=True) + xml = etree.fromstring(source, parser=parser) return prolog + etree.tostring(xml, pretty_print=True).decode() def minimize(source: str) -> str: -- 2.51.0 From 8a863b7650054abcf960246aa4fb86089aa93709 Mon Sep 17 00:00:00 2001 From: Adam Bem Date: Wed, 1 Mar 2023 09:25:12 +0100 Subject: [PATCH 2/7] Made minimizer more reliable --- Backend-libXML/Parser.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/Backend-libXML/Parser.py b/Backend-libXML/Parser.py index 537f3d7..67ebfc1 100644 --- a/Backend-libXML/Parser.py +++ b/Backend-libXML/Parser.py @@ -25,18 +25,18 @@ def minimize(source: str) -> str: :param source: XML :return: minimized XML """ - result = source - to_remove = [" ", " ", "\t", "\n"] - to_substitute = [(" <", "<"), ("> ", ">"), ("", ">")] + prolog = "" + prolog_start = source.find("") + 2 + prolog = source[prolog_start:prolog_end] + source = source[prolog_end: ] - for e in to_substitute: - result = result.replace(e[0], e[1]) - - return result + parser = etree.XMLParser(remove_blank_text=True) + xml = etree.fromstring(source, parser=parser) + return prolog + etree.tostring(xml, pretty_print=False).decode() def xpath(source: str, xpath: str) -> str: -- 2.51.0 From c6ee630018721bf90cad7cd1fe195fcad600dfab Mon Sep 17 00:00:00 2001 From: Adam Bem Date: Wed, 1 Mar 2023 09:38:12 +0100 Subject: [PATCH 3/7] XML Formatter now shows exact error --- Frontend/assets/scripts/tools/scripts.js | 6 ++++++ Frontend/tools/xmlFormatter.html | 5 ++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/Frontend/assets/scripts/tools/scripts.js b/Frontend/assets/scripts/tools/scripts.js index 76e82c8..638e089 100644 --- a/Frontend/assets/scripts/tools/scripts.js +++ b/Frontend/assets/scripts/tools/scripts.js @@ -148,6 +148,7 @@ function performRequest(endpoint, checkXML, checkTransform){ } function performFormatRequest(endpoint, checkXML, sourceId, targetId){ + const infoElementId = "formatinfo"; const port = 8082; var xmlData = document.getElementById(sourceId).value.trim(); @@ -160,12 +161,17 @@ function performFormatRequest(endpoint, checkXML, sourceId, targetId){ if (!empty) { restRequest(port, endpoint, xmlData, "").then(function(result) { + console.log(result); if (result.status == "OK") { document.getElementById(targetId).value = result.result; document.getElementById(targetId).style.backgroundColor = null; + document.getElementById(infoElementId).innerText = ' Computed'.concat(" in ", result.time, "ms."); + document.getElementById(infoElementId).style.color = "#30aa58"; } else { document.getElementById(targetId).style.backgroundColor = color_red; + document.getElementById(infoElementId).innerText = result.result; + document.getElementById(infoElementId).style.color = "#aa3030"; } }); diff --git a/Frontend/tools/xmlFormatter.html b/Frontend/tools/xmlFormatter.html index 9803e0f..837fa6e 100644 --- a/Frontend/tools/xmlFormatter.html +++ b/Frontend/tools/xmlFormatter.html @@ -14,14 +14,13 @@
-

Online XML Formatter v0.21.37 BETA -

+

Online XML Formatter

- +


-- 2.51.0 From fcb4e2b0dd726684f97ed15b02f39bcc0c3ec0a9 Mon Sep 17 00:00:00 2001 From: Adam Bem Date: Wed, 1 Mar 2023 09:54:37 +0100 Subject: [PATCH 5/7] Refactored performFormatRequest function --- Frontend/assets/scripts/tools/scripts.js | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/Frontend/assets/scripts/tools/scripts.js b/Frontend/assets/scripts/tools/scripts.js index 638e089..3660e48 100644 --- a/Frontend/assets/scripts/tools/scripts.js +++ b/Frontend/assets/scripts/tools/scripts.js @@ -148,13 +148,15 @@ function performRequest(endpoint, checkXML, checkTransform){ } function performFormatRequest(endpoint, checkXML, sourceId, targetId){ - const infoElementId = "formatinfo"; + const sourceElement = document.getElementById(sourceId); + const targetElement = document.getElementById(targetId); + const infoElement = document.getElementById("formatinfo"); const port = 8082; - var xmlData = document.getElementById(sourceId).value.trim(); + var xmlData = sourceElement.value.trim(); var empty = false; if (defaultStrings.includes(xmlData) && checkXML) { - document.getElementById(sourceId).style.backgroundColor = color_red; + sourceElement.style.backgroundColor = color_red; xmlData = ""; empty = true; } @@ -163,15 +165,15 @@ function performFormatRequest(endpoint, checkXML, sourceId, targetId){ restRequest(port, endpoint, xmlData, "").then(function(result) { console.log(result); if (result.status == "OK") { - document.getElementById(targetId).value = result.result; - document.getElementById(targetId).style.backgroundColor = null; - document.getElementById(infoElementId).innerText = ' Computed'.concat(" in ", result.time, "ms."); - document.getElementById(infoElementId).style.color = "#30aa58"; + targetElement.value = result.result; + targetElement.style.backgroundColor = null; + infoElement.innerText = ' Computed'.concat(" in ", result.time, "ms."); + infoElement.style.color = "#30aa58"; } else { - document.getElementById(targetId).style.backgroundColor = color_red; - document.getElementById(infoElementId).innerText = result.result; - document.getElementById(infoElementId).style.color = "#aa3030"; + targetElement.style.backgroundColor = color_red; + infoElement.innerText = result.result; + infoElement.style.color = "#aa3030"; } }); -- 2.51.0 From 9983be70fdb3d0c95351a0d106b79082ddbad3df Mon Sep 17 00:00:00 2001 From: Adam Bem Date: Wed, 1 Mar 2023 09:59:04 +0100 Subject: [PATCH 6/7] Removed unused code from xmlFormatter.html --- Frontend/tools/xmlFormatter.html | 98 ++------------------------------ 1 file changed, 5 insertions(+), 93 deletions(-) diff --git a/Frontend/tools/xmlFormatter.html b/Frontend/tools/xmlFormatter.html index 612b405..946a21b 100644 --- a/Frontend/tools/xmlFormatter.html +++ b/Frontend/tools/xmlFormatter.html @@ -27,9 +27,9 @@ onblur="setDefaultContent(this, 'Insert XML here');" onfocus="clearDefaultContent(this, 'Insert XML here');">

- -
@@ -48,105 +48,17 @@
- - - - - - - -- 2.51.0 From a3a62d11e4a83e5b829c48c30b67b7e2ac8ca6a9 Mon Sep 17 00:00:00 2001 From: Adam Bem Date: Wed, 1 Mar 2023 10:06:25 +0100 Subject: [PATCH 7/7] Added Clear and Insert default XML buttons to XML Formatter --- Frontend/tools/xmlFormatter.html | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/Frontend/tools/xmlFormatter.html b/Frontend/tools/xmlFormatter.html index 946a21b..7ac84d2 100644 --- a/Frontend/tools/xmlFormatter.html +++ b/Frontend/tools/xmlFormatter.html @@ -16,12 +16,24 @@

Online XML Formatter

- -
- + +
+
+
+ +
+
+ + +
+ +
+