Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Die XML-Schnittstelle von openUTM

XML (Extensible Markup Language) ist eine logische Auszeichnungssprache, mit der Dokumente in Elemente strukturiert werden können. Mit XML kann der Anwender eine eigene Sprachsyntax definieren, z.B mit Hilfe einer DTD (Document Type Definition) oder eines XML-Schemas (XSD).

Die XML-Schnittstelle von openUTM (kurz UTM-XML) ist eine Programmschnittstelle, mit der sich XML-Dokumente lesen, bearbeiten und neu erstellen lassen. Außerdem können XML-Dokumente gegenüber XML-Schemata validiert werden.

Diese Schnittstelle wird innerhalb von UTM-Teilprogrammen aufgerufen und steht für die Programmiersprachen C, C++ und COBOL zur Verfügung.

Als Kommunikationsschnittstelle kann jede der in diesem Kapitel beschriebenen Schnittstellen verwendet werden (KDCS, CPI-C oder XATMI). Außerdem ist UTM-XML auch in openUTM-Clients einsetzbar.

Ein einfacher Einsatzfall wie z.B. das Bearbeiten eines XML-Dokuments im KDCS-Teilprogramm sieht wie folgt aus:

  1. Lesen der Daten mit MGET

    Das XML-Dokument wird in den Nachrichtenbereich eingelesen.

  2. Bearbeiten der Daten über die UTM-XML-Schnittstelle

    Das XML-Dokument wird in einen Objektbaum konvertiert und die einzelnen Elemente werden bearbeitet. Nach vollständiger Bearbeitung wird das XML-Objekt wieder in ein XML-Dokument überführt.

    Für die Datentyp-Konvertierung wird eine eigene Struktur verwendet (t_value-Struktur).

  3. Senden des XML-Dokuments mit MPUT

    Das bearbeitete XML-Dokument wird im Nachrichtenbereich bereitgestellt und an den Auftraggeber zurückgeschickt.

Wird ein XML-Dokument interaktiv in mehreren Dialogschritten (= Teilprogrammen) bearbeitet, dann muss der Programmierer dafür sorgen, dass der Kontext erhalten bleibt. Dazu gibt es 2 Möglichkeiten:

  • Das XML-Objekt wird in ein XML-Dokument konvertiert und zwischenzeitlich in einem geeigneten UTM-Speicherbereich gesichert, z.B. KB, LSSB oder GSSB, siehe "UTM-Speicherbereiche".

  • Das Programm verwendet den KDCS-Aufruf PGWT. PGWT verhindert einen Prozesswechsel und erhält den gesamten Programmkontext. 

     

Übersicht: C/C++-Aufrufe der UTM-XML-Schnittstelle

C/C++-Aufruf

Beschreibung

KXLInitEnv

Initialisierung der UTM-XML-Umgebung

KXLFromdatentyp

Konvertierung von datentyp in die t_value-Struktur
(datentyp= Short, Int, Long, Float, Double, Char, String, Struct, Array)

KXLTodatentyp

Konvertierung von der t_value-Struktur in datentyp
(datentyp= Short, Int, Long, Float, Double, Char)

KXLCreateNewObj
KXLWrite

Erzeugen eines XML-Objekts

KXLSetSubObject
KXLSetRootNode
KXLSetParentNode

Navigieren im XML-Objekt

KXLRead
KXLReadNode
KXLReadNextSib
KXLReadChild
KXLReadNextSingleNode
KXLReadAttr

Lesen eines XML-Objekts

KXLConvDocToObj
KXLConvObjToDoc
KXLFreeObj

Konvertieren zwischen XML-Objekt und XML-Dokument,
Freigeben eines Objekts

KXLGetHomeEnc
KXLGetDocEnc
KXLSetDocEnc
KXLStringFromUTF8
KXLStringToUTF8

Zeichensatz ermitteln/setzen und Konvertieren von/in UTF8

KXLWriteNS
KXLDelNS
KXLReadNSList
KXLSearchNS

Namensräume verwalten

KXLGetSizeOfNodeList

Größe einer Node List abfragen

KXLTSENV
KXLGetLastParserError

Diagnosefunktionen

KXLConvDocToObjAndValid
KXLParseSchema
KXLParseSchemaFile
KXLValidDoc
KXLValidDocBuf
KXLFreeSchema

Unterstützung der Schema-Funktionalität
(konvertieren, parsen, validieren, freigeben)

COBOL-Schnittstelle

Die COBOL-Schnittstelle wird über einen Adaptermodul aufgerufen, beim Aufruf wird die gewünschte Funktion in Form von Parametern übergeben. Dazu wird ein COPY-Element verwendet, das den Parameterbereich beschreibt. Dieser Bereich muss vor dem Aufruf versorgt werden, die Parameter entsprechen den Parametern der zugehörigen C-Funktion.

Die COBOL-Schnittstelle enthält gegenüber C/C++ die zusätzliche Funktion KXLSchemaGetRoot, mit der der Root-Knoten des Schema-Objekts angefordert werden kann. In C/C++ kann dies direkt per Sprachmittel realisiert werden.

Weitere Informationen zur UTM-XML-Schnittstelle finden Sie im Handbuch „XML für openUTM“.