Für den Trennzeichentyp TDS und die logischen Modelleigenschaften gelten einige Einschränkungen, wie z. B. die Gruppenzusammensetzung und die Gruppeninhaltsprüfung.
Die Regeln, von denen diese Optionen gesteuert werden, werden im Abschnitt Nachrichtengruppen: 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 |
Standardwerte werden nie überwacht. |
Feste Länge |
Standardwerte werden bei der Ausgabe von allen Elementen überwacht. Ein fehlendes Element, bei dem 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, bei dem 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. Mithilfe 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).
Dieses Verhalten wird jedoch außer Kraft gesetzt, wenn die TDS-Eigenschaft Wiederholungsverweis festgelegt ist, die anzeigt, dass die Häufigkeit stattdessen durch ein Ganzzahlelement weiter vorn in der Nachricht angegeben ist. Weitere Informationen finden Sie im Abschnitt Wiederholungsverweis.
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 |
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.
|
Alle Elemente mit Begrenzer | Maximale Anzahl wird nur beim
Analysieren und Schreiben verwendet, 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.
Ist Abwesende Elementbegrenzer unterdrücken auf Nie gesetzt, werden beim Analysieren alle Vorkommen erwartet und beim Schreiben alle Vorkommen ausgegeben, auch wenn beim Analysieren das Fehlen von Elementen akzeptiert wird. Optionale Häufigkeitsangaben (Mindestanzahl = 0) werden ignoriert und beim Analysieren wird weiterhin ein Begrenzer erwartet und beim Erzeugen 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 |
Beim Analysieren und Schreiben wird nur
Maximale Anzahl verwendet. Generell wird beim Analysieren
die Maximale Anzahl von Vorkommen erwartet und beim
Erzeugen die Maximale Anzahl von Vorkommen ausgegeben;
für fehlende Elemente werden Standardwerte verwendet und überzählige Elemente werden verworfen. 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. |
Die TDS-Eigenschaft Wiederholungsverweis gibt ein Feld an, das die Anzahl der Wiederholungen eines Objekts (Element oder Gruppe) innerhalb einer Nachricht enthält. Das Feld mit der Anzahl der Wiederholungen muss in der Nachricht vor dem Objekt stehen, auf das es sich bezieht.
Aus der Parsing-Perspektive gesehen, übernimmt die Eigenschaft Wiederholungsverweis die Funktion der Eigenschaften Mindestanzahl und Maximale Anzahl.
Wenn für ein Objekt ein Wert für die Eigenschaft Wiederholungsverweis angegeben ist, werden Werte, die für Mindestanzahl und Maximale Anzahl festgelegt sind, beim Analysieren und Schreiben ignoriert. Werte, die für Mindestanzahl und Maximale Anzahl angegeben sind, werden jedoch bei der logischen Auswertung verwendet.
Beim Analysieren und Schreiben ist die genaue Interpretation der Eigenschaft Wiederholungsverweis von der Eigenschaft Trennzeichen für Datenelemente des übergeordneten komplexen Typs oder der Gruppe abhängig (siehe Tabelle unten).
Trennzeichentyp | Interpretation von Wiederholungsverweis |
---|---|
Mit Kennung/Begrenzer |
Wiederholungsverweis wird beim Analysieren und Schreiben 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. |
Alle Elemente mit Begrenzer | Die Eigenschaft Wiederholungsverweis
wird beim Analysieren und Schreiben mit der Eigenschaft Begrenzer
für Wiederholelemente des Elements und der Eigenschaft
Abwesende Elementbegrenzer unterdrücken des übergeordneten
Typs verwendet. Ein Wiederholungsverweis ist nur zulässig, wenn für den übergeordneten komplexen Typ oder die Gruppe die Eigenschaft Fehlende Elementbegrenzer unterdrücken auf Nie gesetzt ist. Alle Vorkommen von Wiederholungsverweis werden beim Analysieren erwartet und beim Erzeugen ausgegeben. Beim Analysieren wird jedoch akzeptiert, dass Elemente nicht vorhanden sind. Wiederholungsverweis = 0 ist zulässig. Beim Analysieren wird kein Begrenzer erwartet und beim Erzeugen keiner ausgegeben. |
Feste Länge |
Wiederholungsverweis wird beim
Analysieren und Schreiben verwendet. Vorkommen von
Wiederholungsverweis werden beim Analysieren erwartet und
beim Erzeugen ausgegeben, wobei für fehlende Elemente Standardwerte verwendet werden.
Wiederholungsverweis = 0 ist zulässig. |
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). 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 | Wiederholungsverweis wird beim Analysieren und Schreiben 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 Endlosschleife zu verhindern. |