Jump to: navigation, search

Difference between revisions of "EclipseLink/UserGuide/MOXy/Runtime/Bootstrapping/Generating Schema"

m
m
Line 1: Line 1:
 
+
{{EclipseLink_UserGuide
 +
|info=y
 +
|api=y
 +
|apis= * [http://www.eclipse.org/eclipselink/api/2.1/index.html?org/eclipse/persistence/jaxb/JAXBContextFactory.html *.jaxb.JAXBContextFactory]
 +
}}
 
=Generating an XML Schema=
 
=Generating an XML Schema=
  
Line 31: Line 35:
 
</source></li>
 
</source></li>
 
</ol>
 
</ol>
 +
 +
 +
{{EclipseLink_MOXy
 +
|next=    [[EclipseLink/UserGuide/MOXy/Runtime/Bootstrapping_Dynamic|Dynamic Bootstrapping]]
 +
|previous= [[EclipseLink/UserGuide/MOXy/Runtime/Bootstrapping/Multiple_Projects|From Multiple Projects]]
 +
|up=      [[EclipseLink/UserGuide/MOXy/Runtime/Bootstrapping|Bootstrapping]]
 +
|version=2.2.0 DRAFT}}

Revision as of 14:03, 27 December 2010


link="http://wiki.eclipse.org/EclipseLink"
EclipseLink
Website
Download
Community
Mailing ListForumsIRC
Bugzilla
Open
Help Wanted
Bug Day
Contribute
Browse Source

Generating an XML Schema

To generate an XML schema from a Java object model:

  1. Create a class that extends javax.xml.bind.SchemaOutputResolver.
    private class MySchemaOutputResolver extends SchemaOutputResolver {
     
        public Result createOutput(String namespaceURI, String suggestedFileName) throws IOException {
            File file = new File(suggestedFileName);
            StreamResult result = new StreamResult(file);
            result.setSystemId(file.toURI().toURL().toString());
            return result;
        }
     
    }
  2. Use an instance of this class with JAXBContext to capture the generated XML Schema.
    Class[] classes = new Class[4]; 
    classes[0] = org.example.customer_example.AddressType.class; 
    classes[1] = org.example.customer_example.ContactInfo.class; 
    classes[2] = org.example.customer_example.CustomerType.class; 
    classes[3] = org.example.customer_example.PhoneNumber.class; 
    JAXBContext jaxbContext = JAXBContext.newInstance(classes);
     
    SchemaOutputResolver sor = new MySchemaOutputResolver();
    jaxbContext.generateSchema(sor);


Eclipselink-logo.gif
Version: 2.2.0 DRAFT
Other versions...