You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@any23.apache.org by "Lewis John McGibbney (JIRA)" <ji...@apache.org> on 2018/01/23 22:27:00 UTC
[jira] [Comment Edited] (ANY23-326) parsing unclosed meta and input
tags fails
[ https://issues.apache.org/jira/browse/ANY23-326?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16336465#comment-16336465 ]
Lewis John McGibbney edited comment on ANY23-326 at 1/23/18 10:26 PM:
----------------------------------------------------------------------
The error stems from passing sloppy HTML to the [RDFa11Extractor|https://github.com/apache/any23/blob/6620c1efa94489e99ab129d01926cd9b25937f64/core/src/main/java/org/apache/any23/extractor/rdfa/RDFa11Extractor.java]] or [RDFParserFactory|https://github.com/apache/any23/blob/6620c1efa94489e99ab129d01926cd9b25937f64/core/src/main/java/org/apache/any23/extractor/rdf/RDFParserFactory.java#L105-L124] when we create an RDFa1.1 parser instance.
Over in Nutch, we recently by-passed this error, by correcting the sloppy HTML stream as follows
{code}
try {
// Fix input to avoid extraction error (https://github.com/semarglproject/semargl/issues/37#issuecomment-69381281)
XMLReader reader = SAXParserImpl.newInstance(null).getXMLReader();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
XMLWriter writer = new XMLWriter(new OutputStreamWriter(baos));
reader.setContentHandler(writer);
reader.parse(new InputSource(new StringReader(htmlContent)));
String input = new String(baos.toByteArray(), Charset.forName("UTF-8"));
baos = new ByteArrayOutputStream();
TripleHandler tHandler = new NTriplesWriter(baos);
BenchmarkTripleHandler bHandler = new BenchmarkTripleHandler(tHandler);
try {
any23.extract(input, url, contentType, "UTF-8", bHandler);
...
{code}
was (Author: lewismc):
The error stems from passing sloppy HTML to the [RDFa11Extractor|[https://github.com/apache/any23/blob/6620c1efa94489e99ab129d01926cd9b25937f64/core/src/main/java/org/apache/any23/extractor/rdfa/RDFa11Extractor.java]] or [RDFParserFactory|https://github.com/apache/any23/blob/6620c1efa94489e99ab129d01926cd9b25937f64/core/src/main/java/org/apache/any23/extractor/rdf/RDFParserFactory.java#L105-L124] when we create an RDFa1.1 parser instance.
Over in Nutch, we recently by-passed this error, by correcting the sloppy HTML stream as follows
{code}
try {
// Fix input to avoid extraction error (https://github.com/semarglproject/semargl/issues/37#issuecomment-69381281)
XMLReader reader = SAXParserImpl.newInstance(null).getXMLReader();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
XMLWriter writer = new XMLWriter(new OutputStreamWriter(baos));
reader.setContentHandler(writer);
reader.parse(new InputSource(new StringReader(htmlContent)));
String input = new String(baos.toByteArray(), Charset.forName("UTF-8"));
baos = new ByteArrayOutputStream();
TripleHandler tHandler = new NTriplesWriter(baos);
BenchmarkTripleHandler bHandler = new BenchmarkTripleHandler(tHandler);
try {
any23.extract(input, url, contentType, "UTF-8", bHandler);
...
{code}
> parsing unclosed meta and input tags fails
> ------------------------------------------
>
> Key: ANY23-326
> URL: https://issues.apache.org/jira/browse/ANY23-326
> Project: Apache Any23
> Issue Type: Bug
> Components: CLI
> Affects Versions: 2.1
> Environment: ubuntu 17.04
> Reporter: Ben Roberts
> Priority: Major
> Fix For: 2.2
>
>
> parsing fails as soon as it hits an unclosed input or meta tag, as an example try
> ./bin/any23 rover https://ben.thatmustbe.me/note/2017/12/28/1
> [Fatal Error] :170:3: The element type "input" must be terminated by the matching end-tag "</input>".
>
> It seems like the issue might be that this is using a very old version of jsoup. at least as best I could tell.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)