If we run:
the same occurs for:
Both perfectly valid documents if they were returned as "application/xml" and "text/plain" respectively.
This happens because parse-tika uses the mime type to retrieve a suitable parser, some composite mime types are not included in this list even though they are perfectly valid and parsable documents. This not taking into account that servers often return incorrect mime types for the documents requested.
We created a helper class as a workaround for this issue. The class uses regex expressions to define synonyms. In the first case any mime type that matches "application/(.*)+xml" will be replaced by "application/xml". This way parse-tika will parse the document just fine.