[jbossws-users] [JBossWS] - [JAXB] Problem with generating XML from Schema

mariuszs do-not-reply at jboss.com
Wed Feb 20 04:39:28 EST 2008


I have sample schema:
<?xml version="1.0" encoding="UTF-8"?>
  | <xs:schema targetNamespace="http://www.test.com/app"
  | 	xmlns:xs="http://www.w3.org/2001/XMLSchema"
  | 	xmlns="http://www.test.com/app" elementFormDefault="qualified"
  | 	version="1.0">
  | 	<xs:element name="DocSample">
  | 		<xs:complexType>
  | 			<xs:sequence>
  | 				<xs:element name="Element">
  | 				</xs:element>
  | 			</xs:sequence>
  | 		</xs:complexType>
  | 	</xs:element>
  | </xs:schema>
  | 

Generated objects:
//
  | // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.1.5-b01-fcs 
  | // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
  | // Any modifications to this file will be lost upon recompilation of the source schema. 
  | // Generated on: 2008.02.20 at 10:25:59 AM CET 
  | //
  | 
  | 
  | package pl.pentacomp.pentascape.da;
  | 
  | import javax.xml.bind.annotation.XmlAccessType;
  | import javax.xml.bind.annotation.XmlAccessorType;
  | import javax.xml.bind.annotation.XmlElement;
  | import javax.xml.bind.annotation.XmlRootElement;
  | import javax.xml.bind.annotation.XmlType;
  | 
  | 
  | /**
  |  * <p>Java class for anonymous complex type.
  |  * 
  |  * <p>The following schema fragment specifies the expected content contained within this class.
  |  * 
  |  * <pre>
  |  * &lt;complexType>
  |  *   &lt;complexContent>
  |  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  |  *       &lt;sequence>
  |  *         &lt;element name="Element" type="{http://www.w3.org/2001/XMLSchema}anyType"/>
  |  *       &lt;/sequence>
  |  *     &lt;/restriction>
  |  *   &lt;/complexContent>
  |  * &lt;/complexType>
  |  * </pre>
  |  * 
  |  * 
  |  */
  | @XmlAccessorType(XmlAccessType.FIELD)
  | @XmlType(name = "", propOrder = {
  |     "element"
  | })
  | @XmlRootElement(name = "DocSample", namespace = "http://www.test.com/app")
  | public class DocSample {
  | 
  |     @XmlElement(name = "Element", namespace = "http://www.test.com/app", required = true)
  |     protected Object element;
  | 
  |     /**
  |      * Gets the value of the element property.
  |      * 
  |      * @return
  |      *     possible object is
  |      *     {@link Object }
  |      *     
  |      */
  |     public Object getElement() {
  |         return element;
  |     }
  | 
  |     /**
  |      * Sets the value of the element property.
  |      * 
  |      * @param value
  |      *     allowed object is
  |      *     {@link Object }
  |      *     
  |      */
  |     public void setElement(Object value) {
  |         this.element = value;
  |     }
  | 
  | }
  | 

Java code:

@Test
  | 	public void testSample() {
  | 		DocSample doc = new DocSample();
  | 		doc.setElement(new String("sdsd"));
  | 
  | 		StreamResult result = new StreamResult(new StringWriter());
  | 
  | 		JAXBContext jaxbContext;
  | 		try {
  | 			jaxbContext = JAXBContext.newInstance(DocSample.class);
  | 			Marshaller marshaller = jaxbContext.createMarshaller();
  | 			marshaller.marshal(doc, result);
  | 
  | 		} catch (JAXBException e) {
  | 
  | 			e.printStackTrace();
  | 		}
  | 
  | 		String response = result.getWriter().toString();
  | 
  | 		System.out.println(response);
  | 
  | 	}

And result XML:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  | <DocSample xmlns="http://www.test.com/app">
  | 	<Element xsi:type="xs:string"
  | 		xmlns:xs="http://www.w3.org/2001/XMLSchema"
  | 		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  | 		sdsd
  | 	</Element>
  | </DocSample>

Is this XML correct? Why xmlns:xs, xmlns:xsi are assigned to Element, not DocSample. Please help.


View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4130664#4130664

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4130664



More information about the jbossws-users mailing list