Developing JAXB Applications Using EclipseLink MOXy, Release 2.5
  Go To Table Of Contents

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 uri, String suggestedFileName) throws IOException {
                File file = new File(suggestedFileName);
                StreamResult result = new StreamResult(file);
                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();