Details
-
Improvement
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
1.22
-
None
Description
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:
<tr ><td > GFR<60 = Chronic Kidney Disease, GFR<15 = Kidney Failure </td></tr><tr ><td ></td></tr><tr ><td > ENZYMES & BILIRUBIN</td></tr>
The result is:
GFR ENZYMES & BILIRUBIN
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, `</td></tr>` 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.
Attachments
Issue Links
- relates to
-
TIKA-1599 Switch from TagSoup to JSoup
- Resolved