XSLT překladač Marek Běhálek Informatika a aplikovaná matematika FEI VŠB-TU Ostrava.

Slides:



Advertisements
Podobné prezentace
CXPath Dotazování nad heterogenními XML zdroji s pomocí konceptuálního schéma Jan Vávra, 21. dubna 2004
Advertisements

KEG Marek RŮŽIČKA EuroMISE – Kardio, VŠE Praha Projekt Stepper – Aplikace pro podporu víceúrovňové formalizace textových dokumentů.
HYPERTEXT PREPROCESSOR. PROGRAMOVÁNÍ. DEFINICE POJMŮ Problém Problém nevyřešený, nežádoucí stav obvykle vyžaduje nějaké řešení Neřešitelný problém Neřešitelný.
Workflow Foundation Základy a architektura
T OOL FOR C OLLABORATIVE XML S CHEMA I NTEGRATION Jiří Meluzín.
Návrh architektury moderních informačních systémů
Principy překladačů Mezikód Jakub Yaghob.
Principy překladačů Interpretované jazyky Jakub Yaghob.
Generování mezikódu Jakub Yaghob
Principy překladačů Architektury procesorů Jakub Yaghob.
Instrukční soubor PIC16Fxxx osnova: Charakteristika instrukčního souboru Rozdělení instrukcí Časové průběhy (zpracování instrukcí)
Lestes C++ compiler. Obsah 1. Úvod 2. Architektura 3. Implementace 4. Framework 5. Závěr.
CZ.1.07/1.4.00/ VY_32_INOVACE_137_IT7 Výukový materiál zpracovaný v rámci projektu Vzdělávací oblast: Informační a komunikační technologie Předmět:Informatika.
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_02A13 Autor Ing. Jiří Kalousek Období vytvoření duben 2014.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Databázové systémy Architektury DBS.
Roman Valeš projekt AVT. Cíl práce Obeznámení s programovacím jazykem Java Práce s vývojovými nástroji Hierarchie kódu Androidu Vytvoření Android aplikace.
Ant Připravil: Ing. Jan Kolomazník. strana 2 Proč vznikl Potřeba sestavovat komplexní Nezávisle na platformě Popis založený na xml Spouštění různých úloh.
Metainformační systém založený na XML Autor: Josef Mikloš Vedoucí práce: Ing. Jan Růžička, Ph.D. V/2004.
Informatika pro ekonomy II přednáška 10
FCHT – Aplikovaná Informatika v Chemii
Jazyk PHP Programovací jazyk PHP (Hypertext preprocessor) je skriptovací jazyk, který běží na straně serveru. KLIENT - SERVER Server posílá do vašeho počítače.
Transparentní modelování a provádění procesů Michael Juřek Software Architect Microsoft s.r.o.
Systémové pojetí hospodářské organizace 1 ECM – Řízení podnikového obsahu (Zdroj: Gála, Pour, Toman: Podniková informatika. Praha: Grada 2006) řízení podnikového.
Jazyk XML Jazyk pro tvorbu strukturovaných dokumentů Syntaxí velmi podobný HTML Hlavní cíle návrhu: Snadná editace - jazyk je textový Snadné strojové zpracování.
Ukládání heterogenních dat pomocí rozvolněných objektů Michal Žemlička.
uložené procedury (stored procedures) triggery, sekvence, pohledy, funkce, parametrické dotazy (prepared statements) komplexní agregace a SQL dotazy jiné.
DATABÁZOVÉ SYSTÉMY. 2 DATABÁZOVÝ SYSTÉM SYSTÉM ŘÍZENÍ BÁZE DAT (SŘBD) PROGRAM KTERÝ ORGANIZUJE A UDRŽUJE NASHROMÁŽDĚNÉ INFORMACE DATABÁZOVÁ APLIKACE PROGRAM.
XML na papír Dušan Fencl
Databázové modelování
Metodika objektového přístupu při tvorbě překladačů. Marek Běhálek Informatika a aplikovaná matematika FEI VŠB-TU Ostrava.
Otevřené datové formáty a standardy
Databázové systémy Informatika pro ekonomy, př. 18.
Automatizovaná podpora výběru nástroje pro dobývání znalostí Jakub Štochl.
Ústav informatiky PEF MZLU v Brně
Vít Profant Obhajoba bakalářské práce
ZÁPADOČESKÁ UNIVERZITA V PLZNI FAKULTA ELEKTROTECHNICKÁ KATEDRA TEORETICKÉ ELEKTROTECHKY Oddělení informatiky Java Micro Edition pro mobilní zařízení.
Výrok „Vypadá to, že jsme narazili na hranici toho, čeho je možné dosáhnout s počítačovými technologiemi. Člověk by si ale měl dávat pozor na takováto.
Programování POCSI. Programovani/POCSI2 Základní pojmy Akce - děj nad objekty, mající začátek a konec, a mající přesně definovaný účinek. Příkaz - popis.
Přístup do IS z mobilních zařízení Tomáš Tureček Katedra Informatiky FEI VŠB-TU Ostrava.
XML eXtensible Markup Language Adolf Knoll Národní knihovna ČR
14. června 2004Michal Ševčenko Architektura softwarového systému DYNAST Michal Ševčenko VIC ČVUT.
Jazyk XML v geoinformatice
Digitální výukový materiál zpracovaný v rámci projektu „EU peníze školám“ Projekt:CZ.1.07/1.5.00/ „SŠHL Frýdlant.moderní školy“ Škola:Střední škola.
Open Source LMS systémy Open eDoceo Miroslav Bureš.
Překladače Vnitřní struktura překladače © Milan Keršláger
KURZ ALGORITMIZACE A PROGRAMOVÁNÍ V JAZYCE C Lekce č. 4: Programovací jazyk C Bc. Radek Libovický.
John von Neumannova koncepce. John von Neumann  Narozen 28. prosince 1903 Budapešť Rakousko-Uhersko  Zemřel 8. února 1957 Spojené státy americké.
Překladače 1. Překladače a programovací jazyky © Milan Keršlágerhttp:// Obsah:
ORSOFT RADNICE OPEN – ÚVODNÍ SEZNÁMENÍ Petra Hoffmanová.
AS/400 (IBM iSeries) Úvod. Co vlastně je AS/400 (IBM i)? Aplikační systém 400 (AS/400) byl navržen jako počítač obecně použitelný v obchodním prostředí.
Orbis pictus 21. století Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky Interkomunikační adresní systém.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
SOFTWAROVÁ PODPORA PRO VYTVÁŘENÍ FUZZY MODELŮ Knihovna fuzzy procedur Ing. Petr Želasko, VŠB-TU Ostrava.
XML a datový standard Zdeněk Jirkovec Softwarové Aplikace a systémy.
DIGITÁLNÍ UČEBNÍ MATERIÁL
Výukový materiál zpracován v rámci projektu
Vlastnosti souborů Jaroslava Černá.
Jednočipové počítače – instrukční sada
Dobývání znalostí z databází znalosti
DIGITÁLNÍ UČEBNÍ MATERIÁL
Zkušenosti s nasazením J2EE aplikací na AS GlassFish
Název školy: ZŠ Bor, okres Tachov, příspěvková organizace
Překladače 2. Vnitřní struktura překladače
Operační systémy Vnitřní struktura překladače
Informatika pro ekonomy přednáška 8
Projekt studentů oboru Informatika
Segmentace Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
Tradiční metody vývoje softwaru
Přednášky z Distribuovaných systémů
Transkript prezentace:

XSLT překladač Marek Běhálek Informatika a aplikovaná matematika FEI VŠB-TU Ostrava

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č

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.

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.

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.

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.

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.

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.

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.

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.

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ě.

Děkuji za pozornost!