Práce s XML v ABAPu - 2. část
V úvodním článku o XML jsem nastínil možné přístupy k práci s XML daty v ABAPu. Nyní bych chtěl podrobněji rozebrat možnosti iXML knihovny.
iXML knihovna - klíč ke XML v ABAPu
iXML knihovna je naprogramovaná v jazyku C++ (stejně tak jako jádro SAPu) a lze k ní přistupovat přes rozhraní, které je založené na ABAP objektech.
iXML knihovna implementuje podporu těchto tří základních XML služeb:
XML parser
XML parser čte XML data a stará se o nízkoúrovňovou syntaktickou analýzu XML dokumentu. Ke XML dokumentu lze přistupovat dvojím způsobem:
- Přes rozhraní řízené událostmi
Parser postupně čte XML dokument a volá funkce pro obsluhu důležitých událostí, jako začátek a konec elementu, textový obsah elementu apod.
- Přes DOM strom (model)
XML dokument je uložen v paměti jako strom objektů, kde každý objekt odpovídá jednomu uzlu ve stromu XML dokumentu.
- Přes rozhraní řízené událostmi
XML DOM 1.0
DOM (Document Object Model), jak už bylo uvedeno výše, pracuje se stromovou reprezentací XML dokumentu, kterou je možné libovolně a opakovaně procházet. Díky tomu je zpracování XML dokumentu velmi jednoduché. Ovšem za cenu nižší rychlostí a velké paměťovou náročnosti oproti zpracování parserem řízeným událostmi.
XML renderer (builder)
XML renderer neboli XML "vykreslovač" případně "tvůrce" má na starosti sestavení výsledného XML dokumentu.




