Roman, a test case attached to a Jira issue. I don't see a reason why this does not work. Can you as such please create an issue at
http://jira.codehaus.org/browse/CASTOR and attach a fully working test case. If you are using Maven, there's an archetype available to assist you with this (as documented at http://castor.org/maven-archetypes.html). Regards Werner Roman Klaehne wrote: > Hi Werner, > >> that should work out of the box. > > This sounds good. I also thought that it should work. > >> When you used the XML code generator to >> generate the Java classes from your XML schema, it produced (so-called) >> descriptor classes as well. Did you compile those as well, and are these >> available on your classpath as well ? > > Yes, the descriptor classes are generated and all generated classes are > on the classpath. > > As I said the following code works fine: > > *************************************************** > Unmarshaller u = new Unmarshaller(RootXml.class) > Object o = u.unmarshal(reader) > *************************************************** > > But if I instantiate the Unmarshaller without a "root class" argument > (using the empty constructor), the error message > > "The class for the root element 'root' could not be found." > > arises. > > My XML-Schema also have a namespace. I don't know whether this is > important. But my XML sources have a the same namespace of course. > > What more information you need to analyze this matter? > > > All the best > /roman > > > > > > >> Regards >> Werner Guttmann >> >> Roman Klaehne wrote: >>> Hi, >>> >>> >>> I am using the Castor Source Code Generator together with Castor >>> Unmarshaller. >>> >>> For the simple XML schema: >>> >>> ******************************************************************* >>> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" >>> elementFormDefault="qualified" attributeFormDefault="unqualified"> >>> <xs:element name="root"/> >>> <xs:element name="element"/> >>> </xs:schema> >>> ******************************************************************* >>> >>> I have such a binding file: >>> >>> ************************************************** >>> <binding defaultBindingType="type"> >>> <elementBinding name="root"> >>> <java-class name="RootXml"/> >>> </elementBinding> >>> <elementBinding name="element"> >>> <java-class name="ElementXml"/> >>> </elementBinding> >>> </binding> >>> ************************************************** >>> >>> After generating the source code for the schema using the binding file >>> above I want to unmarshall XML sources to the repective Java classes. >>> >>> When doing >>> >>> *************************************************** >>> Unmarshaller u = new Unmarshaller(RootXml.class) >>> Object o = u.unmarshal(reader) >>> *************************************************** >>> >>> the object o is correctly unmarshalled and is an instance of class >>> RootXml (as it should be). >>> >>> But when using the default constructor of Unmarshaller (without giving >>> the root class RootXml.class) I get the following error message: >>> >>> "The class for the root element 'root' could not be found." >>> >>> My intention is to have XML documents with root elements "<root>" or >>> "<element>" and when calling Unmarshaller.unmarshal() I don't know the >>> type of the XML source (root or element). That means I want to do the >>> following: >>> >>> **************************************** >>> Unmarshaller u = new Unmarshaller(); >>> Object o = u.unmarshal(); >>> >>> if(o instanceof RootXml) { >>> doRoot(); >>> } >>> else if(o instanceof ElementXml) { >>> doElement(); >>> } >>> **************************************** >>> >>> Do you have any ideas to get this working? >>> >>> >>> Thanks in advance and best regards >>> /Roman Klähne >>> (ZIB Berlin) >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe from this list, please visit: >>> >>> http://xircles.codehaus.org/manage_email >>> >>> >> --------------------------------------------------------------------- >> To unsubscribe from this list, please visit: >> >> http://xircles.codehaus.org/manage_email >> >> > > > --------------------------------------------------------------------- > To unsubscribe from this list, please visit: > > http://xircles.codehaus.org/manage_email > > --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email

