Hi Werner,

before creating a Jira issue I want to be sure whether I did all correct
and that it is really a bug. It is that I need the functionality as soon
as possible and I think it will take a quite long time for resolving the
issue.

For this reason I give you exactly the data of my simple test case,
plain in this mail. It would be interesting whether you can reproduce
the failure:

The data:

########## XML-Schema #####################
###########################################
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";
elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xs:element name="oneElement">
    <xs:complexType/>
  </xs:element>
  <xs:element name="otherElement">
    <xs:complexType/>
  </xs:element>
</xs:schema>
########################################
########################################

########## Binding file ################
########################################
<?xml version="1.0" encoding="ISO-8859-1"?>
<binding defaultBindingType="type">
  <package>
    <name>castorgen</name>
    <namespace></namespace>
  </package>

  <elementBinding name="oneElement">
    <java-class name="OneElementXml"/>
  </elementBinding>
  <elementBinding name="otherElement">
    <java-class name="OtherElementXml"/>
  </elementBinding>
</binding>
########################################
########################################

########## exampleXml ##################
########################################
<?xml version="1.0" encoding="ISO-8859-1"?>
<oneElement>
</oneElement>
########################################
########################################

The call to Unmarshaller producing the exception:

########################################
########################################
Reader source = new FileReader(exampleXml);
Unmarshaller unm = new Unmarshaller();
Object o = unm.unmarshal(source);
########################################
########################################

The used java libraries are listed below.


Best Regards
/Roman

Werner Guttmann schrieb:
> Sorry, Roman, but no attachments to any of the mailing lists, as there's
> no guarantee that they arrive at the other end.
> 
> As already suggested, can you please create a new Jira issue and attach
> your files ?
> 
> Regards
> Werner
> 
> Roman Klaehne wrote:
>> Hi Werner,
>>
>>
>> in the attachment you will find a very simple Eclipse project, containing
>>
>> (i) a simple XML Schema (in xml-schema/)
>>
>> (ii) a binding file for the schema (in xml-schema/castor-bindings)
>>
>> (iii) the generated class files (in lib/castorgen.jar)
>>
>> (iv) a simple class castor.test.Test (in src/)
>>
>> (v) two xml instances in (xml-instances/)
>>
>> (vi) an ant build file containing the tasks for generating the java
>> sources and for compiling the Test class.
>>
>> The following libraries has to be on the classpath (see .classpath) and
>> are not included in the attached ZIP file:
>>
>> ant-contrib.jar
>> castor-1.2-anttasks.jar
>> castor-1.2-codegen.jar
>> castor-1.2.jar
>> castor-1.2-xml.jar
>> castor-1.2-xml-schema.jar
>> commons-logging.jar
>> serializer.jar
>> velocity-dep.jar
>> xalan-2.7.0.jar
>> xercesImpl.jar
>> xml-apis.jar
>>
>> When running the test class (specifying an xml instance, e.g.,
>> xml-instances/oneElement.xml) the following exception occurs:
>>
>> Exception in thread "main" org.exolab.castor.xml.MarshalException: The
>> class for the root element 'oneElement' could not be found.{File: [not
>> available]; line: 2; column: 13}
>>      at
>> org.exolab.castor.xml.Unmarshaller.convertSAXExceptionToMarshalException(Unmarshaller.java:761)
>>      at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:727)
>>      at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:616)
>>      at castor.test.Test.main(Test.java:23)
>> Caused by: org.xml.sax.SAXException: The class for the root element
>> 'oneElement' could not be found.
>>      at
>> org.exolab.castor.xml.UnmarshalHandler.startElement(UnmarshalHandler.java:1589)
>> .....................
>>
>> What is going wrong?
>>
>>
>> Best Regards!
>> /Roman
>>
>>
>>
>>
>>
>>
>> Werner Guttmann schrieb:
>>> 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
>>>
>>>
>>
>> ------------------------------------------------------------------------
>>
>> ---------------------------------------------------------------------
>> 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


Reply via email to