Hello,
This might be a simple one but I don't see which switches or levers I need
to pull...
I'm using a mapping file to unmarshal an xml file into a class. Then I just
Marshal it back out to a different xml file.
I'm getting unwanted namespace identifiers (ns1) on the output file.
I've included a very simplified example that illustrates the behavior.
I'm using version 0.9.5.2.
Any help would be appreciated. Thanks,
R. Trevor
///////////////
// Simplified code example
///////////////
String mapPath = "test_mapping.xml";
String inputFileName = "test_input.xml";
String outputFileName = "test_output.xml";
// unmarshal the input file into the Test object
mapping.loadMapping(mapPath);
Unmarshaller unmar = new Unmarshaller(mapping);
Test test = (Test)unmar.unmarshal(new InputSource(new
FileReader(inputFileName)));
// marshal the Test object back out to the output file.
Marshaller mar = new Marshaller(new FileWriter(outputFileName));
mar.setMapping(mapping);
// These method calls did not produce the desired effect (output =
input)
//mar.setMarshalAsDocument(true);
//mar.setNSPrefixAtRoot(true);
//mar.setSchemaLocation("test.xsd");
//mar.setNamespaceMapping("", "http://www.foo.org/test");
//mar.setNamespaceMapping(null, "http://www.foo.org/test");
mar.marshal(test);
///////////////
// test_input file
///////////////
<?xml version="1.0" encoding="UTF-8"?>
<test name="foo" >
<abc>ABC</abc>
<xyz>XYZ</xyz>
</test>
///////////////
// test_output file
///////////////
<?xml version="1.0" encoding="UTF-8"?>
<test ns1:name="foo" xmlns:ns1="http://castor.exolab.org/">
<ns1:abc>ABC</ns1:abc>
<ns1:xyz>XYZ</ns1:xyz>
</test>
///////////////
// schema file (not referenced (?) by unmarshal or marshal, but defines
desired default namespace)
///////////////
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="http://www.foo.org/test"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.foo.org/test"
elementFormDefault="qualified">
<xsd:element name="test">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="abc" type="xsd:string"/>
<xsd:element name="xyz" type="xsd:string"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
</xsd:schema>
-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
unsubscribe castor-dev