In diesem Abschnitt wird beschrieben, wie DFDL-Parser Auswahlelemente, optionale
Elemente und Variablengruppen auflösen.
Ein DFDL-Parser ist rekursiv absteigender Parser (recursiv-descent), der folgende
Unsicherheitsfaktoren mithilfe einer Vorschau auf Eingaben (lookahead) auflöst:
- eine Auswahl
- ein optionales Element
- eine Variablengruppe von Elementen
Der Parser muss abwägend versuchen, Daten
syntaktisch zu analysieren, bis ein Objekt entweder 'als vorhanden erkannt' oder 'als nicht
vorhanden' erkannt wird. Bis die Bedingung etabliert ist, führt ein Verarbeitungsfehler dazu, dass
der Parser den Fehler unterdrückt, zurückspringt und eine Alternative ausprobiert. Um eine falsche
rekursive Rücksetzung zu vermeiden, muss mithilfe der dfdl:discriminator-Anmerkung bestätigt
werden, dass ein Objekt 'als vorhanden erkannt' wird. Auch Initiatoren können bestätigen, dass ein
Objekt 'als vorhanden erkannt' wird.