Optionale Felder und Sätze angeben

Informationen zu diesem Vorgang

Bei der Erstellung optionaler Felder oder Sätze in einem Schema für unstrukturierte Dateien müssen Sie wissen, wie unstrukturierte Dateidaten geparst werden, sodass Sie Ihr Schema für unstrukturierte Dateien so gestalten können, dass Mehrdeutigkeiten ausgeschlossen werden. Wenn Sie zum Beispiel ein Schema für unstrukturierte Dateien erstellen, dass einen Stammknoten mit Begrenzern und drei untergeordnete Zeichenfolgefelder enthält, wobei feld1 erforderlich, feld2 optional und feld3 erforderlich ist, ist die Grammatik des Schemas wie nachfolgend gezeigt mehrdeutig, wenn die folgenden Daten während der Ausführung geparst werden:

A,C

Diese unstrukturierten Dateidaten könnten auf die folgenden zwei Arten geparst werden:
  • feld1 ist gleich A und feld2 ist gleich C.
  • feld1 ist gleich A und feld3 ist gleich C.

Durch die Angabe eines erforderlichen Felds nach einem optionalen Feld wird eine mehrdeutige Grammatik definiert, die nicht ordnungsgemäß geparst werden kann. Auch durch die Angabe eines erforderlichen Satzes nach einem optionalen Feld wird eine mehrdeutige Grammatik definiert, die nicht ordnungsgemäß geparst werden kann.

Eine Änderung der Definition dieses Schemas für unstrukturierte Dateien, sodass drei untergeordnete Zeichenfolgefelder enthalten sind, wobei feld1 erforderlich ist, feld2 optional ist und feld3 optional ist, löst dieses Problem nicht, weil beim Parsing der unstrukturierten Dateidaten A,C das feld1 gleich A und das feld2 gleich C ist. Diese Grammatik ist wieder mehrdeutig, da es sich nicht um das gewünschte Ergebnis handelt. Das gewünschte Ergebnis wäre, dass der Wert C dem feld3 zugeordnet wird. Durch die Angabe eines erforderlichen Satzes, auf den zwei optionale Sätze folgen, wird ebenfalls eine mehrdeutige Grammatik definiert.