Bill, Whilst I am a committer on the Castor project, I do specialize in Castor JDO mainly. Whilst I try to help wherever I can, there's others who have got more to say with regards to Castor XML. Please have some patience, as I am sure that one of the XML committers will reply to your question soon.
Regards Werner > -----Original Message----- > From: Bill Leng [mailto:[EMAIL PROTECTED] > Sent: Mittwoch, 23. November 2005 14:53 > To: [email protected] > Subject: Re: [castor-user] [XML/JDO] Problems using > ClassDescriptors and a mapping file > > Werner, > > I am not sure if you see my post to this thread. The source > generator is broken when dealing with xsd:enumeration with > the base type xsd:NMTOKEN and xsd:inteter. There may be > others but I only encountered these two. I filed a bug on > this (CASTOR-1267). Can you verify if this is the same bug here? > > thanks > > Bill > > Werner Guttmann wrote: > > Stefan, > > > > Can you please create a new issue at > > http://jira.codehaus.org/browse/CASTOR, and attach all > relevant files > > to replay your problem. Iow, at least the mapping file (relevant > > portions > > only) and the Java class as generated. If you could follow the bug > > submission guidelines available at > > > > http://www.castor.org/how-to-submit-a-bug.html > > > > that would really help us > > > > FYI, I think I know what the problem is, but I need a test case to > > play with, and I'd appreciate your help here (hence me > asking you to > > file a new bug report). > > > > Thanks > > Werner > > > > > >>-----Original Message----- > >>From: Stefan Lober [mailto:[EMAIL PROTECTED] > >>Sent: Mittwoch, 23. November 2005 12:51 > >>To: [email protected] > >>Subject: RE: [castor-user] [XML/JDO] Problems using > ClassDescriptors > >>and a mapping file > >> > >>Werner, > >> > >>I have attached the stack trace. > >> > >>Regards, > >>Stefan > >> > >> --- Werner Guttmann <[EMAIL PROTECTED]> > >>schrieb: > >> > >>>Stefan, > >>> > >>>Based upon Keith's comment, can you please post the complete stack > >>>trace ? > >>> > >>>Werner > >>> > >>> > >>>>-----Original Message----- > >>>>From: Keith Visco [mailto:[EMAIL PROTECTED] > >>>>Sent: Mittwoch, 23. November 2005 06:19 > >>>>To: [email protected] > >>>>Subject: Re: [castor-user] [XML/JDO] Problems > >>> > >>>using > >>> > >>>>ClassDescriptors and a mapping file > >>>> > >>>>Stefan, > >>>> > >>>>Type-safe enum style classes are generated without > >>> > >>>a default > >>> > >>>>constructor. Castor XML handles these types of > >>> > >>>classes, I > >>> > >>>>believe some work recently went into Castor JDO > >>> > >>>for > >>> > >>>>supporting them as well, but I don't know the > >>> > >>>extent of their support. > >>> > >>>> > >>http://castor.codehaus.org/xml-mapping.html#7.5-Type-safe-enum > >> > >>>>eration-mapping > >>>> > >>>> > >>>>You can use descriptors with a mapping, but the > >>> > >>>mapping will > >>> > >>>>take precedence, so I recommend you remove any > >>> > >>>items from the > >>> > >>>>mapping file that you don't want to customize and > >>> > >>>then let > >>> > >>>>the descriptors handle the rest. > >>>> > >>>>If you want to override just one field and let the > >>> > >>>generated > >>> > >>>>descriptor do the rest, you can do the following: > >>>> > >>>><class name="Foo" auto-complete="true"> > >>>> <field name="bar" handler="BarHandler"/> > >>> > >>></class> > >>> > >>>>Castor will load the FooDescriptor and then > >>> > >>>override the > >>> > >>>>associated bar FieldDescriptor with the above > >>> > >>>mapping. > >>> > >>>>You can also specify a GeneralizedFieldHandler > >>> > >>>without a > >>> > >>>>mapping file if you use a binding-file during > >>> > >>>source generation. > >>> > >>>>--Keith > >>>> > >>>> > >>>> > >>>>Stefan Lober wrote: > >>>> > >>>>>Hello, > >>>>>I have built my project around Castor using an > >>> > >>>XML Schema > >>> > >>>>as starting > >>>> > >>>>>point for my development. > >>>>>The development process is planned to be as > >>> > >>>follows: > >>> > >>>>>XSD => Java source (via SourceGenerator) Java > >>> > >>>source => > >>> > >>>>Java classes > >>>> > >>>>>(Java compiler) Java classes => mapping file for > >>> > >>>XML&JDO > >>> > >>>>(MappingTool) > >>>> > >>>>>I have modified the MappingTool class, so that > >>> > >>>it also > >>> > >>>>integrates JDO > >>>> > >>>>>mapping information in my mapping file. > >>>>>The intention is to unmarshal an XML document > >>> > >>>(described by > >>> > >>>>the XSD) > >>>> > >>>>>and persist it in the database. > >>>>> > >>>>>Unfortunately, a construct in the XSD causes > >>> > >>>some problems. This is > >>> > >>>>>it: > >>>>> > >>>>><element name="state"> > >>>>> <complexType mixed="true"> > >>>>> <attribute name="id" type="int" use="optional" > >>> > >>>/> > >>> > >>>>> <attribute name="state-moment" use="required"> > >>>>> <simpleType> > >>>>> <restriction base="NMTOKEN"> > >>>>> <enumeration value="Unknown" /> > >>>>> <enumeration value="StateEnd" /> > >>>>> <enumeration value="StateBegin" /> > >>>>> </restriction> > >>>>> </simpleType> > >>>>> </attribute> > >>>>> <attribute name="stamptime" type="string" > >>>>>use="required" /> > >>>>> </complexType> > >>>>></element> > >>>>> > >>>>>This element is referenced from a another > >>> > >>>element in the schema. > >>> > >>>>>First, I had let the SourceGenerator generate > >>> > >>>ONLY the > >>> > >>>>classes and NO > >>>> > >>>>>class descriptors (with -gen-mapping and > >>> > >>>-nodesc). > >>> > >>>>>I get this mapping back from MappingTool: > >>>>> > >>>>><class cst:name="log.State" > >>>>>cst:depends="log.Systemstates" cst:identity="id" > >>>>>cst:key-generator="MAX"> > >>>>> <description>Default mapping for class > >>> > >>>log.State</description> > >>> > >>>>> <map-to cst:table="State" cst:xml="state" /> > >>> > >>><field > >>> > >>>>cst:name="valid" > >>>> > >>>>>cst:type="boolean"> > >>>>> <sql name="valid" dirty="check" /> > >>>>> <bind-xml name="valid" node="attribute" /> > >>>>> </field> > >>>>><field cst:name="id" cst:type="integer"> > >>>>> <sql name="id" type="integer" dirty="check" /> > >>> > >>>>> <bind-xml name="id" node="attribute" /> > >>>>> </field> > >>>>><field cst:name="content" cst:type="string"> > >>>>> <sql name="content" type="char" dirty="check" > >>> > >>>/> > >>> > >>>>> <bind-xml name="content" node="element" /> > >>>>> </field> > >>>>><field cst:name="stamptime" cst:type="string"> > >>>>> <sql name="stamptime" type="char" > >>> > >>>dirty="check" /> > >>> > >>>>> <bind-xml name="stamptime" node="element" /> > >>>>> </field> > >>>>></class> > >>>>> > >>>>>This gives me the following error when the > >>> > >>>unmarshal method > >>> > >>>>is called: > >>>> > >>>>>Illegal Text data found as child of: state > >>>>> value: "INIT"{file: [not available]; line: 5; > >>>>>column: 85} > >>>>> at > >>>>> > >>> > >>org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:671) > >> > >>>>>The according XML line ist this: > >>>>> > >>>>><state state-moment="StateBegin" > >>>>>stamptime="2005-10-25T11:46:09" >INIT</state> > >>>>> > >>>>>--------------------------------- > >>>>> > >>>>>So I tried using the class descriptors. > >>> > >>>Unmarshalling the > >>> > >>>>XML document > >>>> > >>>>>works now. But as soon as I try to persist the > >>> > >>>data in the > >>> > >>>>DB, I have > >>>> > >>>>>to use the generated mapping (form MappingTool). > >>> > >>>The call of > >>> > >>>>>JDOManager.loadConfiguration results in the > >>> > >>>following > >>> > >>>>>exception: > >>>>> > >>>>>org.exolab.castor.mapping.MappingException: The > >>> > >>>Java class > >>> > >>>>>log.types.StateStateMomentType is not > >>> > >>>constructable -- it does not > >>> > >>>>>contain a default public constructor > >>>>> at > >>>>> > >>>> > >>org.exolab.castor.mapping.loader.ClassDescriptorImpl.<init>( > ClassDescr > >> > >>>>>iptorImpl.java:161) > >>>>> > >>>>>Is my approach of using class descriptors AND a > >>> > >>>mapping file the > >>> > >>>>>reason for this problem? > >>>>>Is it possible to solve this? > >>>>> > >>>>>Another question: Is it possible to use a > >>> > >>>GerealizedFieldHandler > >>> > >>>>>WITHOUT a mapping file? > >>>>> > >>>>>Any hint would be appreciated. > >>>>> > >>>>>Stefan > >>>>> > >>> > >>=== message truncated === > >> > >> > >> > >> > >> > >> > >> > >>___________________________________________________________ > >>Gesendet von Yahoo! Mail - Jetzt mit 1GB Speicher kostenlos - Hier > >>anmelden: http://mail.yahoo.de > >> > > > > > > ------------------------------------------------- > > If you wish to unsubscribe from this list, please send an empty > > message to the following address: > > > > [EMAIL PROTECTED] > > ------------------------------------------------- > > > > ------------------------------------------------- > If you wish to unsubscribe from this list, please send an > empty message to the following address: > > [EMAIL PROTECTED] > ------------------------------------------------- > > > ------------------------------------------------- If you wish to unsubscribe from this list, please send an empty message to the following address: [EMAIL PROTECTED] -------------------------------------------------

