Hi,
>From reading the code it is clear that it is designed to allow using several
>parsers to parse a document in a sequence, until it is successfully parsed. In
>practice, this does not work because these lines
f (parseResult != null && !parseResult.isEmpty())
return parseResult;
break the loop even if the parsing has failed because parseResult is not empty
anyway, it contains a ParseData with ParseStatus.FAILED.
This is easy to fix, for example, by adding a line before the two lines
mentioned above:
if ( parseResult != null ) parseResult.filter() ;
This will remove failed ParseData objects from the parseResult and leave it
empty if the parsing had been unsuccessful. I believe that this fix is
important because it allows use of backup parsers as originally designed and
thus increase index completeness.
Regards,
Arkadi