XSLT peklada Marek Bhlek Informatika a aplikovan matematika
XSLT překladač Marek Běhálek Informatika a aplikovaná matematika FEI VŠB-TU Ostrava
Cíle prezentace Použité technologie n Popis problému n Kompilování XSLT šablon n Související práce n XSLT virtuální stroj n XSLT kompilační překladač n
Použité technologie n n XML je meta-značkovací jazyk, který definuje syntaxi využívanou k definici dalších doménově orientovaných, sémantických, strukturovaných značkovacích jazyků. XSL je komplementární jazyk, skládá se ze dvou částí: n n n XSL Transformations (XSLT) – jazyk pro transformování XML dokumentů; XSL Formatting Objects – jazyk pro specifikaci formátovací sémantiky. XPath je jazyk určený pro adresování částí XML dokumentu.
Kompilování XSLT šablon Většina XSLT procesorů funguje jako interpret. n Použití kompilátoru místo interpretu přináší značné výhody. n Provádění binární formy je rychlejší. n Mohou být prováděný další optimalizace. n Tento přístup odděluje provádění XSL transformace od zpracovávání šablony. n
Související práce n n n Koncept kompilování XSLT šablon představili A. Novoselsky a K. Karum. Myšlenka kompilování XSLT šablon je vestavěna do XSLT procesorů některých společností (Oracle Inc. , Apache Software Foundation, …). Xalan n Apache Software Foundation. „Open source“. Generovaná binární forma je „class“ soubor Javy.
XSLT CPU n n n Virtuální CPU určené provádění XSLT šablon. Binární forma (XSLT program) je složena z instrukcí tohoto XSLT CPU. Pro spouštění je určen virtuální stroj simulující tento XSLT CPU. XSLT program může být spuštěn na libovolné implementaci tohoto virtuálního stroje na libovolné platformě. Stejný XSLT program by měly generovat všechny XSLT kompilátory, nezávisle na jazyce, ve kterém jsou implementovány.
XSLT virtuální stroj n n Zásobníková architektura. Zásobník je používán k uložení lokálních proměnných a průběžných výsledků. Může obsahovat: n n n ukazatel na objekty (například uzly případně množiny uzlů); hodnoty typu bool; čísla; řetězce. Další používaná paměť je typu „hromada“. Zde jsou uloženy vlastní objekty.
XSLT překladač n Proces kompilování se skládá ze dvou relativně nezávislých částí: Vytvoření representace elementů XPath; n Vytvoření reprezentace konkrétních vzorů. n n Instrukční sada: Instrukce nízké úrovně – raději více specifických porovnávacích instrukcí, než jedna obecná; n Zásobníkové instrukce – berou operandy z vrcholu zásobníku a nahradí je výsledkem. n
XSLT překladač Instrukce mají formát: jméno [operand] Instrukce mohou být rozděleny do tří skupin: n Systémové instrukce - skoky, aritmetika, větvení, …; n Instrukce pro adresování částí XML dokumentu; n Instrukce pro generování výstupu transformace.
Závěr n Použití XSLT kompilátoru: značně urychluje provádění transformací; n odděluje zpracovávání šablony od vlastního provádění transformace. n n Použití imaginárního XSLT CPU přináší značnou nezávislost na použité platformě.
Děkuji za pozornost!
- Slides: 11