JaxMe XS does not handle circular dependencies correctly --------------------------------------------------------
Key: JAXME-101 URL: https://issues.apache.org/jira/browse/JAXME-101 Project: JaxMe Issue Type: Bug Components: JaxMeXS Affects Versions: 0.5 Environment: Windows Vista Reporter: Himanshu Rathod See attached sample XSD files for example of circular dependency. Here is the sample program used to parse the schema: import java.io.File; import java.io.FileInputStream; import org.apache.ws.jaxme.xs.XSParser; import org.apache.ws.jaxme.xs.XSSchema; import org.apache.ws.jaxme.xs.XSType; import org.xml.sax.InputSource; public class Main { public static void main(String[] args) throws Exception { String fileName = "circular1.xsd"; File f = new File(fileName); FileInputStream fs = new FileInputStream(f); InputSource is = new InputSource(fs); is.setSystemId(f.toURL().toString()); XSParser parser = new XSParser(); parser.setValidating(false); XSSchema schema = parser.parse(is); System.out.println("Schema = " + schema); Object[] childs = schema.getChilds(); for (int i = 0; i < childs.length; i++) { Object o = childs[i]; System.out.println(o.getClass()); if (o instanceof XSType) System.out.println(" name " + ((XSType) o).getName().getLocalName()); } } } Here is the exception received when running the code above on the attached files: Exception in thread "main" org.apache.ws.jaxme.xs.parser.impl.LocSAXException: At file:/C:/Users/Himanshu/eclipse_workspace/JaxmeTest/circular1.xsd, line 4, column 28: A global type {http://TEST/1.0/edu.emory.cci.xml.schema.circular1}Type1 is already defined. at org.apache.ws.jaxme.xs.impl.XSSchemaImpl.add(XSSchemaImpl.java:322) at org.apache.ws.jaxme.xs.impl.XSLogicalParser.add(XSLogicalParser.java:409) at org.apache.ws.jaxme.xs.impl.XSLogicalParser.parse(XSLogicalParser.java:590) at org.apache.ws.jaxme.xs.impl.XSContentHandlerImpl.endDocument(XSContentHandlerImpl.java:80) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endDocument(AbstractSAXParser.java:769) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.endEntity(XMLDocumentScannerImpl.java:560) at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.endEntity(XMLEntityManager.java:1779) at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(XMLEntityScanner.java:1758) at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.skipSpaces(XMLEntityScanner.java:1259) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$TrailingMiscDispatcher.dispatch(XMLDocumentScannerImpl.java:1247) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:368) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1242) at org.apache.ws.jaxme.xs.impl.XSLogicalParser.runContentHandler(XSLogicalParser.java:322) at org.apache.ws.jaxme.xs.impl.XSLogicalParser.parse(XSLogicalParser.java:724) at org.apache.ws.jaxme.xs.XSParser.parse(XSParser.java:178) at edu.emory.cci.jaxmetest.Main.main(Main.java:26) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: jaxme-dev-unsubscr...@ws.apache.org For additional commands, e-mail: jaxme-dev-h...@ws.apache.org