Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

OPEN DOCUMENT-Anweisung

&pagelevel(4)&pagelevel

Funktion

Die OPEN DOCUMENT-Anweisung eröffnet die Verarbeitung eines XML-Dokuments. Sie erzeugt die interne Darstellung des XML-Dokuments und führt eine erste Zuordnung von Elementen bzw. Attributen aus dem XML-Dokument zu Datenfeldern in der FD durch.

Format


OPEN DOCUMENT dateiname-1 [ AT datenname-1 [STACK] ]
  [ RETURNING bezeichner-1 ]
  [ AT END unbedingte-anweisung-1 ]
  [ NOT AT END unbedingte-anweisung-2 ]
  [ END-OPEN ]


Syntaxregeln

  1. dateiname-1 muss der Name einer XML-organisierten Datei sein.

  2. datenname-1 darf gekennzeichnet sein.

  3. datenname-1 muss mit einer IDENTIFIED-Klausel mit expliziter oder impliziter ELEMENT-Angabe beschrieben und der Datei dateiname-1 untergeordnet sein.

  4. bezeichner-1 muss ein alphanumerisches oder nationales Datenfeld sein.

  5. Wenn datenname-1 angegeben ist, dürfen die AT END- bzw. NOT AT END-Angaben nicht gemacht werden.

Allgemeine Regeln

  1. Wenn für dateiname-1 die Verarbeitung eines XML-Dokuments eröffnet, jedoch noch nicht mit einer CLOSE DOCUMENT-Anweisung beendet wurde, wird vor der Ausführung einer OPEN DOCUMENT-Anweisung ohne Angabe von datenname-1 eine implizite CLOSE-Anweisung ausgeführt.

  2. Wenn die Datei dateiname-1 nicht geöffnet ist, ist die OPEN DOCUMENT-Anweisung nicht erfolgreich. Der Ein-/Ausgabe-Zustand der Datei wird auf 4B gesetzt.

  3. Wenn datenname-1 angegeben, jedoch in der Datei dateiname-1 kein XML-Dokument geöffnet ist, ist die OPEN DOCUMENT-Anweisung nicht erfolgreich. Der Ein-/AusgabeZustand der Datei wird auf 4D gesetzt.

  4. Wenn das zu öffnende XML-Dokument nicht wohlgeformt ist, ist die OPEN DOCUMENT-Anweisung nicht erfolgreich. Der Ein-/Ausgabe-Zustand wird auf 3A gesetzt.

  5. Wenn der Zeichensatz, in dem das XML-Dokument dargestellt ist, nicht ermittelt werden konnte (siehe Handbuch “COBOL2000 Benutzerhandbuch“ [1], Abschnitt 10.4 “Zeichensatzerkennung (Friedrichscher Vermutungsalgorithmus)“), ist die OPEN DOCUMENT-Anweisung nicht erfolgreich. Der Ein-/Ausgabe-Zustand wird auf 3D gesetzt.

  6. Wenn datenname-1 keine gültige Position hat, ist die OPEN DOCUMENT-Anweisung nicht erfolgreich. Der Ein-/Ausgabe-Zustand der Datei wird auf 46 gesetzt.

  7. Wenn der Dateipositionsindikator 'dateiende' anzeigt, ist die OPEN DOCUMENT-Anweisung nicht erfolgreich. Der Ein-/Ausgabe-Zustand der Datei wird auf 10 gesetzt.

  8. Wenn die Anweisung nicht erfolgreich ist, werden alle Positionen im EPV auf 'ungültig' gesetzt.

  9. Wenn datenname-1 nicht angegeben ist, wird die interne Darstellung des XML-Dokuments erzeugt und der Dateipositionsindikator auf 'dateiende' gesetzt.

  10. Wenn datenname-1 angegeben ist, wird die folgende Verarbeitung des XML-Dokuments eingeschränkt auf den Unterbaum, dessen Wurzel der datenname-1 zugeordnete Knoten ist.

    1. Wenn STACK angegeben ist, wird der Zustand des EPV von vor der OPEN DOCUMENT-Anweisung sichergestellt, so dass er durch die nächste CLOSE DOCUMENT-Anweisung für dateiname-1 wieder hergestellt werden kann. Vor Ausführung einer solchen CLOSE DOCUMENT-Anweisung kann jedoch nicht auf den gesicherten EPV-Zustand zugegriffen werden.

    2. Wenn STACK nicht angegeben ist, geht der Zustand des EPV von vor der OPEN DOCUMENT-Anweisung verloren.

  11. Die OPEN DOCUMENT-Anweisung führt eine Zuordnung aus (siehe Abschnitt „Sprachelemente DATA DIVISION"). Sie überträgt jedoch – abgesehen von der RETURNING-Angabe – keine Daten.

  12. Wenn die Namen in den bei der Zuordnung wirkenden IDENTIFIED-Klauseln nicht eindeutig sind (siehe Abschnitt „IDENTIFIED-Klausel“, allgemeine Regel 9 auf "IDENTIFIED-Klausel"), ist die OPEN DOCUMENT-Anweisung nicht erfolgreich. Der Ein-/Ausgabe-Zustand der Datei wird auf 4C gesetzt.

  13. Wenn sich einzelne Attribut- bzw. Elementnamen aus den bei der Zuordnung wirkenden IDENTIFIED-Klauseln nicht im Zeichensatz UTF-16 darstellen lassen, ist die OPEN DOCUMENT-Anweisung nicht erfolgreich. Der Ein-/Ausgabe-Zustand der Datei wird auf 4E gesetzt.

  14. Bei der Zuordnung sind im ersten Schritt auf der COBOL-Seite alle Datenfelder mit Stufennummer 01 in den Satzbeschreibungen von dateiname-1 zu betrachten. Außerdem ist im XML-Baum folgender Knoten zu betrachten:

    1. falls datenname-1 nicht angegeben ist: der Wurzelknoten des gesamten XML-Baums.

    2. falls datenname-1 angegeben ist: der dem datenname-1 zugeordnete Knoten aus dem XML-Baum.

  15. Wenn RETURNING angegeben ist, wird in das Datenfeld bezeichner-1 übertragen:

    1. ohne AT-Angabe der Name des Wurzel-Elements des XML-Dokuments.

    2. mit AT-Angabe der Name des Elements im XML-Dokument das datenname-1 zugeordnet ist.

    Diese Übertragung erfolgt bei jeder erfolgreichen OPEN DOCUMENT-Anweisung, selbst wenn das Wurzelelement keinem Datenfeld in der COBOL-Beschreibung zugeordnet werden kann.

  16. Die Fortsetzung des Ablaufs der OPEN DOCUMENT-Anweisung hängt davon ab, ob AT END oder NOT AT END angegeben ist (siehe Abschnitt „Ende-Bedingung").