You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Aki Yoshida (JIRA)" <ji...@apache.org> on 2011/07/28 15:55:09 UTC

[jira] [Created] (CXF-3692) Enhancing the element-append and drop options of InTransformReader used by transform feature

Enhancing the element-append and drop options of InTransformReader used by transform feature
--------------------------------------------------------------------------------------------

                 Key: CXF-3692
                 URL: https://issues.apache.org/jira/browse/CXF-3692
             Project: CXF
          Issue Type: Improvement
          Components: Core
    Affects Versions: 2.4.1
            Reporter: Aki Yoshida
            Assignee: Aki Yoshida
             Fix For: 2.5


The current implementation is limited to 

*transform*
transform the name of an existing element from x1:e1 to x2:e2, 
from 
{code:xml} 
<x1:e1 xmlns:x1="ns1" ...>
  <x3:e3>...</x3:e3>
</x1:e1>
{code}
to
{code:xml} 
<x2:e2 xmlns:x2="ns2">
  <x3:e3>...</x3:e3>
</x2:e2>
{code}
using element property
  key="{ns1}e1" value="{ns2}e2"

*append*
wrap an existing element x1:e1 with a new element x2:e2, 
from 
{code:xml}
<x1:e1 ...>...</x1:e1>
{code}
to
{code:xml} 
<x2:e2 ...>
  <x1:e1 ...>...</x1:e1>
</x2:e2>
{code}
using append property
  key="{ns1}e1" value="{ns2}e2"


*drop*
unwrap an existing element x1:e1 from element x2:e2,
from 
{code:xml}
<x2:e2 ...>
  <x1:e1 ...>...</x1:e1>
</x2:e2>
{code}
to
{code:xml}
<x1:e1 ...>...</x1:e1>
{code}
using drop property
  value="{ns2}e2"



The enhanced implementation provides the following additional operations.

*deep-drop*
drop an existing element x2:e2 completely,
from 
{code:xml}
<x3:e3 ...>
  <x2:e2 ...>
    <x1:e1>...</x1:e1>
  </x2:e2>
  <x2:e4>...</x2:e4>
</x3:e3>
{code}
to 
{code:xml}
<x3:e3 ...>
  <x2:e4>...</x2:e4>
</x3:e3>
{code}
using transform property
  key="{ns2}e2" value=""

In contrast, the previously supported drop (or unwrap) operation can be seen as a shallow drop which results in
{code:xml}
<x3:e3 ...>
  <x1:e1>...</x1:e1>
  <x2:e4>...</x2:e4>
</x3:e3>
{code}
using drop property
  value="{ns2}e2"

*append-pre-include*
append a new element x2:e2 with content v2 before an existing element x1:e1,
from 
{code:xml}
<x3:e3 ...>
  <x1:e1>...</x1:e1>
</x3:e3>
{code}
to 
{code:xml}
<x3:e3 ...>
  <x2:e2>v2</x2:e2>
  <x1:e1>...</x1:e1>
</x3:e3>
{code}
using append property
  key="{ns1}e1" value="{ns2}e2:v2"

*append-post-include*
append a new element x2:e2 with content v2 inside an existing element x3:e3,
from 
{code:xml}
<x3:e3 ...>
  <x1:e1>...</x1:e1>
</x3:e3>
{code}
to 
{code:xml}
<x3:e3 ...>
  <x2:e2>v2</x2:e2>
  <x1:e1>...</x1:e1>
</x3:e3>
{code}
using append property
   key="{ns3}e3/" value="{ns2}e2:v2"

*append-post-wrap*
append a new element x2:e2 to wrap the content of an existing element x3:e3,
from 
{code:xml}
<x3:e3 ...>
  <x1:e1>...</x1:e1>
  <x2:e4>...</x2:e4>
</x3:e3>
{code}
to 
{code:xml}
<x3:e3 ...>
  <x2:e2>
    <x1:e1>...</x1:e1>
    <x2:e4>...</x2:e4>
  </x2:e2>
</x3:e3>
{code}
using append property
  key="{ns3}e3/" value="{ns2}e2"

In contrast, the previously supported append (or wrap) can be considered as append-pre-wrap which results in
{code:xml}
<x2:e2>
  <x3:e3 ...>
    <x1:e1>...</x1:e1>
    <x2:e4>...</x2:e4>
  </x3:e3>
</x2:e2>
{code}
using append property
  key="{ns3}e3" value="{ns2}e2"



--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (CXF-3692) Enhancing the element-append and drop options of InTransformReader used by transform feature

Posted by "Aki Yoshida (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CXF-3692?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aki Yoshida updated CXF-3692:
-----------------------------

    Description: 
The current implementation is limited to 

*transform*
transform the name of an existing element from x1:e1 to x2:e2, 
from 
{code:xml} 
<x1:e1 xmlns:x1="ns1" ...>
  <x3:e3>...</x3:e3>
</x1:e1>
{code}
to
{code:xml} 
<x2:e2 xmlns:x2="ns2">
  <x3:e3>...</x3:e3>
</x2:e2>
{code}
using element property
  key="{ns1}e1" value="{ns2}e2"

*append*
wrap an existing element x1:e1 with a new element x2:e2, 
from 
{code:xml}
<x1:e1 ...>...</x1:e1>
{code}
to
{code:xml} 
<x2:e2 ...>
  <x1:e1 ...>...</x1:e1>
</x2:e2>
{code}
using append property
  key="{ns1}e1" value="{ns2}e2"


*drop*
unwrap an existing element x1:e1 from element x2:e2,
from 
{code:xml}
<x2:e2 ...>
  <x1:e1 ...>...</x1:e1>
</x2:e2>
{code}
to
{code:xml}
<x1:e1 ...>...</x1:e1>
{code}
using drop property
  value="{ns2}e2"



The enhanced implementation provides the following additional operations.

*deep-drop*
drop an existing element x2:e2 completely,
from 
{code:xml}
<x3:e3 ...>
  <x2:e2 ...>
    <x1:e1>...</x1:e1>
  </x2:e2>
  <x2:e4>...</x2:e4>
</x3:e3>
{code}
to 
{code:xml}
<x3:e3 ...>
  <x2:e4>...</x2:e4>
</x3:e3>
{code}
using transform property
  key="{ns2}e2" value=""

In contrast, the previously supported drop (or unwrap) operation can be seen as a shallow drop which results in
{code:xml}
<x3:e3 ...>
  <x1:e1>...</x1:e1>
  <x2:e4>...</x2:e4>
</x3:e3>
{code}
using drop property
  value="{ns2}e2"

*append-pre-include*
append a new element x2:e2 with content v2 before an existing element x1:e1,
from 
{code:xml}
<x3:e3 ...>
  <x1:e1>...</x1:e1>
</x3:e3>
{code}
to 
{code:xml}
<x3:e3 ...>
  <x2:e2>v2</x2:e2>
  <x1:e1>...</x1:e1>
</x3:e3>
{code}
using append property
  key="{ns1}e1" value="{ns2}e2:v2"

*append-post-include*
append a new element x2:e2 with content v2 inside an existing element x3:e3,
from 
{code:xml}
<x3:e3 ...>
  <x1:e1>...</x1:e1>
</x3:e3>
{code}
to 
{code:xml}
<x3:e3 ...>
  <x2:e2>v2</x2:e2>
  <x1:e1>...</x1:e1>
</x3:e3>
{code}
using append property
   key="{ns3}e3/" value="{ns2}e2:v2"

*append-post-wrap*
append a new element x2:e2 to wrap the content of an existing element x3:e3,
from 
{code:xml}
<x3:e3 ...>
  <x1:e1>...</x1:e1>
  <x2:e4>...</x2:e4>
</x3:e3>
{code}
to 
{code:xml}
<x3:e3 ...>
  <x2:e2>
    <x1:e1>...</x1:e1>
    <x2:e4>...</x2:e4>
  </x2:e2>
</x3:e3>
{code}
using append property
  key="{ns3}e3/" value="{ns2}e2"

In contrast, the previously supported append (or wrap) can be considered as append-pre-wrap which results in
{code:xml}
<x2:e2>
  <x3:e3 ...>
    <x1:e1>...</x1:e1>
    <x2:e4>...</x2:e4>
  </x3:e3>
</x2:e2>
{code}
using append property
  key="{ns3}e3" value="{ns2}e2"

The discussion regarding this change was discussed on users@cxf.
http://cxf.547215.n5.nabble.com/Problem-with-new-transform-feature-td4599185.html#a4600916

This change also corrects the issues reported in CXF-3681.



  was:
The current implementation is limited to 

*transform*
transform the name of an existing element from x1:e1 to x2:e2, 
from 
{code:xml} 
<x1:e1 xmlns:x1="ns1" ...>
  <x3:e3>...</x3:e3>
</x1:e1>
{code}
to
{code:xml} 
<x2:e2 xmlns:x2="ns2">
  <x3:e3>...</x3:e3>
</x2:e2>
{code}
using element property
  key="{ns1}e1" value="{ns2}e2"

*append*
wrap an existing element x1:e1 with a new element x2:e2, 
from 
{code:xml}
<x1:e1 ...>...</x1:e1>
{code}
to
{code:xml} 
<x2:e2 ...>
  <x1:e1 ...>...</x1:e1>
</x2:e2>
{code}
using append property
  key="{ns1}e1" value="{ns2}e2"


*drop*
unwrap an existing element x1:e1 from element x2:e2,
from 
{code:xml}
<x2:e2 ...>
  <x1:e1 ...>...</x1:e1>
</x2:e2>
{code}
to
{code:xml}
<x1:e1 ...>...</x1:e1>
{code}
using drop property
  value="{ns2}e2"



The enhanced implementation provides the following additional operations.

*deep-drop*
drop an existing element x2:e2 completely,
from 
{code:xml}
<x3:e3 ...>
  <x2:e2 ...>
    <x1:e1>...</x1:e1>
  </x2:e2>
  <x2:e4>...</x2:e4>
</x3:e3>
{code}
to 
{code:xml}
<x3:e3 ...>
  <x2:e4>...</x2:e4>
</x3:e3>
{code}
using transform property
  key="{ns2}e2" value=""

In contrast, the previously supported drop (or unwrap) operation can be seen as a shallow drop which results in
{code:xml}
<x3:e3 ...>
  <x1:e1>...</x1:e1>
  <x2:e4>...</x2:e4>
</x3:e3>
{code}
using drop property
  value="{ns2}e2"

*append-pre-include*
append a new element x2:e2 with content v2 before an existing element x1:e1,
from 
{code:xml}
<x3:e3 ...>
  <x1:e1>...</x1:e1>
</x3:e3>
{code}
to 
{code:xml}
<x3:e3 ...>
  <x2:e2>v2</x2:e2>
  <x1:e1>...</x1:e1>
</x3:e3>
{code}
using append property
  key="{ns1}e1" value="{ns2}e2:v2"

*append-post-include*
append a new element x2:e2 with content v2 inside an existing element x3:e3,
from 
{code:xml}
<x3:e3 ...>
  <x1:e1>...</x1:e1>
</x3:e3>
{code}
to 
{code:xml}
<x3:e3 ...>
  <x2:e2>v2</x2:e2>
  <x1:e1>...</x1:e1>
</x3:e3>
{code}
using append property
   key="{ns3}e3/" value="{ns2}e2:v2"

*append-post-wrap*
append a new element x2:e2 to wrap the content of an existing element x3:e3,
from 
{code:xml}
<x3:e3 ...>
  <x1:e1>...</x1:e1>
  <x2:e4>...</x2:e4>
</x3:e3>
{code}
to 
{code:xml}
<x3:e3 ...>
  <x2:e2>
    <x1:e1>...</x1:e1>
    <x2:e4>...</x2:e4>
  </x2:e2>
</x3:e3>
{code}
using append property
  key="{ns3}e3/" value="{ns2}e2"

In contrast, the previously supported append (or wrap) can be considered as append-pre-wrap which results in
{code:xml}
<x2:e2>
  <x3:e3 ...>
    <x1:e1>...</x1:e1>
    <x2:e4>...</x2:e4>
  </x3:e3>
</x2:e2>
{code}
using append property
  key="{ns3}e3" value="{ns2}e2"




> Enhancing the element-append and drop options of InTransformReader used by transform feature
> --------------------------------------------------------------------------------------------
>
>                 Key: CXF-3692
>                 URL: https://issues.apache.org/jira/browse/CXF-3692
>             Project: CXF
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 2.4.1
>            Reporter: Aki Yoshida
>            Assignee: Aki Yoshida
>             Fix For: 2.5
>
>
> The current implementation is limited to 
> *transform*
> transform the name of an existing element from x1:e1 to x2:e2, 
> from 
> {code:xml} 
> <x1:e1 xmlns:x1="ns1" ...>
>   <x3:e3>...</x3:e3>
> </x1:e1>
> {code}
> to
> {code:xml} 
> <x2:e2 xmlns:x2="ns2">
>   <x3:e3>...</x3:e3>
> </x2:e2>
> {code}
> using element property
>   key="{ns1}e1" value="{ns2}e2"
> *append*
> wrap an existing element x1:e1 with a new element x2:e2, 
> from 
> {code:xml}
> <x1:e1 ...>...</x1:e1>
> {code}
> to
> {code:xml} 
> <x2:e2 ...>
>   <x1:e1 ...>...</x1:e1>
> </x2:e2>
> {code}
> using append property
>   key="{ns1}e1" value="{ns2}e2"
> *drop*
> unwrap an existing element x1:e1 from element x2:e2,
> from 
> {code:xml}
> <x2:e2 ...>
>   <x1:e1 ...>...</x1:e1>
> </x2:e2>
> {code}
> to
> {code:xml}
> <x1:e1 ...>...</x1:e1>
> {code}
> using drop property
>   value="{ns2}e2"
> The enhanced implementation provides the following additional operations.
> *deep-drop*
> drop an existing element x2:e2 completely,
> from 
> {code:xml}
> <x3:e3 ...>
>   <x2:e2 ...>
>     <x1:e1>...</x1:e1>
>   </x2:e2>
>   <x2:e4>...</x2:e4>
> </x3:e3>
> {code}
> to 
> {code:xml}
> <x3:e3 ...>
>   <x2:e4>...</x2:e4>
> </x3:e3>
> {code}
> using transform property
>   key="{ns2}e2" value=""
> In contrast, the previously supported drop (or unwrap) operation can be seen as a shallow drop which results in
> {code:xml}
> <x3:e3 ...>
>   <x1:e1>...</x1:e1>
>   <x2:e4>...</x2:e4>
> </x3:e3>
> {code}
> using drop property
>   value="{ns2}e2"
> *append-pre-include*
> append a new element x2:e2 with content v2 before an existing element x1:e1,
> from 
> {code:xml}
> <x3:e3 ...>
>   <x1:e1>...</x1:e1>
> </x3:e3>
> {code}
> to 
> {code:xml}
> <x3:e3 ...>
>   <x2:e2>v2</x2:e2>
>   <x1:e1>...</x1:e1>
> </x3:e3>
> {code}
> using append property
>   key="{ns1}e1" value="{ns2}e2:v2"
> *append-post-include*
> append a new element x2:e2 with content v2 inside an existing element x3:e3,
> from 
> {code:xml}
> <x3:e3 ...>
>   <x1:e1>...</x1:e1>
> </x3:e3>
> {code}
> to 
> {code:xml}
> <x3:e3 ...>
>   <x2:e2>v2</x2:e2>
>   <x1:e1>...</x1:e1>
> </x3:e3>
> {code}
> using append property
>    key="{ns3}e3/" value="{ns2}e2:v2"
> *append-post-wrap*
> append a new element x2:e2 to wrap the content of an existing element x3:e3,
> from 
> {code:xml}
> <x3:e3 ...>
>   <x1:e1>...</x1:e1>
>   <x2:e4>...</x2:e4>
> </x3:e3>
> {code}
> to 
> {code:xml}
> <x3:e3 ...>
>   <x2:e2>
>     <x1:e1>...</x1:e1>
>     <x2:e4>...</x2:e4>
>   </x2:e2>
> </x3:e3>
> {code}
> using append property
>   key="{ns3}e3/" value="{ns2}e2"
> In contrast, the previously supported append (or wrap) can be considered as append-pre-wrap which results in
> {code:xml}
> <x2:e2>
>   <x3:e3 ...>
>     <x1:e1>...</x1:e1>
>     <x2:e4>...</x2:e4>
>   </x3:e3>
> </x2:e2>
> {code}
> using append property
>   key="{ns3}e3" value="{ns2}e2"
> The discussion regarding this change was discussed on users@cxf.
> http://cxf.547215.n5.nabble.com/Problem-with-new-transform-feature-td4599185.html#a4600916
> This change also corrects the issues reported in CXF-3681.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (CXF-3692) Enhancing the element-append and drop options of InTransformReader used by transform feature

Posted by "Aki Yoshida (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CXF-3692?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aki Yoshida updated CXF-3692:
-----------------------------

    Fix Version/s: 2.4.2

> Enhancing the element-append and drop options of InTransformReader used by transform feature
> --------------------------------------------------------------------------------------------
>
>                 Key: CXF-3692
>                 URL: https://issues.apache.org/jira/browse/CXF-3692
>             Project: CXF
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 2.4.1
>            Reporter: Aki Yoshida
>            Assignee: Aki Yoshida
>             Fix For: 2.4.2, 2.5
>
>
> The current implementation is limited to 
> *transform*
> transform the name of an existing element from x1:e1 to x2:e2, 
> from 
> {code:xml} 
> <x1:e1 xmlns:x1="ns1" ...>
>   <x3:e3>...</x3:e3>
> </x1:e1>
> {code}
> to
> {code:xml} 
> <x2:e2 xmlns:x2="ns2">
>   <x3:e3>...</x3:e3>
> </x2:e2>
> {code}
> using element property
>   key="{ns1}e1" value="{ns2}e2"
> *append*
> wrap an existing element x1:e1 with a new element x2:e2, 
> from 
> {code:xml}
> <x1:e1 ...>...</x1:e1>
> {code}
> to
> {code:xml} 
> <x2:e2 ...>
>   <x1:e1 ...>...</x1:e1>
> </x2:e2>
> {code}
> using append property
>   key="{ns1}e1" value="{ns2}e2"
> *drop*
> unwrap an existing element x1:e1 from element x2:e2,
> from 
> {code:xml}
> <x2:e2 ...>
>   <x1:e1 ...>...</x1:e1>
> </x2:e2>
> {code}
> to
> {code:xml}
> <x1:e1 ...>...</x1:e1>
> {code}
> using drop property
>   value="{ns2}e2"
> The enhanced implementation provides the following additional operations.
> *deep-drop*
> drop an existing element x2:e2 completely,
> from 
> {code:xml}
> <x3:e3 ...>
>   <x2:e2 ...>
>     <x1:e1>...</x1:e1>
>   </x2:e2>
>   <x2:e4>...</x2:e4>
> </x3:e3>
> {code}
> to 
> {code:xml}
> <x3:e3 ...>
>   <x2:e4>...</x2:e4>
> </x3:e3>
> {code}
> using transform property
>   key="{ns2}e2" value=""
> In contrast, the previously supported drop (or unwrap) operation can be seen as a shallow drop which results in
> {code:xml}
> <x3:e3 ...>
>   <x1:e1>...</x1:e1>
>   <x2:e4>...</x2:e4>
> </x3:e3>
> {code}
> using drop property
>   value="{ns2}e2"
> *append-pre-include*
> append a new element x2:e2 with content v2 before an existing element x1:e1,
> from 
> {code:xml}
> <x3:e3 ...>
>   <x1:e1>...</x1:e1>
> </x3:e3>
> {code}
> to 
> {code:xml}
> <x3:e3 ...>
>   <x2:e2>v2</x2:e2>
>   <x1:e1>...</x1:e1>
> </x3:e3>
> {code}
> using append property
>   key="{ns1}e1" value="{ns2}e2:v2"
> *append-post-include*
> append a new element x2:e2 with content v2 inside an existing element x3:e3,
> from 
> {code:xml}
> <x3:e3 ...>
>   <x1:e1>...</x1:e1>
> </x3:e3>
> {code}
> to 
> {code:xml}
> <x3:e3 ...>
>   <x2:e2>v2</x2:e2>
>   <x1:e1>...</x1:e1>
> </x3:e3>
> {code}
> using append property
>    key="{ns3}e3/" value="{ns2}e2:v2"
> *append-post-wrap*
> append a new element x2:e2 to wrap the content of an existing element x3:e3,
> from 
> {code:xml}
> <x3:e3 ...>
>   <x1:e1>...</x1:e1>
>   <x2:e4>...</x2:e4>
> </x3:e3>
> {code}
> to 
> {code:xml}
> <x3:e3 ...>
>   <x2:e2>
>     <x1:e1>...</x1:e1>
>     <x2:e4>...</x2:e4>
>   </x2:e2>
> </x3:e3>
> {code}
> using append property
>   key="{ns3}e3/" value="{ns2}e2"
> In contrast, the previously supported append (or wrap) can be considered as append-pre-wrap which results in
> {code:xml}
> <x2:e2>
>   <x3:e3 ...>
>     <x1:e1>...</x1:e1>
>     <x2:e4>...</x2:e4>
>   </x3:e3>
> </x2:e2>
> {code}
> using append property
>   key="{ns3}e3" value="{ns2}e2"
> The discussion regarding this change was discussed on users@cxf.
> http://cxf.547215.n5.nabble.com/Problem-with-new-transform-feature-td4599185.html#a4600916
> This change also corrects the issues reported in CXF-3681.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Resolved] (CXF-3692) Enhancing the element-append and drop options of InTransformReader used by transform feature

Posted by "Daniel Kulp (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CXF-3692?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Kulp resolved CXF-3692.
------------------------------

    Resolution: Fixed


Since these testcases are integrated, I assume this is resolved.  If not, please re-open.

> Enhancing the element-append and drop options of InTransformReader used by transform feature
> --------------------------------------------------------------------------------------------
>
>                 Key: CXF-3692
>                 URL: https://issues.apache.org/jira/browse/CXF-3692
>             Project: CXF
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 2.4.1
>            Reporter: Aki Yoshida
>            Assignee: Aki Yoshida
>             Fix For: 2.4.2, 2.5
>
>
> The current implementation is limited to 
> *transform*
> transform the name of an existing element from x1:e1 to x2:e2, 
> from 
> {code:xml} 
> <x1:e1 xmlns:x1="ns1" ...>
>   <x3:e3>...</x3:e3>
> </x1:e1>
> {code}
> to
> {code:xml} 
> <x2:e2 xmlns:x2="ns2">
>   <x3:e3>...</x3:e3>
> </x2:e2>
> {code}
> using element property
>   key="{ns1}e1" value="{ns2}e2"
> *append*
> wrap an existing element x1:e1 with a new element x2:e2, 
> from 
> {code:xml}
> <x1:e1 ...>...</x1:e1>
> {code}
> to
> {code:xml} 
> <x2:e2 ...>
>   <x1:e1 ...>...</x1:e1>
> </x2:e2>
> {code}
> using append property
>   key="{ns1}e1" value="{ns2}e2"
> *drop*
> unwrap an existing element x1:e1 from element x2:e2,
> from 
> {code:xml}
> <x2:e2 ...>
>   <x1:e1 ...>...</x1:e1>
> </x2:e2>
> {code}
> to
> {code:xml}
> <x1:e1 ...>...</x1:e1>
> {code}
> using drop property
>   value="{ns2}e2"
> The enhanced implementation provides the following additional operations.
> *deep-drop*
> drop an existing element x2:e2 completely,
> from 
> {code:xml}
> <x3:e3 ...>
>   <x2:e2 ...>
>     <x1:e1>...</x1:e1>
>   </x2:e2>
>   <x2:e4>...</x2:e4>
> </x3:e3>
> {code}
> to 
> {code:xml}
> <x3:e3 ...>
>   <x2:e4>...</x2:e4>
> </x3:e3>
> {code}
> using transform property
>   key="{ns2}e2" value=""
> In contrast, the previously supported drop (or unwrap) operation can be seen as a shallow drop which results in
> {code:xml}
> <x3:e3 ...>
>   <x1:e1>...</x1:e1>
>   <x2:e4>...</x2:e4>
> </x3:e3>
> {code}
> using drop property
>   value="{ns2}e2"
> *append-pre-include*
> append a new element x2:e2 with content v2 before an existing element x1:e1,
> from 
> {code:xml}
> <x3:e3 ...>
>   <x1:e1>...</x1:e1>
> </x3:e3>
> {code}
> to 
> {code:xml}
> <x3:e3 ...>
>   <x2:e2>v2</x2:e2>
>   <x1:e1>...</x1:e1>
> </x3:e3>
> {code}
> using append property
>   key="{ns1}e1" value="{ns2}e2:v2"
> *append-post-include*
> append a new element x2:e2 with content v2 inside an existing element x3:e3,
> from 
> {code:xml}
> <x3:e3 ...>
>   <x1:e1>...</x1:e1>
> </x3:e3>
> {code}
> to 
> {code:xml}
> <x3:e3 ...>
>   <x2:e2>v2</x2:e2>
>   <x1:e1>...</x1:e1>
> </x3:e3>
> {code}
> using append property
>    key="{ns3}e3/" value="{ns2}e2:v2"
> *append-post-wrap*
> append a new element x2:e2 to wrap the content of an existing element x3:e3,
> from 
> {code:xml}
> <x3:e3 ...>
>   <x1:e1>...</x1:e1>
>   <x2:e4>...</x2:e4>
> </x3:e3>
> {code}
> to 
> {code:xml}
> <x3:e3 ...>
>   <x2:e2>
>     <x1:e1>...</x1:e1>
>     <x2:e4>...</x2:e4>
>   </x2:e2>
> </x3:e3>
> {code}
> using append property
>   key="{ns3}e3/" value="{ns2}e2"
> In contrast, the previously supported append (or wrap) can be considered as append-pre-wrap which results in
> {code:xml}
> <x2:e2>
>   <x3:e3 ...>
>     <x1:e1>...</x1:e1>
>     <x2:e4>...</x2:e4>
>   </x3:e3>
> </x2:e2>
> {code}
> using append property
>   key="{ns3}e3" value="{ns2}e2"
> The discussion regarding this change was discussed on users@cxf.
> http://cxf.547215.n5.nabble.com/Problem-with-new-transform-feature-td4599185.html#a4600916
> This change also corrects the issues reported in CXF-3681.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CXF-3692) Enhancing the element-append and drop options of InTransformReader used by transform feature

Posted by "Aki Yoshida (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CXF-3692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13072399#comment-13072399 ] 

Aki Yoshida commented on CXF-3692:
----------------------------------

Those complexReq* test cases are integrated from Andi's contributed patches for CXF-3681.
Thanks Andi.

Regards, aki

> Enhancing the element-append and drop options of InTransformReader used by transform feature
> --------------------------------------------------------------------------------------------
>
>                 Key: CXF-3692
>                 URL: https://issues.apache.org/jira/browse/CXF-3692
>             Project: CXF
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 2.4.1
>            Reporter: Aki Yoshida
>            Assignee: Aki Yoshida
>             Fix For: 2.5
>
>
> The current implementation is limited to 
> *transform*
> transform the name of an existing element from x1:e1 to x2:e2, 
> from 
> {code:xml} 
> <x1:e1 xmlns:x1="ns1" ...>
>   <x3:e3>...</x3:e3>
> </x1:e1>
> {code}
> to
> {code:xml} 
> <x2:e2 xmlns:x2="ns2">
>   <x3:e3>...</x3:e3>
> </x2:e2>
> {code}
> using element property
>   key="{ns1}e1" value="{ns2}e2"
> *append*
> wrap an existing element x1:e1 with a new element x2:e2, 
> from 
> {code:xml}
> <x1:e1 ...>...</x1:e1>
> {code}
> to
> {code:xml} 
> <x2:e2 ...>
>   <x1:e1 ...>...</x1:e1>
> </x2:e2>
> {code}
> using append property
>   key="{ns1}e1" value="{ns2}e2"
> *drop*
> unwrap an existing element x1:e1 from element x2:e2,
> from 
> {code:xml}
> <x2:e2 ...>
>   <x1:e1 ...>...</x1:e1>
> </x2:e2>
> {code}
> to
> {code:xml}
> <x1:e1 ...>...</x1:e1>
> {code}
> using drop property
>   value="{ns2}e2"
> The enhanced implementation provides the following additional operations.
> *deep-drop*
> drop an existing element x2:e2 completely,
> from 
> {code:xml}
> <x3:e3 ...>
>   <x2:e2 ...>
>     <x1:e1>...</x1:e1>
>   </x2:e2>
>   <x2:e4>...</x2:e4>
> </x3:e3>
> {code}
> to 
> {code:xml}
> <x3:e3 ...>
>   <x2:e4>...</x2:e4>
> </x3:e3>
> {code}
> using transform property
>   key="{ns2}e2" value=""
> In contrast, the previously supported drop (or unwrap) operation can be seen as a shallow drop which results in
> {code:xml}
> <x3:e3 ...>
>   <x1:e1>...</x1:e1>
>   <x2:e4>...</x2:e4>
> </x3:e3>
> {code}
> using drop property
>   value="{ns2}e2"
> *append-pre-include*
> append a new element x2:e2 with content v2 before an existing element x1:e1,
> from 
> {code:xml}
> <x3:e3 ...>
>   <x1:e1>...</x1:e1>
> </x3:e3>
> {code}
> to 
> {code:xml}
> <x3:e3 ...>
>   <x2:e2>v2</x2:e2>
>   <x1:e1>...</x1:e1>
> </x3:e3>
> {code}
> using append property
>   key="{ns1}e1" value="{ns2}e2:v2"
> *append-post-include*
> append a new element x2:e2 with content v2 inside an existing element x3:e3,
> from 
> {code:xml}
> <x3:e3 ...>
>   <x1:e1>...</x1:e1>
> </x3:e3>
> {code}
> to 
> {code:xml}
> <x3:e3 ...>
>   <x2:e2>v2</x2:e2>
>   <x1:e1>...</x1:e1>
> </x3:e3>
> {code}
> using append property
>    key="{ns3}e3/" value="{ns2}e2:v2"
> *append-post-wrap*
> append a new element x2:e2 to wrap the content of an existing element x3:e3,
> from 
> {code:xml}
> <x3:e3 ...>
>   <x1:e1>...</x1:e1>
>   <x2:e4>...</x2:e4>
> </x3:e3>
> {code}
> to 
> {code:xml}
> <x3:e3 ...>
>   <x2:e2>
>     <x1:e1>...</x1:e1>
>     <x2:e4>...</x2:e4>
>   </x2:e2>
> </x3:e3>
> {code}
> using append property
>   key="{ns3}e3/" value="{ns2}e2"
> In contrast, the previously supported append (or wrap) can be considered as append-pre-wrap which results in
> {code:xml}
> <x2:e2>
>   <x3:e3 ...>
>     <x1:e1>...</x1:e1>
>     <x2:e4>...</x2:e4>
>   </x3:e3>
> </x2:e2>
> {code}
> using append property
>   key="{ns3}e3" value="{ns2}e2"
> The discussion regarding this change was discussed on users@cxf.
> http://cxf.547215.n5.nabble.com/Problem-with-new-transform-feature-td4599185.html#a4600916
> This change also corrects the issues reported in CXF-3681.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira