Thanks for your reply. I am facing one more problem here. 

Scenario 1:
I have one sample xml, for example test.xml. Using Unmarshalling concept, i
filled the java objects based on given sample xml. Again I convert into
another xml like test2.xml through marshalling. Its working fine from
calling main method. If i call in some other method (Like Junit). Its not
working for me. Please find the following code.

                    FileReader in = new FileReader("test.xml");
              Unmarshaller h_unmarshaller = new 
Unmarshaller(RootDocument.class);
              h_unmarshaller.setValidation(false);
              RootDocument rdc = (RootDocument) h_unmarshaller.unmarshal(in);
              System.out.println("DONE Unmarshalling\n\n");
                
              File file = new File("test2.xml");
              Writer writer = new FileWriter(file);
              Marshaller marsh = new Marshaller(writer);
              marsh.setNamespaceMapping("scp",
"http://www.demo.com/ICT/XML/student/ABD";);
              marsh.setNamespaceMapping("gen",
"http://www.demo.com/ICT/XML/student/XYZ";);
              marsh.marshal(rdc);
              System.out.println("DONE Marshalling");

>From main method its working. I am getting like this 

(This is sample only.But format is correct.)
<abc:RootDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
 xmlns:xyz="http://www.demo.com/ICT/XML/Student/General"; 
xmlns:abc="http://www.demo.com/ICT/XML/Student/ABC";> 
 <xyz:header> 
 <xyz:school> 
 <xyz:schoolid>123</gen:schoolid> 
  <xyz:schoolname>ABCDD</gen:schoolname> 
   </xyz:school> 
 </xyz:header> 
<abc:footer> 
   <abc:result abc:studNr="999"> 
    <abc:studType>GHJJ</scp:studType> 
   </abc:result> 
 </abc:footer> 
 </abc:RootDocument> 




By using junit, i am getting like this

<?xml version="1.0" encoding="UTF-8"?>
<root-document valid="true" valid="true"
        xmlns:abd="http://www.demo.com/ICT/XML/student/ABD";
        xmlns:xyz="http://www.demo.com/ICT/XML/student/XYZ";>
        <student valid="true" valid="true">
                          <marks valid="true" valid="true" />
                <subject valid="true" valid="true">
                        <eng></eng>
                        <tam>GGG</tam>
                </subject>
              </student>
</root-document>


Scenario 2:

In the same way, I have one xsd file. Through castor, i generated java
objects and filled those objects (via code) based on given sample xml. After
that i used like this

                   File file = new File("test2.xml");
              Writer writer = new FileWriter(file);
              Marshaller marsh = new Marshaller(writer);
              marsh.setNamespaceMapping("scp",
"http://www.demo.com/ICT/XML/student/ABD";);
              marsh.setNamespaceMapping("gen",
"http://www.demo.com/ICT/XML/student/XYZ";);
              marsh.marshal(rdc);
              System.out.println("DONE Marshalling");

But i am getting the same xml

<?xml version="1.0" encoding="UTF-8"?>
<root-document valid="true" valid="true"
        xmlns:abd="http://www.demo.com/ICT/XML/student/ABD";
        xmlns:xyz="http://www.demo.com/ICT/XML/student/XYZ";>
        <student valid="true" valid="true">
                          <marks valid="true" valid="true" />
                <subject valid="true" valid="true">
                        <eng></eng>
                        <tam>GGG</tam>
                </student>
              </student>
</root-document>

Note :I am using castor 1.3 and jdk1.5.  I didnt use any mapping file. When
generating java objects from xsd, each file we have one validate method like
this. It always return true. Is it correct?
 public boolean isValid(
    ) {
        try {
            validate();
        } catch (org.exolab.castor.xml.ValidationException vex) {
            return false;
        }
        return true;
    }
 public void marshal(
            final java.io.Writer out)
    throws org.exolab.castor.xml.MarshalException,
org.exolab.castor.xml.ValidationException {
        org.exolab.castor.xml.Marshaller.marshal(this, out);
    }
 public static packagename.student unmarshal(
            final java.io.Reader reader)
    throws org.exolab.castor.xml.MarshalException,
org.exolab.castor.xml.ValidationException {
        return (packagename.student)
org.exolab.castor.xml.Unmarshaller.unmarshal(packagename.student.class,
reader);
    }

please do needful help. Thanks in advance.









Werner Guttmann-6 wrote:
> 
> Hi,
> 
> On 09.03.2011 18:01, rag007 wrote:
>> 
>> Thanks for your reply.
>> 
>> This is the sample xml i need to generate 
>> 
>> <?xml version="1.0" encoding="UTF-8"?>
>> <abc:RootDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>> xmlns:xyz="http://www.demo.com/ICT/XML/Student/General"; 
>> xmlns:abc="http://www.demo.com/ICT/XML/Student/ABC";
>> xmlns="http://www.demo.com/Student/ABC";
>> xsi:schemaLocation="http://www.demo.com/ICT/XML/Student/General
>> sample1.xsd
>> http://www.demo.com/ICT/XML/Student/ABC sample2.xsd">
>> <xyz:header>
>>   <xyz:school>
>>   <xyz:schoolid>123</gen:schoolid> 
>>   <xyz:schoolname>ABCDD</gen:schoolname> 
>>   </xyz:school>
>> </xyz:header>
>> <abc:footer>
>>   <abc:result abc:studNr="999">
>>     <abc:studType>GHJJ</scp:studType> 
>>   </abc:result>
>> </abc:footer>
>> </abc:RootDocument>
>> 
>> 
>> But, Through castor i am getting XML like this
>> 
>> <?xml version="1.0" encoding="UTF-8"?>
>> <RootDocument xmlns="http://www.demo.com/ICT/XML/Student/ABC";>
>> <ns1:header xmlns:ns1="http://www.demo.com/ICT/XML/Student/General";>
>> <ns1:school>
>> <ns1:schoolid>123</ns1:schoolid>
>> <ns1:schoolname>ABCDD</ns1:schoolname>
>> </ns1:school>
>> </ns1:header>
>> <footer>
>> <result xmlns:ns2="http://www.demo.com/ICT/XML/Student/ABC";
>> ns2:studNr="999">
>> <ns2:studType>GHJJ</ns2:studType>
>> </result>
>> </footer>
>> </RootDocument>
>> 
>> 
>> Please clarify this. I am little confused. I want to know whether both
>> xml
>> is same or not?
> Technically speaking, namespace prefixes are not really relevant in an
> XML document instance. But if you really, really need to use a
> particular namespace prefix, please have a look at the
> 
> Marshaller.setNamespaceMapping()
> 
> method, which allows you to assign your own (custom) namepace prefixes
> to given namespaces.
> 
> Regards
> Werner
> 
>> 
>> How to give custom prefix in the XML element?
>> 
>> Thanks in Advance.
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> Werner Guttmann-6 wrote:
>>>
>>> Hi,
>>>
>>> On 09.03.2011 17:12, rag007 wrote:
>>>>
>>>> Hi All,
>>>>
>>>> I am using castor in myapplication. I am new to this. I have one doubt
>>>> please clarify as soon as possible.
>>>>
>>>> I have one xsd file through that i generated java files. Not an issue.
>>>> Its
>>>> ok for me. My question, is it possible to get mapping file along with
>>>> that?
>>> Why would you need a mapping file at all when you generate Java sources
>>> from an XML schema. During code generation, Castor generates Java POJOs
>>> AND descriptor classes, which are an optimized (internal) representation
>>> of the XML to object mapping.
>>>
>>>> I used gen-mapping command but its not working for me. I am using
>>>> castor
>>>> 1.3. Because I need to use custom namespace prefix in my xml. 
>>> Where's the issue. If your XML schema has correct namespace definitions,
>>> Castor will use the right namespace URIs/prefixes for your XML.
>>>>
>>>> Kindly help me asap.
>>>>
>>>> Thanks in advance.
>>> Kind Regards
>>> Werner Guttmann
>>>
>>> ---------------------------------------------------------------------
>>> 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
> 
> 
> 
> 

-- 
View this message in context: 
http://old.nabble.com/Castor-Mapping-File-Generation-Problem-tp31107774p31151239.html
Sent from the Castor - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to