Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
ZveřejnilVilém Beránek
1
XSLT překladač Marek Běhálek Informatika a aplikovaná matematika FEI VŠB-TU Ostrava
2
Cíle prezentace Použité technologie Použité technologie Popis problému Popis problému Kompilování XSLT šablon Kompilování XSLT šablon Související práce Související práce XSLT virtuální stroj XSLT virtuální stroj XSLT kompilační překladač XSLT kompilační překladač
3
Použité technologie 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ů. 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í: XSL je komplementární jazyk, skládá se ze dvou částí: XSL Transformations (XSLT) – jazyk pro transformování XML dokumentů; XSL Transformations (XSLT) – jazyk pro transformování XML dokumentů; XSL Formatting Objects – jazyk pro specifikaci formátovací sémantiky. XSL Formatting Objects – jazyk pro specifikaci formátovací sémantiky. XPath je jazyk určený pro adresování částí XML dokumentu. XPath je jazyk určený pro adresování částí XML dokumentu.
4
Popis problému 1. Máme aplikaci postavenou na architektuře Klient-Server. 2. Využíváme: XML dokumentů k uložení dat; XML dokumentů k uložení dat; XSL transformací k vytváření různých „pohledů“ na tyto data. XSL transformací k vytváření různých „pohledů“ na tyto data. 3. Klient může být zařízení jako PDA s omezenou pamětí a výpočetním výkonem.
5
Kompilování XSLT šablon Většina XSLT procesorů funguje jako interpret. Většina XSLT procesorů funguje jako interpret. Použití kompilátoru místo interpretu přináší značné výhody. Použití kompilátoru místo interpretu přináší značné výhody. Provádění binární formy je rychlejší. Provádění binární formy je rychlejší. Mohou být prováděný další optimalizace. Mohou být prováděný další optimalizace. Tento přístup odděluje provádění XSL transformace od zpracovávání šablony. Tento přístup odděluje provádění XSL transformace od zpracovávání šablony.
6
Související práce Koncept kompilování XSLT šablon představili A. Novoselsky a K. Karum. 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, …). Myšlenka kompilování XSLT šablon je vestavěna do XSLT procesorů některých společností (Oracle Inc., Apache Software Foundation, …). Xalan Xalan Apache Software Foundation. Apache Software Foundation. „Open source“. „Open source“. Generovaná binární forma je „class“ soubor Javy. Generovaná binární forma je „class“ soubor Javy.
7
XSLT CPU Virtuální CPU určené pro provádění XSLT šablon. Virtuální CPU určené pro provádění XSLT šablon. Binární forma (XSLT program) je složena z instrukcí tohoto XSLT CPU. 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. 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ě. 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. Stejný XSLT program by měly generovat všechny XSLT kompilátory, nezávisle na jazyce, ve kterém jsou implementovány.
8
XSLT virtuální stroj Zásobníková architektura. 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: 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: ukazatel na objekty (například uzly případně množiny uzlů); ukazatel na objekty (například uzly případně množiny uzlů); hodnoty typu bool; hodnoty typu bool; čísla; čísla; řetězce. řetězce. Další používaná paměť je typu „hromada“. Zde jsou uloženy vlastní objekty. Další používaná paměť je typu „hromada“. Zde jsou uloženy vlastní objekty.
9
XSLT překladač Proces kompilování se skládá ze dvou relativně nezávislých částí: Proces kompilování se skládá ze dvou relativně nezávislých částí: Vytvoření representace elementů XPath; Vytvoření representace elementů XPath; Vytvoření reprezentace konkrétních vzorů. Vytvoření reprezentace konkrétních vzorů. Instrukční sada: Instrukční sada: Instrukce nízké úrovně – raději více specifických porovnávacích instrukcí, než jedna obecná; Instrukce nízké úrovně – raději více specifických porovnávacích instrukcí, než jedna obecná; Zásobníkové instrukce – berou operandy z vrcholu zásobníku a nahradí je výsledkem. Zásobníkové instrukce – berou operandy z vrcholu zásobníku a nahradí je výsledkem.
10
XSLT překladač Instrukce mají formát: jméno [operand] Instrukce mohou být rozděleny do tří skupin: Systémové instrukce - skoky, aritmetika, větvení, …; Systémové instrukce - skoky, aritmetika, větvení, …; Instrukce pro adresování částí XML dokumentu; Instrukce pro adresování částí XML dokumentu; Instrukce pro generování výstupu transformace. Instrukce pro generování výstupu transformace.
11
Závěr Použití XSLT kompilátoru: Použití XSLT kompilátoru: značně urychluje provádění transformací; značně urychluje provádění transformací; odděluje zpracovávání šablony od vlastního provádění transformace. odděluje zpracovávání šablony od vlastního provádění transformace. Použití imaginárního XSLT CPU přináší značnou nezávislost na použité platformě. Použití imaginárního XSLT CPU přináší značnou nezávislost na použité platformě.
12
Děkuji za pozornost!
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.