Home Drucken Sitemap Kontakt  

XML-Schnittstelle

Die XML-Schnittstelle ermöglicht, XML-Dokumente/Dateien in den ISA Dialog Manager einzulesen,
um die Daten in den Objekten darzustellen bzw. zu verarbeiten. Außerdem ist es auch möglich,
XML-Dokumente/ Dateien mit dem ISA Dialog Manager zu generieren.
XML
Die Extensible Markup Language ist durch das W3C standardisiert und eignet sich durch ihren
eindeutigen Aufbau besonders gut zum Datenaustausch. Sie wird von vielen Anwendungen unterstüzt.

Das document und doccursor Objekt
Das document Objekt ist der Behälter für ein XML Dokument. Das XML Dokument ist als DOM Baum
gespeichert. Dieser DOM Baum kann mit Hilfe eines doccursor Objekts, das ein Kind des document
Objekts sein muss, durchwandert werden.
Durch Methoden am document Objekt kann ein XML Dokument geladen und gespeichert werden.
Durch die Methode transform kann das eingelesene Dokument in das angegebene Schema
transformiert werden. Die Transformation ermöglicht, ein neues XML-Dokument zu erstellen oder auch
einen HTML-Text bzw. Datei zu erzeugen. Validate überprüft das Dokument, ob es dem im XML Dokument
angegebenen Dokumenttyp entspricht.
Das doccursor Objekt verweist auf einen Knoten im DOM Baum des Dokuments, dessen Kind der
Cursor ist. Der Cursor kann mittels Methoden im DOM Baum bewegt und über Attribute kann auf
den Knoten zugegriffen werden.
Anhand dieser Methoden lassen sich auch neue XML-Dokumente bzw. ein DOM-Baum im
ISA Dialog Manager erstellen.

Das transformer und mapping Objekt
Mit Hilfe des transformer Objekts können XML-Dokumente oder IDM-Objekte noch einfacher und
effizienter durchlaufen und durch Aktionen an den einzelnen Knoten Daten übertragen werden.
Diese Aktionen werden in mapping Objekten definiert.
Der Durchlauf durch z.B. ein XML-Dokument wird durch die Methode :apply() ausglöst. Hier kann durch
Überdefinieren bestimmt werden, ab welchem Knoten das Dokument durchlaufen werden soll und wann ein Durchlauf beendet wird. Durch selb-ständigen Aufruf der Methode       :select_next() in einer Schleife wird, ausgehend vom Startknoten, der Nachfolgeknoten bestimmt. Dieser Durchlauf erfolgt in einer Pre-Order-Reihenfolge. Auch hier ist eine Überdefinition möglich.

Das mapping Objekt, welches ein Kind eines transformer Objekts ist, definiert die durchzuführende Aktion.
Ein transformer Objekt kann beliebig viele mapping Kindobjekte besitzen.  Bei jedem Knoten werden
die mapping Kinder des transformer Objekts durchlaufen. Zuerst wird bei jedem mapping Objekt der Inhalt
des attributs .name mit dem momentanen Knoten verglichen. Kommt es zu einer Übereinstimmung, so wird die
vom Benutzer zu definierende Methode :action() des mapping Objekts aufgerufen und ausgeführt.
Gibt diese Methode true zurück gilt der Knoten als abgearbeitet, und es wird zum Nachfolgeknoten gegangen.
Wird false zurückgegeben, wird auch das nächste mapping Objekt abgearbeitet. Die Reihenfolge der
Abarbeitung entspricht der Definitionsreihenfolge im Code.

Mit der Methode :action() wird also die eigentliche Datenübertragung gesteuert.
Die XML-Schnittstelle ist in der Entwicklerlizenz für die jeweilige Plattform ab Version A.04.03.a enthalten.
Für detailliertere Informationen steht Ihnen unsere Dokumentation zur Verfügung.

 

 
ISA GmbH - Azenbergstr. 35 - 70174 Stuttgart - Telefon: +49 711 2 27 69 0 - eMail: info@isa.de