[jira] [Commented] (XERCESC-2244) DOMDocument::normalizeDocument() fails

"Markus Friedrich (Jira)" <[email protected]> Wed, 6 Dec 2023 18:25:00 +0000 (UTC)
Newsgroups gmane.text.xml.xerces-c.devel
Message-ID <[email protected]>
    [ https://issues.apache.org/jira/browse/XERCESC-2244?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17793874#comment-17793874 ] 

Markus Friedrich commented on XERCESC-2244:
-------------------------------------------

I also don't know this code and cannot provide a patch, sorry.

I worked around this bug in my code by disabling namespace processing before calling normalizeDocument()
doc->getDOMConfig()->setParameter(XMLUni::fgDOMNamespaces, false);
and re-enable it after normalizeDocument().

This is fine for in code since a don't need namespace processing during normalizeDocument().

> DOMDocument::normalizeDocument() fails
> --------------------------------------
>
>                 Key: XERCESC-2244
>                 URL: https://issues.apache.org/jira/browse/XERCESC-2244
>             Project: Xerces-C++
>          Issue Type: Bug
>          Components: DOM, Miscellaneous, Utilities
>    Affects Versions: 3.2.0, 3.2.1, 3.2.2, 3.2.3, 3.2.4
>            Reporter: Markus Friedrich
>            Priority: Major
>
> The following XML file
>  
> {code:java}
> <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
> <root xmlns="http://a" xmlns:pre="http://a">
>   <child xmlns="http://b" xmlns:pre="http://a"/>
> </root> 
> {code}
> fails when DOMDocument::normailzeDocument() gets called on its DOM.
> In DOMNormalizer.cpp:437 the "oldUri" gets removed from "fUriHash" twice, which throws the second time since the key no longer exists in "fUriHash".



--
This message was sent by Atlassian Jira
(v8.20.10#820010)