[
https://issues.apache.org/jira/browse/ODE-663?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12853903#action_12853903
]
Mark Ford commented on ODE-663:
-------------------------------
You need a few more unit tests to flesh out some problems with your patch.
Try the following:
<ns1:parent xmlns:ns1='abc' xmlns:ns3='nsthree'>
<ns1:child xmlns='def'>
<ns2:nestedChild xmlns:ns2='def' encoded='ns3:foo'/>
</ns1:child>
</ns1:parent>
If you clone the document element, everything is fine. However, if you clone
ns1:child you'll lose the declaration of ns3. Encoded qnames are missed when
using the standard import/clone methods provided by DOM nodes.
Also, if memory serves there are some cases where the source DOM might be
immutable and have the clone/import methods throw exceptions if invoked. I
believe the Saxon DOM behaves this way which is what you'd be working with when
handling the output of an XQuery.
> DOMUtils.cloneNode results in invalid namespace declaration
> -----------------------------------------------------------
>
> Key: ODE-663
> URL: https://issues.apache.org/jira/browse/ODE-663
> Project: ODE
> Issue Type: Bug
> Components: BPEL Runtime
> Affects Versions: 1.3.3, 1.3.4
> Reporter: Mark Ford
> Assignee: Karthick Sankarachary
> Priority: Critical
> Fix For: 1.3.5
>
> Attachments: ode1.x-663-v1.txt
>
>
> The DOMUtils.cloneNode code doesn't handle default namespace declarations
> correctly when processing an XQuery result from Saxon.
> For example:
> <ns1:parent xmlns:ns1="abc">
> <ns1:child xmlns="def">
> <ns2:nestedChild xmlns:ns2="def"/>
> </ns1:child>
> </ns1:parent>
> results in:
> <ns1:parent xmlns:ns1="abc">
> <ns1:child xmlns:xmlns="def">
> <ns2:nestedChild xmlns:ns2="def"/>
> </ns1:child>
> </ns1:parent>
> Notice that the default namespace has been rewritten as xmlns:xmlns which is
> invalid.
> Granted the above example is a bit odd, but strange things can happen when
> passing nodes in and out of XSLT and XQuery with respect to namespace
> declarations.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.