[
https://issues.apache.org/jira/browse/TIKA-1070?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13635050#comment-13635050
]
Dietmar Glachs commented on TIKA-1070:
--------------------------------------
Hello Nick,
sorry to bother you with this - but since the issue is still unresolved, I
would ask you to adjust the endElement-Method in
org.apache.tika.sax.ToXMLContentHandler as follows.
@Override
public void endElement(String uri, String localName, String qName)
throws SAXException {
if (inStartElement) {
write(" />");
inStartElement = false;
} else {
write("</");
write(qName);
write('>');
}
// TIKA-1070
currentElement = currentElement.parent;
namespaces.clear();
}
as initially posted the "currentElement = currentElement.parent" statement
solves the issue
thx
Dietmar
> StackOverflow error in
> org.apache.tika.sax.ToXMLContentHandler$ElementInfo.getPrefix(ToXMLContentHandler.java:58)
> -----------------------------------------------------------------------------------------------------------------
>
> Key: TIKA-1070
> URL: https://issues.apache.org/jira/browse/TIKA-1070
> Project: Tika
> Issue Type: Bug
> Components: parser
> Affects Versions: 1.2, 1.3
> Environment: Java
> Reporter: Dietmar Glachs
>
> The error occurs when parsing big "XLS" files and is caused by the
> ElementInfo stored in "currentElement".
> Each time a new element is started (method startElement) the current elment
> is newly overwritten with
> currentElement = new ElementInfo(currentElement, namespaces);
> where the existing element is used as the parent element. Since the
> currentElement is not reset to the parent element after finishing the element
> (method: endElement) the method getPrefix recursively traverses the parents
> and finally causes the StackOverFlowError
> For my understanding: something like:
> currentElement = currentElement.parent;
> in the endElement method solves the issue!
> Best
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira