Hi Sergey,
you are right. This use case is rather strange and actually not
xml-compliant. It can be considered a non-xml legacy (ie., xml-looking
but not xml) application connecting case.

I heard of a similar use case for the outbound direction (I think the
outbound case is more likely than the inbound case, as some old legacy
systems sometimes have such non-xml legacy interfaces).

To get the optimal solution, wecan wait a little bit to hear more from
cogitate and others about the justification for this option and their
requirements. In particular for cogitate's case, if they know the
namespaces on the original document, they can configure a few
namespace mapping rules explicitly to collapse the namespaces. That
will solve their problem without any new option.

regards, aki

2012/3/12 Sergey Beryozkin <[email protected]>:
> Hi Aki
>
> On 12/03/12 09:43, Aki Yoshida wrote:
>>
>> hi cogitate,
>> so, basically you want to remove all the namspaces and assign a new
>> one in a general way (i.e., without knowing the namespaces used in the
>> original document)?
>
>
> I'm not sure yet what specific case it would help with, do we have a
> scenario where an outgoing element has 2/3 active namespaces and the
> receiver is expecting a single namespace only ?
>
> Is it more an optimization enhancement (why type {bar}*: {foo}*) rather than
> anything else ?
>
>>
>> @sergey,
>> I think this will be straightforward and we can include this option.
>>
> Agreed
>
> Cheers, Sergey
>
>
>> regards, aki
>>
>> 2012/3/11 cogitate<[email protected]>:
>>>
>>> hi sergey :
>>> any chance of the following test case for in transform reader?
>>> the problem is there are  two vendors who don't care about the contract
>>> of
>>> namespaces.
>>> maybe {*}* can do "matches" instead of "equals"?
>>> [ i am using cxf-2.5.2 ]
>>>
>>> it seems the namespaces the vendors generate may not even be specific..
>>>
>>> from vendor -
>>> <ns0:Echo_PayloadResponse xmlns:ns0="tns"><ns1:Payload
>>> xmlns:ns1="None">Y</ns1:Payload></ns0:Echo_PayloadResponse>
>>>
>>> what we need - something like :
>>> <ps1:Echo_PayloadResponse
>>>
>>> xmlns:ps1="http://schemas.w3c.org/W3C";><ps1:Payload>Y</ps1:Payload></ps1:Echo_PayloadResponse>
>>>
>>> thanks in advance,
>>> -cogitate
>>>
>>>  @Test
>>>    public void testSpecificNS() throws Exception
>>>    {
>>>        String input = "<ns0:Echo_PayloadResponse
>>> xmlns:ns0=\"tns\"></ns0:Echo_PayloadResponse>";
>>>        InputStream is = new ByteArrayInputStream(input.getBytes());
>>>        XMLStreamReader reader = StaxUtils.createXMLStreamReader(is);
>>>        reader = new InTransformReader(reader,
>>>
>>> Collections.singletonMap("{*}*","{http://schemas.w3c.org/W3C}*";),
>>>                                       null, false);
>>>        ByteArrayOutputStream bos = new ByteArrayOutputStream();
>>>        StaxUtils.copy(reader,bos);
>>>        String value = bos.toString();
>>>        System.out.println("[input="+input+" output="+value+"]");
>>>        //expect: [input=<ns0:Echo_PayloadResponse
>>> xmlns:ns0="tns"></ns0:Echo_PayloadResponse>
>>>  output=<ps1:Echo_PayloadResponse
>>> xmlns:ps1="http://schemas.w3c.org/W3C"/>]
>>>        assertTrue("<ps1:Echo_PayloadResponse
>>> xmlns:ps1=\"http://schemas.w3c.org/W3C\"/>".equals(value));
>>>    }
>>>
>>>
>>>
>>>
>>>
>>>
>>> --
>>> View this message in context:
>>> http://cxf.547215.n5.nabble.com/InTransformReader-Test-possible-enhancement-tp5554151p5554151.html
>>> Sent from the cxf-user mailing list archive at Nabble.com.
>
>
>

Reply via email to