XML-‐basierte Kommunikation im IHE - Institute of Health ...
XML-‐basierte Kommunikation im IHE - Institute of Health ...
XML-‐basierte Kommunikation im IHE - Institute of Health ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
3. Methoden und Vorgehensplanung<br />
3.2.1.2 Ergebnisse der Literaturrecherche<br />
Für <strong>XML</strong>-<strong>‐basierte</strong> Daten gibt es vier verschiedene Parsertypen in JAVA [31]:<br />
• DOM-‐orientierte APIs<br />
• Push-‐APIs<br />
• Pull-‐APIs<br />
• Mapping-‐APIs<br />
Sie unterscheiden sich in der Art des Parsens bzw. in der JAVA-‐internen Speicherung der <strong>XML</strong>-‐<br />
Struktur. Die verschiedenen Parsertypen werden in den folgenden Abschnitten erläutert.<br />
DOM<br />
Das „Document Object Model“, kurz DOM, ist ein vom W3C definierter Standard, der eine platt-‐<br />
form-‐ bzw. sprachenunabhängige Schnittstelle für den Zugriff auf <strong>XML</strong> definiert [32]. DOM re-‐<br />
präsentiert dabei ein <strong>XML</strong>-‐Dokument <strong>im</strong> Programm als Baumstruktur. D.h. be<strong>im</strong> Einlesen eines<br />
Dokuments wird der gesamte Baum in den Speicher geladen. Der Vorteil von DOM besteht darin,<br />
dass die Struktur, nachdem sie einmal eingelesen wurde, vollständig zur Verfügung steht und<br />
somit leicht und schnell auf ein beliebiges Element <strong>im</strong> Baum zugegriffen werden kann. Außer-‐<br />
dem ist DOM in der Lage <strong>XML</strong>-‐Dokumente zu erzeugen. DOM-‐orientierte APIs eignen sich nicht<br />
zum Verarbeiten sehr großer <strong>XML</strong>-‐Dokumente, da das komplette Einlesen sehr zeitaufwändig ist<br />
und die große Baumstruktur viel Speicher benötigt. DOM wird seit 1998 laufend weiterentwi-‐<br />
ckelt und ist in verschiedenen Versionen, auch Levels genannt, verfügbar. Level 3 ist seit 2004<br />
die aktuellste Version. Da die W3C-‐DOM Umsetzung programmiersprachenunabhängig ist, gibt<br />
es für JAVA speziell entwickelte DOM-‐Varianten. Die drei bekanntesten sind Dom4J [33], XOM<br />
[34] und JDOM [35].<br />
JDOM ist eine open-‐soruce API und wurde <strong>im</strong> Jahr 2000 von Brett McLaughlin und Jason Hunter<br />
entwickelt. Ziel von JDOM ist es, alle Vorteile der DOM und SAX in einer API zu integrieren und<br />
speziell für JAVA zur Verfügung zu stellen. Ebenso wie DOM lädt JDOM die gesamte Baumstruk-‐<br />
tur in den Speicher; der Unterschied liegt allerdings darin, dass JDOM jeden Knoten als konkrete<br />
Klasse repräsentiert, während in DOM eine generische programmiersprachenunabhängige Klas-‐<br />
se für alle unterschiedlichen Knoten verwendet wird. Die API ist aktuell in der Version 1.1.2 ver-‐<br />
fügbar.<br />
Push-‐API<br />
Eine Push-‐API verarbeitet einen <strong>XML</strong>-‐Stream sequentiell, d.h. das <strong>XML</strong>-‐Dokument wird <strong>im</strong> Un-‐<br />
terschied zu DOM-‐APIs Schritt für Schritt geparst. Das funktioniert nach dem Call-‐Back-‐Prinzip:<br />
23