153aa9179Sopenharmony_ciFrom 2fe372a0aa2cdeb5cf518cf430defba36647c502 Mon Sep 17 00:00:00 2001 253aa9179Sopenharmony_ciFrom: Damjan Jovanovic <damjan.jov@gmail.com> 353aa9179Sopenharmony_ciDate: Sat, 21 Aug 2021 07:21:50 +0200 453aa9179Sopenharmony_ciSubject: [PATCH] Properly fold whitespace around the QName value when 553aa9179Sopenharmony_ci validating an XSD schema. 653aa9179Sopenharmony_ci 753aa9179Sopenharmony_ci(May also need fixing in other places.) 853aa9179Sopenharmony_ci 953aa9179Sopenharmony_ciIssue: 239 1053aa9179Sopenharmony_ci 1153aa9179Sopenharmony_ciConflict:NA 1253aa9179Sopenharmony_ciReference:https://gitlab.gnome.org/GNOME/libxml2/-/commit/2fe372a0aa2cdeb5cf518cf430defba36647c502 1353aa9179Sopenharmony_ci 1453aa9179Sopenharmony_ci--- 1553aa9179Sopenharmony_ci xmlschemas.c | 6 +++++- 1653aa9179Sopenharmony_ci 1 file changed, 5 insertions(+), 1 deletion(-) 1753aa9179Sopenharmony_ci 1853aa9179Sopenharmony_cidiff --git a/xmlschemas.c b/xmlschemas.c 1953aa9179Sopenharmony_ciindex 2da962b..9da4cd1 100644 2053aa9179Sopenharmony_ci--- a/xmlschemas.c 2153aa9179Sopenharmony_ci+++ b/xmlschemas.c 2253aa9179Sopenharmony_ci@@ -24645,6 +24645,7 @@ xmlSchemaValidateQName(xmlSchemaValidCtxtPtr vctxt, 2353aa9179Sopenharmony_ci int valNeeded) 2453aa9179Sopenharmony_ci { 2553aa9179Sopenharmony_ci int ret; 2653aa9179Sopenharmony_ci+ xmlChar *stripped; 2753aa9179Sopenharmony_ci const xmlChar *nsName; 2853aa9179Sopenharmony_ci xmlChar *local, *prefix = NULL; 2953aa9179Sopenharmony_ci 3053aa9179Sopenharmony_ci@@ -24661,7 +24662,10 @@ xmlSchemaValidateQName(xmlSchemaValidCtxtPtr vctxt, 3153aa9179Sopenharmony_ci * NOTE: xmlSplitQName2 will always return a duplicated 3253aa9179Sopenharmony_ci * strings. 3353aa9179Sopenharmony_ci */ 3453aa9179Sopenharmony_ci- local = xmlSplitQName2(value, &prefix); 3553aa9179Sopenharmony_ci+ /* TODO: Export and use xmlSchemaStrip instead */ 3653aa9179Sopenharmony_ci+ stripped = xmlSchemaCollapseString(value); 3753aa9179Sopenharmony_ci+ local = xmlSplitQName2(stripped ? stripped : value, &prefix); 3853aa9179Sopenharmony_ci+ xmlFree(stripped); 3953aa9179Sopenharmony_ci if (local == NULL) 4053aa9179Sopenharmony_ci local = xmlStrdup(value); 4153aa9179Sopenharmony_ci /* 4253aa9179Sopenharmony_ci-- 4353aa9179Sopenharmony_ci2.27.0 4453aa9179Sopenharmony_ci 45