Hello,
JMRTD currently filters out empty strings when parsing the DG11 file for the fields placeOfBirth, permanentAddress, and otherValidTDNumbers.
We believe this behavior is incorrect. In DG11, empty strings have semantic meaning and are required to preserve field positions and layout.
According to ICAO Doc 9303, Part 10, Section 4.7.11, address-related fields are encoded as a sequence of components separated by a single '<' character. When multiple '<' characters appear consecutively, they explicitly represent empty components and should not be removed.
Filtering out empty strings alters the positional semantics of the data and makes it impossible to reliably reconstruct the original field layout.
We therefore believe that the parser should preserve empty components and expose them as empty strings in the resulting data structure.
Anonymous