readXMLStub error on malformed DOCTYPE declaration

25 views
Skip to first unread message

BT

unread,
Jan 7, 2012, 8:03:42 PM1/7/12
to XTF Developer list
This file causes a crash of textIndexer with
Error in call to extension function {public static
net.sf.saxon.om.DocumentInfo

org.cdlib.xtf.xslt.FileUtils.readXMLStub(net.sf.saxon.expr.XPathContext,java.lang.String)
throws java.io.IOException,net.sf.saxon.trans.XPathException}:
Exception in extension
function java.lang.IllegalArgumentException

https://github.com/tingletech/ead-test-col/blob/master/cjs.org/AbeGruber.xml#L1

The malformed DOCTYPE is what causes the error; changing
<!DOCTYPE ead PUBLIC "+//ISBN 1-931666-00-8//DTD ead.dtd (Encoded
Archival Description (EAD) Version 2002)//EN" " ">

to
<!DOCTYPE ead PUBLIC "+//ISBN 1-931666-00-8//DTD ead.dtd (Encoded
Archival Description (EAD) Version 2002)//EN" "ead.dtd">

fixes it

TextIndexer v3.0


Purging Incomplete Documents From Indexes:
Index: [/Users/tingle/xtf4/current-ead/index/]
No Incomplete Documents Found.
Done.

Indexing New/Updated Documents:
Index: "default"
Scanning Data Directories....
Saxon Error on line 142 of file:/Users/tingle/xtf4/current-ead/
style/textIndexer/docSelector.xsl:: Error in call to extension
function {public static net.sf.saxon.om.DocumentInfo

org.cdlib.xtf.xslt.FileUtils.readXMLStub(net.sf.saxon.expr.XPathContext,java.lang.String)
throws java.io.IOException,net.sf.saxon.trans.XPathException}:
Exception in extension
function java.lang.IllegalArgumentException
*** Error: class net.sf.saxon.trans.DynamicError
; SystemID: file:/Users/tingle/xtf4/current-ead/style/textIndexer/
docSelector.xsl; Line#: 142; Column#: -1
net.sf.saxon.trans.DynamicError: Error in call to extension function
{public static net.sf.saxon.om.DocumentInfo
org.cdlib.xtf.xslt.FileUtils.readXMLStub(net.sf.saxon.expr.XPathContext,java.lang.String)
throws java.io.IOException,net.sf.saxon.trans.XPathException}:
Exception in extension function java.lang.IllegalArgumentException
at
net.sf.saxon.functions.ExtensionFunctionCall.iterate(ExtensionFunctionCall.java:
115)
at net.sf.saxon.instruct.ForEach.processLeavingTail(ForEach.java:219)
at
net.sf.saxon.expr.LetExpression.processLeavingTail(LetExpression.java:
405)
at net.sf.saxon.instruct.Choose.processLeavingTail(Choose.java:347)
at net.sf.saxon.instruct.Choose.processLeavingTail(Choose.java:347)
at
net.sf.saxon.expr.LetExpression.processLeavingTail(LetExpression.java:
405)
at net.sf.saxon.instruct.Template.applyLeavingTail(Template.java:98)
at
net.sf.saxon.instruct.ApplyTemplates.applyTemplates(ApplyTemplates.java:
317)
at net.sf.saxon.instruct.ApplyTemplates.apply(ApplyTemplates.java:
187)
at net.sf.saxon.instruct.ApplyTemplates.process(ApplyTemplates.java:
147)
at
net.sf.saxon.instruct.ElementCreator.processLeavingTail(ElementCreator.java:
240)
at net.sf.saxon.instruct.Template.applyLeavingTail(Template.java:98)
at
net.sf.saxon.instruct.ApplyTemplates.applyTemplates(ApplyTemplates.java:
317)
at
net.sf.saxon.instruct.ApplyTemplates.defaultAction(ApplyTemplates.java:
349)
at
net.sf.saxon.instruct.ApplyTemplates.applyTemplates(ApplyTemplates.java:
310)
at net.sf.saxon.Controller.transformDocument(Controller.java:1705)
at net.sf.saxon.Controller.transform(Controller.java:1513)
at
org.cdlib.xtf.textIndexer.SrcTreeProcessor.processDir(SrcTreeProcessor.java:
381)
at
org.cdlib.xtf.textIndexer.SrcTreeProcessor.processDir(SrcTreeProcessor.java:
438)
at
org.cdlib.xtf.textIndexer.SrcTreeProcessor.processDir(SrcTreeProcessor.java:
438)
at org.cdlib.xtf.textIndexer.TextIndexer.doIndexing(TextIndexer.java:
512)
at org.cdlib.xtf.textIndexer.TextIndexer.main(TextIndexer.java:339)
Caused by: java.lang.IllegalArgumentException
at java.net.URI.create(URI.java:842)
at java.net.URI.resolve(URI.java:1028)
at
net.sf.saxon.event.ReceivingContentHandler.unparsedEntityDecl(ReceivingContentHandler.java:
485)
at org.cdlib.xtf.xslt.XMLStubReader
$StubLexicalHandler.startDTD(XMLStubReader.java:119)
at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.doctypeDecl(AbstractSAXParser.java:
334)
at
com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.doctypeDecl(XMLDTDValidator.java:
746)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.scanDoctypeDecl(XMLDocumentScannerImpl.java:
712)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl
$PrologDriver.next(XMLDocumentScannerImpl.java:968)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:
648)
at
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:
140)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:
511)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:
808)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:
737)
at
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:
119)
at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:
1205)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl
$JAXPSAXParser.parse(SAXParserImpl.java:522)
at
org.cdlib.xtf.servletBase.DTDSuppressingXMLReader.parse(DTDSuppressingXMLReader.java:
138)
at org.cdlib.xtf.xslt.XMLStubReader.parse(XMLStubReader.java:92)
at net.sf.saxon.event.Sender.sendSAXSource(Sender.java:300)
at net.sf.saxon.event.Sender.send(Sender.java:142)
at net.sf.saxon.event.Sender.send(Sender.java:43)
at net.sf.saxon.Configuration.buildDocument(Configuration.java:2235)
at org.cdlib.xtf.xslt.FileUtils.readXMLStub(FileUtils.java:498)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
net.sf.saxon.functions.ExtensionFunctionCall.invokeMethod(ExtensionFunctionCall.java:
513)
at
net.sf.saxon.functions.ExtensionFunctionCall.call(ExtensionFunctionCall.java:
223)
at
net.sf.saxon.functions.ExtensionFunctionCall.iterate(ExtensionFunctionCall.java:
111)
... 21 more
Caused by: java.net.URISyntaxException: Illegal character in path at
index 0:
at java.net.URI$Parser.fail(URI.java:2809)
at java.net.URI$Parser.checkChars(URI.java:2982)
at java.net.URI$Parser.parseHierarchical(URI.java:3066)
at java.net.URI$Parser.parse(URI.java:3024)
at java.net.URI.<init>(URI.java:578)
at java.net.URI.create(URI.java:840)
... 50 more
---------
java.lang.IllegalArgumentException
at java.net.URI.create(URI.java:842)
at java.net.URI.resolve(URI.java:1028)
at
net.sf.saxon.event.ReceivingContentHandler.unparsedEntityDecl(ReceivingContentHandler.java:
485)
at org.cdlib.xtf.xslt.XMLStubReader
$StubLexicalHandler.startDTD(XMLStubReader.java:119)
at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.doctypeDecl(AbstractSAXParser.java:
334)
at
com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.doctypeDecl(XMLDTDValidator.java:
746)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.scanDoctypeDecl(XMLDocumentScannerImpl.java:
712)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl
$PrologDriver.next(XMLDocumentScannerImpl.java:968)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:
648)
at
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:
140)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:
511)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:
808)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:
737)
at
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:
119)
at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:
1205)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl
$JAXPSAXParser.parse(SAXParserImpl.java:522)
at
org.cdlib.xtf.servletBase.DTDSuppressingXMLReader.parse(DTDSuppressingXMLReader.java:
138)
at org.cdlib.xtf.xslt.XMLStubReader.parse(XMLStubReader.java:92)
at net.sf.saxon.event.Sender.sendSAXSource(Sender.java:300)
at net.sf.saxon.event.Sender.send(Sender.java:142)
at net.sf.saxon.event.Sender.send(Sender.java:43)
at net.sf.saxon.Configuration.buildDocument(Configuration.java:2235)
at org.cdlib.xtf.xslt.FileUtils.readXMLStub(FileUtils.java:498)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
net.sf.saxon.functions.ExtensionFunctionCall.invokeMethod(ExtensionFunctionCall.java:
513)
at
net.sf.saxon.functions.ExtensionFunctionCall.call(ExtensionFunctionCall.java:
223)
at
net.sf.saxon.functions.ExtensionFunctionCall.iterate(ExtensionFunctionCall.java:
111)
at net.sf.saxon.instruct.ForEach.processLeavingTail(ForEach.java:219)
at
net.sf.saxon.expr.LetExpression.processLeavingTail(LetExpression.java:
405)
at net.sf.saxon.instruct.Choose.processLeavingTail(Choose.java:347)
at net.sf.saxon.instruct.Choose.processLeavingTail(Choose.java:347)
at
net.sf.saxon.expr.LetExpression.processLeavingTail(LetExpression.java:
405)
at net.sf.saxon.instruct.Template.applyLeavingTail(Template.java:98)
at
net.sf.saxon.instruct.ApplyTemplates.applyTemplates(ApplyTemplates.java:
317)
at net.sf.saxon.instruct.ApplyTemplates.apply(ApplyTemplates.java:
187)
at net.sf.saxon.instruct.ApplyTemplates.process(ApplyTemplates.java:
147)
at
net.sf.saxon.instruct.ElementCreator.processLeavingTail(ElementCreator.java:
240)
at net.sf.saxon.instruct.Template.applyLeavingTail(Template.java:98)
at
net.sf.saxon.instruct.ApplyTemplates.applyTemplates(ApplyTemplates.java:
317)
at
net.sf.saxon.instruct.ApplyTemplates.defaultAction(ApplyTemplates.java:
349)
at
net.sf.saxon.instruct.ApplyTemplates.applyTemplates(ApplyTemplates.java:
310)
at net.sf.saxon.Controller.transformDocument(Controller.java:1705)
at net.sf.saxon.Controller.transform(Controller.java:1513)
at
org.cdlib.xtf.textIndexer.SrcTreeProcessor.processDir(SrcTreeProcessor.java:
381)
at
org.cdlib.xtf.textIndexer.SrcTreeProcessor.processDir(SrcTreeProcessor.java:
438)
at
org.cdlib.xtf.textIndexer.SrcTreeProcessor.processDir(SrcTreeProcessor.java:
438)
at org.cdlib.xtf.textIndexer.TextIndexer.doIndexing(TextIndexer.java:
512)
at org.cdlib.xtf.textIndexer.TextIndexer.main(TextIndexer.java:339)
Caused by: java.net.URISyntaxException: Illegal character in path at
index 0:
at java.net.URI$Parser.fail(URI.java:2809)
at java.net.URI$Parser.checkChars(URI.java:2982)
at java.net.URI$Parser.parseHierarchical(URI.java:3066)
at java.net.URI$Parser.parse(URI.java:3024)
at java.net.URI.<init>(URI.java:578)
at java.net.URI.create(URI.java:840)
... 50 more
Reply all
Reply to author
Forward
0 new messages