[ 
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.

Reply via email to