Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Sprachmittel zur Verarbeitung von XML

&pagelevel(3)&pagelevel

COBOL2000 bietet Sprachmittel für das Lesen von XML-Dokumenten. Solche Dokumente können in Dateien oder im Arbeitsspeicher bereitgestellt sein. Ein separates Open Source-Programmpaket, der Parser, analysiert und zerlegt das XML-Dokument. Dieses Programmpaket wird nicht mit dem COBOL-Compiler bzw. CRTE ausgeliefert, sondern steht im Internet zum Herunterladen zur Verfügung. Sie müssen den Parser vor dem Ablauf von COBOL-Programmen, die XML-Sprachmittel verwenden, bereitstellen, und dafür sorgen, dass er sich zu ihnen gesellt.

Die Spracherweiterungen von COBOL2000 erlauben es, ein XML-Dokument auf zwei verschiedene Arten zu verarbeiten:

  • strukturorientiert, basierend auf einer Baumdarstellung des Dokuments

  • ereignisorientiert, basierend auf einer rein sequenziellen Sichtweise des Dokuments


Strukturorientiert

Ereignisorientiert

Sprachmittel

wie im Technical Report "Native COBOL Syntax for XML Support"

angelehnt an Spracherweiterung anderer Compiler-Anbieter

Dokument

im Speicher oder in Datei

nur im Speicher

Zugriff auf Teile des XML-Dokuments

beliebig
Gleiche Teile sind auch wie
derholt möglich.

sequenziell
Jedes Teil ist nur ein einzi
ges Mal möglich.

gelieferte Daten

eigentliche Daten des Dokuments, normalisiert

fast alles aus dem Dokument

zusätzlicher Verarbeitungsaufwand des Parsers

Das Dokument muss in die Baumdarstellung überführt werden.

Das Dokument kann direkt verarbeitet werden.

zusätzlicher Speicherbedarf des Parsers

hoch (für den gesamten Baum)

gering (für Verwaltungsdaten)

Parser-Schnittstelle

DOM
(Document Object Model)

SAX (Simple API for XML)

Tabelle 46: Vergleich von struktur- und ereignisorientierter Verarbeitungsweise

Um die neuen Sprachmittel nutzen zu können, muss beim Übersetzen des Programms die entsprechende Option eingeschaltet sein.