[ https://issues.apache.org/jira/browse/XERCESJ-1589?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mukul Gandhi updated XERCESJ-1589: ---------------------------------- Fix Version/s: 2.12.0 > NullPointerException when parsing an instance that has a XSD 1.0 schema with > 'defaultOpenContent' element > --------------------------------------------------------------------------------------------------------- > > Key: XERCESJ-1589 > URL: https://issues.apache.org/jira/browse/XERCESJ-1589 > Project: Xerces2-J > Issue Type: Bug > Components: XML Schema 1.0 Structures, XML Schema 1.1 Structures > Affects Versions: 2.11.0 > Reporter: Octavian Nadolu > Assignee: Michael Glavassevich > Priority: Major > Fix For: 2.12.0 > > > If I parse the instance.xml file using the following java code, I get an > NullPointerException. I tested on the xml-schema-1.1-dev branch. > ----------Java code----------------------- > XMLReader parser = new org.apache.xerces.parsers.SAXParser(); > parser.setFeature(Constants.XERCES_FEATURE_PREFIX + > Constants.SCHEMA_VALIDATION_FEATURE, true); > parser.parse("file:/C:/instance.xml"); > -------------------------------------- > -----------------instance.xml------------------- > <root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:noNamespaceSchemaLocation="schema.xsd"/> > ------------------------------------------------------- > ---------------------schema.xsd----------------- > <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" > elementFormDefault="qualified"> > <xs:defaultOpenContent mode="suffix"> > <xs:any/> > </xs:defaultOpenContent> > > <xs:element name="root"/> > </xs:schema> > -------------------------------------------------------- > -----------NullPointerException ------------------------------- > Exception in thread "main" java.lang.NullPointerException > at > org.apache.xerces.impl.xs.traversers.XSDComplexTypeTraverser.traverseOpenContent(XSDComplexTypeTraverser.java:268) > at > org.apache.xerces.impl.xs.traversers.XSDHandler.buildGlobalNameRegistries(XSDHandler.java:1481) > at > org.apache.xerces.impl.xs.traversers.XSDHandler.parseSchema(XSDHandler.java:716) > at > org.apache.xerces.impl.xs.XMLSchemaLoader.loadSchema(XMLSchemaLoader.java:644) > at > org.apache.xerces.impl.xs.XMLSchemaValidator.findSchemaGrammar(XMLSchemaValidator.java:3074) > at > org.apache.xerces.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:2259) > at > org.apache.xerces.impl.xs.XMLSchemaValidator.emptyElement(XMLSchemaValidator.java:880) > at > org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:275) > at > org.apache.xerces.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(XMLNSDocumentScannerImpl.java:733) > at > org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1754) > at > org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:324) > at > org.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.java:890) > at > org.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.java:813) > at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:108) > at > org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1129) > --------------------------------------------------------------------------- > It seems that in the XSDHandlerXerces.buildGlobalNameRegistries(), the method > XSDComplexTypeTraverser.traverseOpenContent(Element, XSDocumentInfo, > SchemaGrammar, boolean) is called even if the current schema version is 1.0. > For 1.0 this method should not be called. > Also the XSAttributeCheckerXerces.checkAttributes(Element, boolean, > XSDocumentInfo, boolean) method can return null in some cases, maybe you > should check that the attributes array is not null before using it. -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: j-dev-unsubscr...@xerces.apache.org For additional commands, e-mail: j-dev-h...@xerces.apache.org