As is typical of me I probably don't understand your question or problem thoroughly. Well you said you couldn't use Maven so a non-maven response is what you're getting. :)
Typical XmlBeans usage is to generate the classes in a jar and to then reference this jar while developing your code. If you can't use Ant or Maven for some reason there is a command line utility to do this. I personally have a little bat file I use for generating demos: scomp -out lib/%1.jar xsd/%1.xsd If however there is some reason you have to "compile on the fly" I refer you to an excellent discussion of doing this: http://www.oracle.com/technetwork/articles/entarch/incremental-compilation-x mlbeans-089127.html Please reply with your use case for this. As to your questions: * Why do you get "URL "./th000008_extern.xsd" is not well-formed"? Possibly because "./th000008_extern.xsd" is not well-formed. Post it and we'll see. My demo of this worked correctly (see below). * I want everything XmlBeans generates in the package "ch.mypackage"; how can I to this? This is controlled by the schema namespace setting: <xs:schema targetNamespace="llq.hlq" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="llq.hlq" xmlns:xs="http://www.w3.org/2001/XMLSchema"> Note that in typical "Computer Science Weenie my way is better" fashion the namespace is llq.hlq. XmlBeans will generate classes in the more typical hlq.llq package. * Why is this class not generated? Well, nothing in your posted source showed that you compiled the generated java files. Refer to the URL above for more detail. Or previously compile using scomp as above. Cordially, Paul Gillen <?xml version="1.0" encoding="UTF-8"?> <xs:schema targetNamespace="llq.hlq" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="llq.hlq" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:include schemaLocation="./Sub.xsd"/> <xs:element name="Root"> <xs:complexType> <xs:sequence> <xs:element name="RootTypeFromSub" type="SubType"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> <?xml version="1.0" encoding="UTF-8"?> <xs:schema targetNamespace="llq.hlq" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="llq.hlq" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:complexType name="SubType"> <xs:simpleContent> <xs:extension base="xs:string"/> </xs:simpleContent> </xs:complexType> </xs:schema> package org.eltesto; import java.io.File; import org.apache.xmlbeans.BindingConfig; import org.apache.xmlbeans.Filer; import org.apache.xmlbeans.XmlBeans; import org.apache.xmlbeans.XmlObject; import org.apache.xmlbeans.XmlOptions; import org.apache.xmlbeans.impl.util.FilerImpl; import org.apache.xmlbeans.impl.xb.xsdschema.SchemaDocument; public class Main { public static void main(String[] args) throws Exception { Main m = new Main(); m.go(args); } private void go(String[] args) throws Exception { File xsd = new File("xsd/Root.xsd"); SchemaDocument xsdo = SchemaDocument.Factory.parse(xsd); final Filer filer = new FilerImpl(null, new File("src/"), null, true, true); final XmlOptions options = new XmlOptions(); options.setCompileDownloadUrls(); BindingConfig config = new BindingConfig(); XmlBeans.compileXmlBeans("TypeName", null, new XmlObject[] { xsdo }, config, null, filer, options); } } -----Original Message----- From: Michael Szalay [mailto:michael.sza...@abacus.ch] Sent: Wednesday, August 21, 2013 9:39 AM To: user@xmlbeans.apache.org Subject: Question about generating Java Source Code from XML Schemas Hi all I have some xsd schemas in my source tree and I want to generate java sources with XML Beans. I cannot use ant or maven task, I have to do it in plain java. I use the following java code: final InputStream schema1Stream = BeanGenerator.class.getResourceAsStream("xsd/schema1.xsd"); final XmlObject schema1 = XmlObject.Factory.parse(schema1Stream); final InputStream schema2Stream = BeanGenerator.class.getResourceAsStream("xsd/schema2.xsd"); final XmlObject schema2 = XmlObject.Factory.parse(schema2Stream); final XmlObject[] schemas = { schema1, schema2 }; final BindingConfig config = new BindingConfig() { @Override public String lookupPackageForNamespace(String uri) { return "ch.mypackage"; } }; final Filer filer = new FilerImpl(null, new File(".java/src/"), null, true, true); final XmlOptions options = new XmlOptions(); options.setCompileDownloadUrls(); XmlBeans.compileXmlBeans(null, null, schemas, config, null, filer, options); I have questions: 1) The schemas have include statements like this: <xs:include schemaLocation="./th000008_extern.xsd"/> How can I make XmlBeans to include this schemas? Its located in the same folder as the original schema, but XMLBeans does not find it: URL "./th000008_extern.xsd" is not well-formed how to solve that? 2) I want everything XmlBeans generates in the package "ch.mypackage". How can I to this? XmlBeans generates a lot of other stuff like xsb files which are not in that package. How can I say to XmlBeans to not generate this files? 3) When I use one of the generated classes, there is the following runtime error: java.lang.RuntimeException: Cannot load SchemaTypeSystem. Unable to load class with name schemaorg_apache_xmlbeans.system.s2EF0617F3F8756BE32108E3CF22693B4.TypeSyste mHolder. Make sure the generated binary files are on the classpath. at org.apache.xmlbeans.XmlBeans.typeSystemForClassLoader(XmlBeans.java:783) ... 29 more Caused by: java.lang.ClassNotFoundException: schemaorg_apache_xmlbeans.system.s2EF0617F3F8756BE32108E3CF22693B4.TypeSyste mHolder at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at org.apache.xmlbeans.XmlBeans.typeSystemForClassLoader(XmlBeans.java:769) ... 30 more What is the problem here? Why is this class not generated? Thanks for a response Michael --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@xmlbeans.apache.org For additional commands, e-mail: user-h...@xmlbeans.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@xmlbeans.apache.org For additional commands, e-mail: user-h...@xmlbeans.apache.org