H Bill, Your element is oneof and your class TEST1. Are you sure they are a match?
> -----Original Message----- > From: Bill Laird [mailto:willydog66@;hotmail.com] > Sent: Tuesday, October 29, 2002 6:56 AM > To: [EMAIL PROTECTED] > Subject: [castor-dev] Validation exception with default code > generation > > > First time poster, short time lurker. The castor rocks! I hope I don't > insult you with my problem. I've really tried to do my due > diligence before > posting. I've searched through the archives trying to find a > solution to > this problem. I see some similar, but nothing for my > scenario. I downloaded > and build the latest snapshot out of CVS as of tonight, and > had the same > issue. My scenario is the following: > > I have a rather complicated schema that has has a bunch of > complextype's > with nested sequeunces of choices. I'm not using any mapping > files or doing > anything other than what is provided in a default castor > configuration to > generate the java code. The code generates successfully, > however when trying > to unmarshall a valid instance document to java, I get an > exception. It > appears as if the generated code is only able to contain one > element, and > did not generate code to contain a collection of elements. Is > a mapping file > the solution here? Below are three items: > > 1) the exception > 2) a snippet of the xsd <- hand obfuscated to > protect the innocent > 3) the castor generated code <- hand obfuscated to protect > the innocent > > ======== > ValidationException: element "FIELDS" occurs more than once. > (XMLFieldDesciptor: _FIELDS AS FIELDS) > > at org.exolab.castor.xml.UnmarshalHandler.endElement(Unknown Source) > at > org.apache.xerces.parsers.SAXParser.endElement(SAXParser.java:1392) > at > org.apache.xerces.validators.common.XMLValidator.callEndElemen > t(XMLValidator > .java:1550) > at > org.apache.xerces.framework.XMLDocumentScanner.scanElement(XML > DocumentScanne > r.java:1809) > at > og.apache.xerces.framework.XMLDocumentScanner$ContentDispatche > r.dispatch(XML > DocumentScanner.java:1182) > at > rg.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDoc > umentScanner.j > ava:381) > at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1098) > at org.exolab.castor.xml.Unmarshaller.unmarshal(Unknown Source) > at org.exolab.castor.xml.Unmarshaller.unmarshal(Unknown Source) > at org.exolab.castor.xml.Unmarshaller.unmarshal(Unknown Source) > at foo.castor.WFML.unmarshal(WFML.java:545) > at foo.harness.ATCGLoader.main(ATCGLoader.java:70) > ========== > > <xsd:element name="oneof"> > <xsd:complextype> > <xsd:sequence> > <xsd:choice minoccurs="0" maxoccurs="unbounded"> > <xsd:element ref="test1" /> > <xsd:element ref="bogus" /> > <xsd:element ref="foo" /> > <xsd:element ref="fields" /> > <xsd:element ref="fudge" /> > <xsd:element ref="rockandroll" /> > <xsd:element ref="javatime" /> > <xsd:element ref="coldbeer" /> > <xsd:element ref="homersimpson" /> > <xsd:element ref="donughts" /> > <xsd:element ref="confirmed" /> > <xsd:element ref="diary" /> > <xsd:element ref="invoke" /> > <xsd:element ref="code" /> > </xsd:choice> > </xsd:sequence> > </xsd:complextype> > </xsd:element> > > ============ > /* > * This class was automatically generated with > * <a href="http://castor.exolab.org">Castor 0.9.4</a>, using an > * XML Schema. > * $Id$ > */ > > package foo.castor; > //---------------------------------/ > //- Imported classes and packages -/ > //---------------------------------/ > > import java.io.IOException; > import java.io.Reader; > import java.io.Serializable; > import java.io.Writer; > import org.exolab.castor.xml.*; > import org.exolab.castor.xml.MarshalException; > import org.exolab.castor.xml.ValidationException; > import org.xml.sax.ContentHandler; > > /** > * > * > * @version $Revision$ $Date$ > **/ > public class TEST1 implements java.io.Serializable { > > > //--------------------------/ > //- Class/Member Variables -/ > //--------------------------/ > > private TEST1 _TEST1; > > private BOGUS _BOGUS; > > private FOO _FOO; > > private FIELDS _FIELDS; > > private FUDGE _FUDGE; > > private ROCKANDROLL _ROCKANDROLL; > > private JAVATIME _JAVATIME; > > private COLDBEER _COLDBEER; > > private HOMERSIMPSON _HOMERSIMPSON; > > private DONUGHTS _DONUGHTS; > > private CONFIRMED _CONFIRMED; > > private DIARY _DIARY; > > private INVOKE _INVOKE; > > private java.lang.String _CODE; > > > //----------------/ > //- Constructors -/ > //----------------/ > > public TEST1() { > super(); > } //-- foo.castor.TEST1() > > > //-----------/ > //- Methods -/ > //-----------/ > > /** > * Returns the value of field 'FOO'. > * > * @return the value of field 'FOO'. > **/ > public FOO getFOO() > { > return this._FOO; > } //-- FOO getFOO() > > /** > * Returns the value of field 'BOGUS'. > * > * @return the value of field 'BOGUS'. > **/ > public BOGUS getBOGUS() > { > return this._BOGUS; > } //-- BOGUS getBOGUS() > > /** > * Returns the value of field 'CODE'. > * > * @return the value of field 'CODE'. > **/ > public java.lang.String getCODE() > { > return this._CODE; > } //-- java.lang.String getCODE() > > /** > * Returns the value of field 'CONFIRMED'. > * > * @return the value of field 'CONFIRMED'. > **/ > public CONFIRMED getCONFIRMED() > { > return this._CONFIRMED; > } //-- CONFIRMED getCONFIRMED() > > /** > * Returns the value of field 'DIARY'. > * > * @return the value of field 'DIARY'. > **/ > public DIARY getDIARY() > { > return this._DIARY; > } //-- DIARY getDIARY() > > /** > * Returns the value of field 'DONUGHTS'. > * > * @return the value of field 'DONUGHTS'. > **/ > public DONUGHTS getDONUGHTS() > { > return this._DONUGHTS; > } //-- DONUGHTS getDONUGHTS() > > /** > * Returns the value of field 'FIELDS'. > * > * @return the value of field 'FIELDS'. > **/ > public FIELDS getFIELDS() > { > return this._FIELDS; > } //-- FIELDS getFIELDS() > > /** > * Returns the value of field 'ROCKANDROLL'. > * > * @return the value of field 'ROCKANDROLL'. > **/ > public ROCKANDROLL getROCKANDROLL() > { > return this._ROCKANDROLL; > } //-- ROCKANDROLL getROCKANDROLL() > > /** > * Returns the value of field 'INVOKE'. > * > * @return the value of field 'INVOKE'. > **/ > public INVOKE getINVOKE() > { > return this._INVOKE; > } //-- INVOKE getINVOKE() > > /** > * Returns the value of field 'FUDGE'. > * > * @return the value of field 'FUDGE'. > **/ > public FUDGE getFUDGE() > { > return this._FUDGE; > } //-- FUDGE getFUDGE() > > /** > * Returns the value of field 'TEST1'. > * > * @return the value of field 'TEST1'. > **/ > public TEST1 getTEST1() > { > return this._TEST1; > } //-- TEST1 getTEST1() > > /** > * Returns the value of field 'COLDBEER'. > * > * @return the value of field 'COLDBEER'. > **/ > public COLDBEER getCOLDBEER() > { > return this._COLDBEER; > } //-- COLDBEER getCOLDBEER() > > /** > * Returns the value of field 'HOMERSIMPSON'. > * > * @return the value of field 'HOMERSIMPSON'. > **/ > public HOMERSIMPSON getHOMERSIMPSON() > { > return this._HOMERSIMPSON; > } //-- HOMERSIMPSON getHOMERSIMPSON() > > /** > * Returns the value of field 'JAVATIME'. > * > * @return the value of field 'JAVATIME'. > **/ > public JAVATIME getJAVATIME() > { > return this._JAVATIME; > } //-- JAVATIME getJAVATIME() > > /** > **/ > public boolean isValid() > { > try { > validate(); > } > catch (org.exolab.castor.xml.ValidationException vex) { > return false; > } > return true; > } //-- boolean isValid() > > /** > * > * > * @param out > **/ > public void marshal(java.io.Writer out) > throws org.exolab.castor.xml.MarshalException, > org.exolab.castor.xml.ValidationException > { > > > Marshaller.marshal(this, out); > } //-- void marshal(java.io.Writer) > > /** > * > * > * @param handler > **/ > public void marshal(org.xml.sax.ContentHandler handler) > throws java.io.IOException, > org.exolab.castor.xml.MarshalException, > org.exolab.castor.xml.ValidationException > { > > Marshaller.marshal(this, handler); > } //-- void marshal(org.xml.sax.ContentHandler) > > /** > * Sets the value of field 'ALLOF'. > * > * @param ALLOF the value of field 'ALLOF'. > **/ > public void setALLOF(ALLOF ALLOF) > { > this._ALLOF = ALLOF; > } //-- void setALLOF(ALLOF) > > /** > * Sets the value of field 'ANYOF'. > * > * @param ANYOF the value of field 'ANYOF'. > **/ > public void setANYOF(ANYOF ANYOF) > { > this._ANYOF = ANYOF; > } //-- void setANYOF(ANYOF) > > /** > * Sets the value of field 'CODE'. > * > * @param CODE the value of field 'CODE'. > **/ > public void setCODE(java.lang.String CODE) > { > this._CODE = CODE; > } //-- void setCODE(java.lang.String) > > /** > * Sets the value of field 'CONFIRMED'. > * > * @param CONFIRMED the value of field 'CONFIRMED'. > **/ > public void setCONFIRMED(CONFIRMED CONFIRMED) > { > this._CONFIRMED = CONFIRMED; > } //-- void setCONFIRMED(CONFIRMED) > > /** > * Sets the value of field 'DIARY'. > * > * @param DIARY the value of field 'DIARY'. > **/ > public void setDIARY(DIARY DIARY) > { > this._DIARY = DIARY; > } //-- void setDIARY(DIARY) > > /** > * Sets the value of field 'EVENTOCCURRED'. > * > * @param EVENTOCCURRED the value of field 'EVENTOCCURRED'. > **/ > public void setEVENTOCCURRED(EVENTOCCURRED EVENTOCCURRED) > { > this._EVENTOCCURRED = EVENTOCCURRED; > } //-- void setEVENTOCCURRED(EVENTOCCURRED) > > /** > * Sets the value of field 'FIELDS'. > * > * @param FIELDS the value of field 'FIELDS'. > **/ > public void setFIELDS(FIELDS FIELDS) > { > this._FIELDS = FIELDS; > } //-- void setFIELDS(FIELDS) > > /** > * Sets the value of field 'GLOBALS'. > * > * @param GLOBALS the value of field 'GLOBALS'. > **/ > public void setGLOBALS(GLOBALS GLOBALS) > { > this._GLOBALS = GLOBALS; > } //-- void setGLOBALS(GLOBALS) > > /** > * Sets the value of field 'INVOKE'. > * > * @param INVOKE the value of field 'INVOKE'. > **/ > public void setINVOKE(INVOKE INVOKE) > { > this._INVOKE = INVOKE; > } //-- void setINVOKE(INVOKE) > > /** > * Sets the value of field 'LOCALS'. > * > * @param LOCALS the value of field 'LOCALS'. > **/ > public void setLOCALS(LOCALS LOCALS) > { > this._LOCALS = LOCALS; > } //-- void setLOCALS(LOCALS) > > /** > * Sets the value of field 'ONEOF'. > * > * @param ONEOF the value of field 'ONEOF'. > **/ > public void setONEOF(ONEOF ONEOF) > { > this._ONEOF = ONEOF; > } //-- void setONEOF(ONEOF) > > /** > * Sets the value of field 'SERVICECONFIG'. > * > * @param SERVICECONFIG the value of field 'SERVICECONFIG'. > **/ > public void setSERVICECONFIG(SERVICECONFIG SERVICECONFIG) > { > this._SERVICECONFIG = SERVICECONFIG; > } //-- void setSERVICECONFIG(SERVICECONFIG) > > /** > * Sets the value of field 'SUBSCRIBERPREF'. > * > * @param SUBSCRIBERPREF the value of field 'SUBSCRIBERPREF'. > **/ > public void setSUBSCRIBERPREF(SUBSCRIBERPREF SUBSCRIBERPREF) > { > this._SUBSCRIBERPREF = SUBSCRIBERPREF; > } //-- void setSUBSCRIBERPREF(SUBSCRIBERPREF) > > /** > * Sets the value of field 'SYSTEMCONFIG'. > * > * @param SYSTEMCONFIG the value of field 'SYSTEMCONFIG'. > **/ > public void setSYSTEMCONFIG(SYSTEMCONFIG SYSTEMCONFIG) > { > this._SYSTEMCONFIG = SYSTEMCONFIG; > } //-- void setSYSTEMCONFIG(SYSTEMCONFIG) > > /** > * > * > * @param reader > **/ > public static foo.castor.ONEOF unmarshal(java.io.Reader reader) > throws org.exolab.castor.xml.MarshalException, > org.exolab.castor.xml.ValidationException > { > return (atcg.castor.ONEOF) > Unmarshaller.unmarshal(atcg.castor.ONEOF.class, reader); > } //-- atcg.castor.ONEOF unmarshal(java.io.Reader) > > /** > **/ > public void validate() > throws org.exolab.castor.xml.ValidationException > { > org.exolab.castor.xml.Validator validator = new > org.exolab.castor.xml.Validator(); > validator.validate(this); > } //-- void validate() > > } > > ----------------------------------------------------------- > If you wish to unsubscribe from this mailing, send mail to > [EMAIL PROTECTED] with a subject of: > unsubscribe castor-dev > > ----------------------------------------------------------- If you wish to unsubscribe from this mailing, send mail to [EMAIL PROTECTED] with a subject of: unsubscribe castor-dev
