[ 
https://issues.apache.org/jira/browse/XERCESJ-1583?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13447508#comment-13447508
 ] 

Michael Glavassevich commented on XERCESJ-1583:
-----------------------------------------------

Mukul, the problem is that Xerces is throwing an NPE in XSD 1.0 mode. This is 
an invalid XSD 1.0 schema document. We should report an error, but Xerces 
shouldn't throw an NPE.

Looking at the code I can see that this is another place where we're missing an 
explicit check against XSDHandler.fSchemaVersion.
                
> NullPointerException when parsing an instance that has a schema with 
> inheritable attribute
> ------------------------------------------------------------------------------------------
>
>                 Key: XERCESJ-1583
>                 URL: https://issues.apache.org/jira/browse/XERCESJ-1583
>             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
>
> 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-------------------
> <BookStore xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
> xsi:noNamespaceSchemaLocation="schema.xsd">
> </BookStore>
> -------------------------------------------------------
> ---------------------schema.xsd-----------------
> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";>
>     <xs:element name="BookStore">
>         <xs:complexType>
>             <xs:attribute name="lang" inheritable="true" type="xs:string"/>
>         </xs:complexType>
>     </xs:element>
> </xs:schema>
> --------------------------------------------------------
> -----------NullPointerException -------------------------------
> Exception in thread "main" java.lang.NullPointerException
>       at 
> org.apache.xerces.impl.xs.traversers.XSDAttributeTraverser.traverseLocal(XSDAttributeTraverser.java:144)
>       at 
> org.apache.xerces.impl.xs.traversers.XSDAbstractTraverser.traverseAttrsAndAttrGrps(XSDAbstractTraverser.java:796)
>       at 
> org.apache.xerces.impl.xs.traversers.XSDComplexTypeTraverser.processComplexContent(XSDComplexTypeTraverser.java:1639)
>       at 
> org.apache.xerces.impl.xs.traversers.XSDComplexTypeTraverser.traverseComplexTypeDecl(XSDComplexTypeTraverser.java:485)
>       at 
> org.apache.xerces.impl.xs.traversers.XSDComplexTypeTraverser.traverseLocal(XSDComplexTypeTraverser.java:181)
>       at 
> org.apache.xerces.impl.xs.traversers.XSDElementTraverser.traverseNamedElement(XSDElementTraverser.java:393)
>       at 
> org.apache.xerces.impl.xs.traversers.XSDElementTraverser.traverseGlobal(XSDElementTraverser.java:241)
>       at 
> org.apache.xerces.impl.xs.traversers.XSDHandler.traverseSchemas(XSDHandler.java:1629)
>       at 
> org.apache.xerces.impl.xs.traversers.XSDHandler.parseSchema(XSDHandler.java:724)
>       at 
> org.apache.xerces.impl.xs.XMLSchemaLoader.loadSchema(XMLSchemaLoader.java:644)
>       at 
> org.apache.xerces.impl.xs.XMLSchemaValidator.findSchemaGrammar(XMLSchemaValidator.java:3072)
>       at 
> org.apache.xerces.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:2259)
>       at 
> org.apache.xerces.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:859)
>       at 
> org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:283)
>       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)
>       at XercesParse.main(XercesParse.java:70)
> ---------------------------------------------------------------------------

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to