Zwischen dem Trennzeichentyp TDS und logischen Modelleigenschaften gibt es einige Einschränkungen, wie z. B. die Gruppenzusammensetzung und die Gruppeninhaltsprüfung. Die Regeln, von denen diese Optionen gesteuert werden, werden unter Einschränkungen beim Verschachteln komplexer Typen erklärt.
Diese Regeln bestehen, um die Integrität der Nachricht sicherzustellen. Eine Kombination von Trennzeichentypen und Gruppenzusammensetzungen oder Gruppeninhaltsprüfung darf keine Nachricht zum Ergebnis haben, die vom TDS-Parser nicht verarbeitet werden kann.
In TDS werden Standardwerte nur von Elementen fester Länge überwacht:
Trennzeichentyp | Verwendung von Standardwerten |
---|---|
Mit Kennung/Begrenzer Mit Kennung/fester Länge |
Standardwerte werden nie überwacht. |
Feste Länge AL3 mit fester Länge |
Standardwerte werden bei der Ausgabe von allen Elementen überwacht. Ein fehlendes Element, für das kein Standardwert definiert wurde, verursacht einen Fehler beim Schreibvorgang. |
Elemente variabler Länge mit Begrenzer | Standardwerte werden bei der Ausgabe nur von Elementen fester Länge überwacht. Fehlende Werte mit fester Länge müssen über einen Standardwert verfügen. Ein fehlendes Element, für das kein Standardwert definiert wurde, verursacht einen Fehler beim Schreibvorgang. |
Listen und Zusammenschlüsse sind XML-spezifische Konzepte. Ein Element oder Attribut eines einfachen Typs, bei dem es sich um eine Liste oder einen Zusammenschluss handelt, verursacht eine Tasklistenwarnung, wenn in der Nachrichtengruppe ein physisches TDS-Format enthalten ist. Mit Hilfe der Validierungseinstellungen kann der Benutzer auswählen, ob dies als Fehler, Warnung oder Information behandelt werden soll. Wenn aus der Nachrichtengruppe ein Wörterverzeichnis generiert wird und versucht wird, eine TDS-Nachricht zu analysieren, die laut Definition solche Elemente oder Attribute enthält, tritt ein Laufzeitfehler auf.
Die logischen Eigenschaften Mindestanzahl und Maximale Anzahl geben die zulässige Häufigkeit eines Elements oder einer Gruppe in einer Nachricht an. Sie werden beim Analysieren und Schreiben von Nachrichten und beim Auswerten des Inhalts einer Nachricht verwendet.
Beim Analysieren und Schreiben ist die genaue Interpretation dieser Eigenschaften von der Eigenschaft Trennzeichen für Datenelemente des übergeordneten komplexen Typs oder der Gruppe abhängig (siehe Tabelle unten).
Beim Auswerten wird sowohl auf Basis von Mindestanzahl als auch von Maximale Anzahl überprüft, ob der Inhalt der Nachrichtenbaumstruktur mit dem Modell übereinstimmt.
Trennzeichentyp | Interpretation von Mindestanzahl und Maximale Anzahl |
---|---|
Mit Kennung/Begrenzer Mit Kennung/fester Länge |
Beim Analysieren und Schreiben werden
Mindestanzahl und Maximale
Anzahl tatsächlich jedoch ignoriert. Beim Analysieren wird die Häufigkeit durch die Tags
in der Nachricht identifiziert. Beim Schreiben gibt das Ausgabeprogramm alle Vorkommen in der
Nachrichtenbaumstruktur aus.
|
All Elements Delimited (Alle Elemente mit Begrenzer) | Maximale Anzahl wird nur beim
Analysieren und Schreiben verwendet, in Verbindung mit der Eigenschaft
Begrenzer für Wiederholelemente des Elements und der
Eigenschaft Abwesende Elementbegrenzer unterdrücken des
übergeordneten Typs. Unterschiedliche Häufigkeitsangaben (Mindestanzahl <> Maximale Anzahl) sind zulässig, wenn Abwesende Elementbegrenzer unterdrücken auf Typende gesetzt ist.
Wenn Abwesende Elementbegrenzer unterdrücken auf Nie gesetzt ist, werden alle Vorkommen beim Analysieren erwartet und beim Schreiben ausgegeben, obwohl beim Analysieren die Abwesenheit von Elementen akzeptiert wird. Optionale Häufigkeitsangaben (Mindestanzahl = 0) werden ignoriert, und beim Analysieren wird weiterhin ein Begrenzer erwartet und beim Schreiben ausgegeben. Immer abwesend (Maximale Anzahl = 0) ist zulässig. Beim Analysieren wird kein Begrenzer erwartet und beim Schreiben keiner ausgegeben. Eine unbestimmte Häufigkeit (Maximale Anzahl = -1) ist nur zulässig, wenn sich Begrenzer für Wiederholelemente und Begrenzer unterscheiden. Die Wiederholungen müssen durch den Begrenzer, den Gruppenbegrenzer oder Begrenzer einer enthaltenden Gruppe oder durch das Ende des Nachrichtenbitstroms beendet werden. Beim Schreiben gibt das Ausgabeprogramm alle Vorkommen in der Nachrichtenbaumstruktur aus. |
Feste Länge AL3 mit fester Länge |
Beim Analysieren und Schreiben wird nur
Maximale Anzahl verwendet. Generell wird beim Analysieren
die Maximale Anzahl von Elementen erwartet und beim
Schreiben mit Standardwerten für fehlende Elemente die Maximale
Anzahl von Elementen ausgegeben. Unterschiedliche Häufigkeitsangaben (Mindestanzahl <> Maximale Anzahl) werden ignoriert; es wird die Maximale Anzahl angenommen. Optionale Häufigkeitsangaben (Mindestanzahl = 0) werden ignoriert; es wird die Maximale Anzahl angenommen. Immer abwesend (Maximale Anzahl = 0) ist zulässig. Nur feste Länge. Eine unbestimmte Häufigkeit (Maximale Anzahl = -1) ist zulässig, wenn das Element oder die Gruppe das letzte untergeordnete Element in der jeweiligen übergeordneten Gruppe ist und die Gruppe durch einen Gruppenbegrenzer, einen Gruppenbegrenzer oder Begrenzer der enthaltenden Gruppe oder das Ende des Nachrichtenbitstroms beendet wird. Beim Schreiben gibt das Ausgabeprogramm alle Vorkommen in der Nachrichtenbaumstruktur aus. Wenn diese Anzahl kleiner als die Mindestanzahl ist, werden zusätzliche Standardwerte geschrieben. |
Elemente variabler Länge mit Begrenzer | Bei einfachen Elementen mit fester Länge gelten dieselben Regeln wie für
Trennung durch Feste Länge (siehe oben), allerdings
mit zwei Unterschieden.
Bei einfachen Elementen mit variabler Länge, allen komplexen Elementen und Gruppen gelten dieselben Regeln wie für Alle Elemente mit Begrenzer (siehe oben). |
Datenmuster | Beim Analysieren und Schreiben werden
Mindestanzahl und Maximale
Anzahl tatsächlich jedoch ignoriert. Beim Analysieren wird das Datenmuster so oft wie möglich
abgeglichen. Beim Schreiben gibt das Ausgabeprogramm alle Vorkommen in der Nachrichtenbaumstruktur
aus. Wenn das Datenmuster beim Analysieren eine Übereinstimmung mit einer Null-Länge zulässt und
eine solche Übereinstimmung auftritt, wird ein Element zur Nachrichtenbaumstruktur hinzugefügt und
der Abgleich beendet, um eine unendliche Schleife zu verhindern. Unterschiedliche Häufigkeitsangaben (Mindestanzahl <> Maximale Anzahl) sind zulässig. Optionale Häufigkeitsangaben (Mindestanzahl = 0) sind zulässig. Immer abwesend (Maximale Anzahl = 0) ist zulässig. Eine unbestimmte Häufigkeit (Maximale Anzahl = -1) ist zulässig. |