Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

XML Parse-Anweisung

&pagelevel(4)&pagelevel

Funktion

Die XML PARSE-Anweisung zerlegt ein XML-Dokument sequenziell in seine syntaktischen Einheiten. Daten zu erkannten Einheiten stehen in einer Verarbeitungsprozedur in Sonderregistern zur weiteren Bearbeitung zur Verfügung.

Format


XML PARSE bezeichner-1

  PROCESSING PROCEDURE IS prozedurname-1 [{THRU | THROUGH} prozedurname-2]

  [ON EXCEPTION unbedingte-anweisung-1]

  [NOT ON EXCEPTION unbedingte-anweisung-2]

  [END-XML]


Syntaxregeln

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

  2. bezeichner-1 darf kein Funktionsbezeichner sein.

  3. Wenn sowohl prozedurname-1, als auch prozedurname-2 angegeben sind, und einer davon der Name einer Prozedur innerhalb von Prozedurvereinbarungskapiteln ist, muss der andere Prozedurname innerhalb desselben Prozedurvereinbarungskapitels liegen.

Allgemeine Regeln

  1. bezeichner-1 enthält während der Ausführung der XML PARSE-Anweisung das zu zerlegende Dokument.

  2. Wenn der Inhalt von bezeichner-1 während der Ausführung der XML PARSE-Anweisung geändert wird, ist das weitere Verhalten undefiniert.

  3. Bei der Ausführung der XML PARSE-Anweisung wird die Steuerung an den Parser übergeben. Dieser zerlegt das Dokument und stellt die syntaktischen Einheiten dem Programm als 'Ereignisse' in Sonderregistern zur Verfügung.

  4. Die PROCESSING PROCEDURE-Angabe legt die Verarbeitungsprozedur fest, an die der Parser bei jedem 'Ereignis' während der Ausführung der XML-Anweisung die Steuerung übergibt.

    Die Verarbeitungsprozedur wird so ausgeführt, als würde sie vom Parser über PERFORM aktiviert.

  5. Die Verarbeitungsprozedur darf nicht mit EXIT PROGRAM, EXIT METHOD oder GOBACK verlassen werden. Wenn die letzte Anweisung der Verarbeitungsprozedur durchlaufen ist, geht die Steuerung automatisch an den Parser zurück.

  6. Wenn der Parser bei der Zerlegung des XML-Dokuments einen Fehler erkennt, übergibt er die Steuerung an die Verarbeitungsprozedur mit dem Ereignis 'EXCEPTION' im Sonderregister XML-EVENT. Das Sonderregister XML-CODE enthält dann den Wert des erweiterten Ein-/Ausgabe-Zustandes, siehe Handbuch "COBOL2000 Benutzerhandbuch“ [1], Abschnitt 10.6 "Erweiterter Ein-/Ausgabe-Zustand für XML-Anweisungen (CBX-Code)“. Bei allen anderen Ereignissen hat das Sonderregister XML-CODE den Wert 0.

  7. Der Inhalt des Sonderregisters XML-CODE beim Verlassen der Verarbeitungsprozedur steuert die Fortsetzung der XML PARSE-Anweisung. Die Verarbeitungsprozedur kann durch Setzen entsprechender Werte die gewünschte Fortsetzung signalisieren:

    Wert von Sonderregister XML CODE bei Ende der Verarbeitungsprozedur Wert von Sonderregister XML-EVENT bei Beginn der Verarbeitungsprozedur
    EXCEPTION anderes Ereignis
    0Versuch, die Anweisung fortzusetzen1

    Fortsetzung der Anweisung

    -1

    sofortige Beendigung der Anweisung mit 'Fehler'

    sofortige Beendigung der Anweisung mit 'Fehler'

    unveränderter Fehlercode

    sofortige Beendigung der Anweisung mit 'Fehler

    anderer Wert

    weiteres Verhalten undefiniert

    weiteres Verhalten undefiniert

    1Die Fortsetzung ist jedoch nur bei 'leichten' Fehlern möglich und beschränkt sich dann zumeist auf die Su-che nach weiteren Fehlern. Bei 'schweren' Fehlern wird die XML-Anweisung trotzdem immer mit ’Fehler’ beendet.

    Werte ungleich -1 werden künftig mit eigener Semantik belegt.
    Setzen Sie daher keine Werte ungleich -1.

  8. Nach Rückkehr vom Parser enthält das Sonderregister XML-CODE den Wert, den es beim letztmaligen Verlassen der Verarbeitungsprozedur hatte.

  9. Wenn die Zerlegung des Dokuments ohne Fehler beendet wird, wird nach Rückkehr vom Parser unbedingte-anweisung-2, falls angegeben, ausgeführt und zum Ende der XML PARSE-Anweisung verzweigt.

  10. Wenn die XML PARSE-Anweisung mit 'Fehler' beendet wurde, wird nach Rückkehr vom Parser unbedingte-anweisung-1, falls angegeben, ausgeführt und zum Ende der XML PARSE-Anweisung verzweigt.