Desmond David created TIKA-2928:
-----------------------------------

             Summary: Less than sign within tag boundaries considered as start 
of a new tag.
                 Key: TIKA-2928
                 URL: https://issues.apache.org/jira/browse/TIKA-2928
             Project: Tika
          Issue Type: Bug
          Components: parser, server
    Affects Versions: 1.22
            Reporter: Desmond David


So I have been attempting to parse some (somewhat non-standard) HTML documents 
using Tika and I have observed that if the document contains a less-than sign 
(<) as part of a tag's body, Tika parses it as the start of a new tag and 
eventually omits the rest of the text in the final document, up to the point 
when the next newline is to be entered.

For example, consider the following HTML snippet:

 
{code:html}
<tr ><td > GFR<60 = Chronic Kidney Disease, GFR<15 = Kidney Failure 
</td></tr><tr ><td ></td></tr><tr ><td > ENZYMES & BILIRUBIN</td></tr>{code}
The result is:
{code:java}
GFR
ENZYMES & BILIRUBIN
{code}
Here, the rest of the content after the first `GFR` gets omitted. Based on this 
observation I think this means that the `<60`  and it's subsequent characters 
are getting interpreted as part of a tag, and since are getting ignored. Then 
at some point, `</tr></td>` is encountered which short-circuits the execution 
and starts processing the next line.

This behaviour was observed using both, the Tika App and the Tika Server.

I think expected behaviour should be that all text within data tags (p, td, 
etc.) should be considered as raw text. Or at least Tika's behaviour should be 
configurable to be allowed to do so.

 



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

Reply via email to