Download - IT-Designers GmbH
Download - IT-Designers GmbH
Download - IT-Designers GmbH
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
4.6.3 Deferred Parsing<br />
S TEINBEIS-TRANSFERZENTRUM<br />
- 4. XML Parser -<br />
Deferred Parsing bezeichnet das verzögerte (aufgeschobene) Parsen des XML<br />
Dokuments. Dabei wird vom XML Dokument ein Baum aufgebaut, jedoch wird nur<br />
der jeweils benötigte Teil geparst. Es ist praktisch identisch mit der Vorgehensweise<br />
bei SAXDOMIX. Das Ziel dieser Ansätze ist eine universellere Baumschnittstelle zu<br />
schaffen, die ein einfaches Bearbeiten auch größerer XML Dokumente ermöglicht.<br />
Beim Xerces Parser wird es bei der nächsten Version möglich sein DOM in einem<br />
"deferred" Modus zu betreiben. Dabei wird der Baum nicht vollständig aufgebaut,<br />
sondern die entsprechenden Teile erst bei Bedarf geparst. Jedoch ist dies noch in<br />
der Entwicklung und wenig dokumentiert.<br />
Weitere Informationen zu Xerces sind zu finden unter der Webadresse von Apache:<br />
http://xml.apache.org/xerces2-j/.<br />
4.6.4 Pull Parsing<br />
Vom Ziel her ist das sogenannte Pull Parsing vergleichbar mit dem Deferred Parsing:<br />
es soll nur das geparst werden, was wirklich notwendig ist. Der Begriff Pull Parsing<br />
rührt daher, dass der Parser "gezogen" (pull) werden muss, um etwas zu tun. Bei<br />
SAX startet man den Parser, der dann mit einem Event sagt, was er geparst hat.<br />
Man könnte auch sagen, man "push"t den Parser, der die komplette Kontrolle erhält<br />
und sich bei der Applikation über ein Event meldet. Im Gegensatz dazu sagt man<br />
dem Pull Parser, was man als nächstes gern haben möchte. Der Zwischenbereich<br />
kann dann vom Parser übersprungen werden. Während man mit einem SAX Parser<br />
zwar den Rest eines Dokumentes ungeparst lassen kann, wenn man sein Ergebnis<br />
gefunden hat, kann man mit einem Pull Parser auch Teilbäume zwischendrin<br />
überspringen, wenn man weiß, dass darin das gesuchte Ergebnis garantiert nicht zu<br />
finden ist.<br />
Beim Pull Parser XPP gibt es die Möglichkeit einen Baum des XML Dokumentes<br />
aufzubauen. Dabei wird ein spezielle Schnittstelle des XPP verwendet, die nicht zu<br />
DOM kompatibel ist. Anstatt der Verwendung von newNode() bei der<br />
XmlPullParserFactory wird newPullNode() verwendet. Dadurch wird der<br />
Aufbau des Baumes verzögert und erfolgt erst bei Bedarf.<br />
Weitere Informationen zu XPP und dem Pull-Parsing sind zu finden unter der<br />
Webadresse: http://www.extreme.indiana.edu/xgws/xsoap/xpp/.<br />
S OFTWARETECHNIK Einführung in XML © Prof. J. Goll<br />
- 44 -