Difference between revisions of "EclipseLink/Examples/MOXy/Dynamic/JAXBContextFromXMLSchema"

From Eclipsepedia

< EclipseLink‎ | Examples‎ | MOXy‎ | Dynamic
Jump to: navigation, search
(Bootstrap the JAXBContext)
(Bootstrap from an XML Schema)
Line 20: Line 20:
==Handling Schema Import/Includes==
==XML Schema==
==XML Schema==

Revision as of 11:24, 24 June 2010



In this example you will learn how to bootstrap a dynamic JAXBContext from an XML Schema.

Bootstrap from an XML Schema

The DynamicJAXBContextFactory is used to create a dynamic JAXBContext. The createContextFromXSD method can be used to bootstrap a DynamicJAXBContext from an XML Schema. The first parameter represents the XML schema itself and must be in one of the following forms: java.io.InputStream, org.w3c.dom.Node, or javax.xml.transform.Source.

import java.io.FileInputStream;
import org.eclipse.persistence.jaxb.dynamic.DynamicJAXBContext;
import org.eclipse.persistence.jaxb.dynamic.DynamicJAXBContextFactory;
public class Demo {
    public static void main(String[] args) throws Exception {
        FileInputStream xsdInputStream = new FileInputStream("src/example/customer.xsd");
        DynamicJAXBContext jaxbContext = DynamicJAXBContextFactory.createContextFromXSD(xsdInputStream, null, null, null);

Handling Schema Import/Includes

XML Schema

The following XML schema represents the metadata for this JAXBContext.

   <xsd:complexType name="address">
         <xsd:element name="street" type="xsd:string" minOccurs="0"/>
         <xsd:element name="city" type="xsd:string" minOccurs="0"/>
   <xsd:element name="customer">
            <xsd:element name="name" type="xsd:string" minOccurs="0"/>
            <xsd:element name="address" type="address" minOccurs="0"/>