Hello,
i am preparing a dummy project about my issue including xsds and jaxb2
compilation and unmarshalling and i will upload this to jira as you
suggested. Btw, are you defining mapping file for the example above? could
you please post it if you are using one?

Regards,


On 8/6/07, Matthias Epheser <[EMAIL PROTECTED]> wrote:
>
> hi,
>
> v.soloist schrieb:
> > Hello,
> > i am trying to unmarshall an xml file using castor mapping to my jaxb2
> > generated sources. the xml is deformed in some way that i cannot use
> > jaxb2 unmarshalling directly. I saw a project proposal about supporting
> > jaxb2 types but i assume it is quite new and could not see any source
> > code about that.
>
> I'm working on the jaxb2 integration project this summer and
> accidentally on the enum types at the moment. Apart from the jaxb2
> annotations, the current castor branch supports the enum type in some
> ways (maybe you have some special situation that is not covered).
>
> I wrote a small test yesterday and unmarshalling the following works:
>
>     <xsd:element name="root">
>       <xsd:complexType>
>         <xsd:sequence>
>                 <xsd:element name="state" type="USState"/>
>         </xsd:sequence>
>       </xsd:complexType>
>     </xsd:element>
>
>     <xsd:simpleType name="USState">
>        <xsd:restriction base="xsd:NCName">
>        <xsd:enumeration value="AK"/>
>        <xsd:enumeration value="AL"/>
>      </xsd:restriction>
>    </xsd:simpleType>
>
> public class Root {
>    private USState state;
>    public void setUSState(..)..
>    public USState getUSState()
> }
>
> public enum USState{
>     AK,AL;
> }
>
> input file:
>
> <root>
>    <state>AL</state>
> </root>
>
> output:
>
> Root root = (Root) unmarshaller.unmarshal(inputSource);
> System.out.println(root.getState()); -> "AL"
>
> Maybe you can reduce your problem to just the parent class and the enum,
> in addition with a simple input file and detailed information about your
> setting (castor version, binding file yes/no, ... ), and attach it to a
> new jira issue at http://jira.codehaus.org/.
>
> Then I can try to reproduce your problem and give you more competent
> feedback.
>
> Regards
>
> Matthias
>
> Actually the only problem in my case seems to be the
> > enumeration types of jaxb2.
> > i tried using custom handlers for this type but as far as i can
> > understand from the examples,the value from the xml needs to be casted
> > to the original object first and then processed for formatting and
> > such.This is the class that i cannot map to
> >
> > public enum MyEnum {
> >
> >     @XmlEnumValue("2")
> >     TWO("2");
> >     private final String value;
> >
> >     MyEnum(String v) {
> >         value = v;
> >     }
> >
> >     public String value() {
> >         return value;
> >     }
> >
> >     public MyEnum setValue(String x) {
> >         return this.fromValue(x);
> >     }
> >
> >     public static MyEnum fromValue(String v) {
> >         for (MyEnum c: MyEnum.values()) {
> >             if (c.value.equals(v)) {
> >                 return c;
> >             }
> >         }
> >         throw new IllegalArgumentException(v);
> >     }
> >
> >
> > }
> >
> > i tried to create a class with just a string value and casting the xml
> > value to this but i could not convert it back with the custom handler
> > and add it to the  parent object that is going to be unmarshalled. Am i
> > missing something here?  Any pointers would  be helpful,
> > Thanks is advance,
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe from this list please visit:
>
>     http://xircles.codehaus.org/manage_email
>
>

Reply via email to