You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tika.apache.org by "Erik Hetzner (JIRA)" <ji...@apache.org> on 2010/05/19 22:33:54 UTC

[jira] Created: (TIKA-429) Error parsing DTD

Error parsing DTD
-----------------

                 Key: TIKA-429
                 URL: https://issues.apache.org/jira/browse/TIKA-429
             Project: Tika
          Issue Type: Bug
          Components: parser
    Affects Versions: 0.7
            Reporter: Erik Hetzner
            Priority: Minor


I don't think attempting to parse a DTD should throw an error.

Thanks!

$ curl -s http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd | java -jar tika-app-0.7.jar 
Exception in thread "main" org.apache.tika.exception.TikaException: TIKA-237: Illegal SAXException from org.apache.tika.parser.xml.DcXMLParser@28bb0d0d
	at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:142)
	at org.apache.tika.parser.AutoDetectParser.parse(AutoDetectParser.java:99)
	at org.apache.tika.cli.TikaCLI.process(TikaCLI.java:155)
	at org.apache.tika.cli.TikaCLI.main(TikaCLI.java:65)
Caused by: org.xml.sax.SAXParseException: The markup in the document preceding the root element must be well-formed.
	at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
	at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)
	at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388)
	at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1414)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:915)
	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 javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
	at javax.xml.parsers.SAXParser.parse(SAXParser.java:198)
	at org.apache.tika.parser.xml.XMLParser.parse(XMLParser.java:86)
	at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:132)
	... 3 more


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (TIKA-429) Error parsing DTD

Posted by "Jukka Zitting (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TIKA-429?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12871570#action_12871570 ] 

Jukka Zitting commented on TIKA-429:
------------------------------------

Looks like the input document is incorrectly treated as XML and fed to a normal XML parser.

As a first step in fixing this we should improve the type detection code to better detect DTDs. The next step would then be a dedicated DTD parser, though AFAIUI there aren't too many standalone DTD parsers. DTD parsing is typically done just as a side-effect of XML or SGML parsing.

> Error parsing DTD
> -----------------
>
>                 Key: TIKA-429
>                 URL: https://issues.apache.org/jira/browse/TIKA-429
>             Project: Tika
>          Issue Type: Bug
>          Components: parser
>    Affects Versions: 0.7
>            Reporter: Erik Hetzner
>            Priority: Minor
>
> I don't think attempting to parse a DTD should throw an error.
> Thanks!
> $ curl -s http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd | java -jar tika-app-0.7.jar 
> Exception in thread "main" org.apache.tika.exception.TikaException: TIKA-237: Illegal SAXException from org.apache.tika.parser.xml.DcXMLParser@28bb0d0d
> 	at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:142)
> 	at org.apache.tika.parser.AutoDetectParser.parse(AutoDetectParser.java:99)
> 	at org.apache.tika.cli.TikaCLI.process(TikaCLI.java:155)
> 	at org.apache.tika.cli.TikaCLI.main(TikaCLI.java:65)
> Caused by: org.xml.sax.SAXParseException: The markup in the document preceding the root element must be well-formed.
> 	at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
> 	at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)
> 	at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388)
> 	at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1414)
> 	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:915)
> 	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 javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
> 	at javax.xml.parsers.SAXParser.parse(SAXParser.java:198)
> 	at org.apache.tika.parser.xml.XMLParser.parse(XMLParser.java:86)
> 	at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:132)
> 	... 3 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (TIKA-429) Error parsing DTD

Posted by "Jukka Zitting (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TIKA-429?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12917404#action_12917404 ] 

Jukka Zitting commented on TIKA-429:
------------------------------------

After the TIKA-426 fix Tika now detects DTDs as plain text, which is already much better than throwing an exception.

I'm leaving this issue open in hope that we'll find a real DTD parser that we could use.

> Error parsing DTD
> -----------------
>
>                 Key: TIKA-429
>                 URL: https://issues.apache.org/jira/browse/TIKA-429
>             Project: Tika
>          Issue Type: Bug
>          Components: parser
>    Affects Versions: 0.7
>            Reporter: Erik Hetzner
>            Priority: Minor
>
> I don't think attempting to parse a DTD should throw an error.
> Thanks!
> $ curl -s http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd | java -jar tika-app-0.7.jar 
> Exception in thread "main" org.apache.tika.exception.TikaException: TIKA-237: Illegal SAXException from org.apache.tika.parser.xml.DcXMLParser@28bb0d0d
> 	at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:142)
> 	at org.apache.tika.parser.AutoDetectParser.parse(AutoDetectParser.java:99)
> 	at org.apache.tika.cli.TikaCLI.process(TikaCLI.java:155)
> 	at org.apache.tika.cli.TikaCLI.main(TikaCLI.java:65)
> Caused by: org.xml.sax.SAXParseException: The markup in the document preceding the root element must be well-formed.
> 	at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
> 	at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)
> 	at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388)
> 	at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1414)
> 	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:915)
> 	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 javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
> 	at javax.xml.parsers.SAXParser.parse(SAXParser.java:198)
> 	at org.apache.tika.parser.xml.XMLParser.parse(XMLParser.java:86)
> 	at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:132)
> 	... 3 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.