Re: [castor-dev] Unmarshalling with different namespaces
Werner Guttmann <[email protected]> Wed, 16 May 2012 09:45:59 +0200
| Newsgroups | gmane.comp.java.castor.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi,
switching this conversation to the user list, as that's where it should
take place.
For answers to your questions, please see inline.
Kind Regards
Werner
On 15.05.2012 18:20, AJO wrote:
>
> Hi,
>
> I can't get unmarshalling to work with a combination of default namespace
> and specific namespace.
>
> The passed xml is the following:
> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
> <clc:CalculationOutput
> xmlns:clc="http://aaa.bbb.cc/ns/Calc/CalculInOut/CalcElement"
> xmlns="http://www.example.org/example"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> <clc:RuntimeConfiguration id="ID:a6db6635" name="runtime1" version="0.3"/>
> <clc:Calculation>
> <field1 ref="S442">
> <Features>
> <ID>28</ID>
> <year>2011</year>
> <quarter>1</quarter>
> <amount>216187.23</amount>
> </Features>
> </field1>
> </clc:Calculation>
> </clc:CalculationOutput>
>
>
> I can only get the above xml to get unmarshalled by adding xmlns="" to the
> ID, year, quarter and amount fields, so it seems the default schema is never
> taken into account.
>
> How can I get the above mapped in castor, taking into account the default
> schema?
>
> This is the mapping file working when I add xmlns="" to the detail fields:
> <?xml version="1.0"?>
> <!DOCTYPE mapping PUBLIC "-//EXOLAB/Castor Mapping DTD Version 1.0//EN"
> "http://castor.org/mapping.dtd">
> <!--mapping xmlns:clc="http://aaa.bbb.cc/ns/Calc/CalculInOut/CalcElement"
> xmlns="http://www.example.org/field1"
> xsi:schemaLocation="C:/resources/schema/schemalocation.xsd"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"-->
> <mapping>
>
> <class name="entity.CalculationOutput">
> <map-to xml="CalculationOutput" ns-prefix="clc"/>
You still need to define the namespace URI to which you want this (and
all other classes, of course) class to be bound:
<class name="entity.CalculationOutput">
<map-to xml="CalculationOutput"
ns-uri="http://aaa.bbb.cc/ns/Calc/CalculInOut/CalcElement"
ns-prefix="clc"/>
Can you please add those bindings accordingly, and everything should be set.
>
> <field name="versie" type="entity.output.CalculatorVersie">
> <bind-xml name="RuntimeConfiguration"/>
> </field>
>
> <field name="field1" type="entity.output.CalculatorBw">
> <bind-xml name="field1" location="Calculation"/>
> </field>
> </class>
>
>
> <class name="entity.output.CalculatorBw">
> <map-to xml="field1" ns-prefix=""/>
>
> <field name="id" type="string">
> <bind-xml name="ref" node="attribute"/>
> </field>
>
> <field name="number" type="string">
> <bind-xml name="ID" node="element" location="Features"/>
> </field>
>
> <field name="year" type="string">
> <bind-xml name="year" node="element" location="Features"/>
> </field>
>
> <field name="quarter" type="string">
> <bind-xml name="quarter" node="element" location="Features"/>
> </field>
>
> <field name="amount" type="string">
> <bind-xml name="amount" node="element" location="Features"/>
> </field>
> </class>
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email