Uploaded image for project: 'Apache Jena'
  1. Apache Jena
  2. JENA-341

Jena breaks with Xerces 2.11.0 (XML Schema 1.1 branch)

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • Jena 3.8.0
    • Jena
    • None

    Description

      Running Jena with a Xerces 2.11.0 build which is XML Schema 1.1 aware (the xerces-java-xml-schema-1.1-dev branch) breaks with a NPE:

      ERROR [my.package.MyClass:105] An exception occured during data loading
      java.lang.NullPointerException
      at org.apache.xerces.impl.dv.xs.XSSimpleTypeDecl.getActualValue(Unknown Source)
      at org.apache.xerces.impl.dv.xs.XSSimpleTypeDecl.validate(Unknown Source)
      at com.hp.hpl.jena.datatypes.xsd.XSDDatatype.parse(XSDDatatype.java:272)
      at com.hp.hpl.jena.graph.impl.LiteralLabelImpl.setValue(LiteralLabelImpl.java:213)
      at com.hp.hpl.jena.graph.impl.LiteralLabelImpl.setLiteralLabel_1(LiteralLabelImpl.java:107)
      at com.hp.hpl.jena.graph.impl.LiteralLabelImpl.<init>(LiteralLabelImpl.java:96)
      at com.hp.hpl.jena.graph.impl.LiteralLabelFactory.createLiteralLabel(LiteralLabelFactory.java:28)
      at com.hp.hpl.jena.graph.Node.createLiteral(Node.java:101)
      at com.hp.hpl.jena.rdf.arp.JenaReader.convert(JenaReader.java:120)
      at com.hp.hpl.jena.rdf.arp.JenaReader.convert(JenaReader.java:143)
      at com.hp.hpl.jena.rdf.arp.JenaHandler.statement(JenaHandler.java:89)
      at com.hp.hpl.jena.rdf.arp.impl.XMLHandler.triple(XMLHandler.java:86)
      at com.hp.hpl.jena.rdf.arp.impl.ParserSupport.triple(ParserSupport.java:228)
      at com.hp.hpl.jena.rdf.arp.states.WantDescription.aPredAndObj(WantDescription.java:116)
      at com.hp.hpl.jena.rdf.arp.states.WantPropertyElement.theObject(WantPropertyElement.java:213)
      at com.hp.hpl.jena.rdf.arp.states.WantTypedLiteral.endElement(WantTypedLiteral.java:50)
      at com.hp.hpl.jena.rdf.arp.impl.XMLHandler.endElement(XMLHandler.java:133)
      at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
      at org.apache.xerces.impl.XMLNamespaceBinder.handleEndElement(Unknown Source)
      at org.apache.xerces.impl.XMLNamespaceBinder.endElement(Unknown Source)
      at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
      at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
      at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
      at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
      at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
      at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
      at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
      at com.hp.hpl.jena.rdf.arp.impl.RDFXMLParser.parse(RDFXMLParser.java:155)
      at com.hp.hpl.jena.rdf.arp.JenaReader.read(JenaReader.java:173)
      at com.hp.hpl.jena.rdf.arp.JenaReader.read(JenaReader.java:160)
      at com.hp.hpl.jena.rdf.arp.JenaReader.read(JenaReader.java:232)
      at com.hp.hpl.jena.rdf.model.impl.ModelCom.read(ModelCom.java:235)
      at my.package.MyClass.load(MyClass.java:97)

      The org.apache.xerces.impl.validation.ValidationState you are passing to the Xerces XSSimpleTypeDecl has a NULL TypeValidatorHelper and the Xerces build which is XML Schema 1.1 aware looks a lot in the TypeValidatorHelper to see if it is running in XML Schema 1.1 compatibility mode like:

      final String options = context.getTypeValidatorHelper().isXMLSchema11() ? "Xbh" : "X";

      The class org.apache.xerces.impl.dv.xs.XSSimpleTypeDecl is an internal Xerces class. Maybe you should try breaking dependencies to internal classes.

      Attachments

        Issue Links

          Activity

            People

              andy Andy Seaborne
              radu_coravu Radu Coravu
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - 3h
                  3h
                  Remaining:
                  Remaining Estimate - 3h
                  3h
                  Logged:
                  Time Spent - Not Specified
                  Not Specified