Hernyák Zoltán XSLT transzformációk.

Slides:



Advertisements
Hasonló előadás
Zenetár a webszerverünkön, avagy XML használata PHP 5 alatt. Ercsey Balázs (laze) – netpeople.hu.
Advertisements

HTML nyelv Hiper-Text Markup Language 1. óra.
HTML nyelv.
JQuery 8. előadás.
Visual Basic for Application (VBA)
UML Példa © Fülöp Lajos.
1 XML •Az Extensible Markup Language (XML, kiterjeszthető leíró nyelv) a W3C által ajánlott általános célú leíró nyelv speciális célú leíró nyelvek létrehozására.
Document Type Definitions (DTD) XML séma
FRAME-k (keretek). FRAME-k A frame-ek (keretek) segítségével a képernyőt felosztva egyszerre jeleníthetünk meg több webes dokumentumot a képernyőn. Fejlec.html.
Extensible Markup Language
2010/2011.Huszár István1. dia Weboldalak tervezése II. (X)HTML.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Bevezetés a Java programozásba
Fejlett programozási technikák II.
Programrendszerek fejlesztése Bilicki Vilmos
C A C nyelv utasításai.
HTML nyelv.
Leírónyelvek: HTML és XHTML
Hernyák Zoltán XML validálás.
Hernyák Zoltán XML és HTML.
XML alapok 2. XML hibaellenőrzés XML a böngészőkben XML parser
JSP és JavaBean JavaServer Pages és Java Beans Fabók Zsolt Általános Informatikai Tanszék Miskolci Egyetem.
A HTML alapjai Havlik Barnabás Készítette:
Master Informatique dr. Kiss AttilaFélig-strukturált adatmodell Félig-strukturált adatmodell (Semi-structured data model) dr. Kiss Attila.
Szombathely Dinamikus WEB programozás: PHP és JSP.
Önleíró adatok: XML INFO ÉRA, Békéscsaba
Operációs rendszerek gyakorlat sed, awk parancsok.
Webszerkesztés Stíluslapok (CSS).
WEB Technológiák WEB-DB és XML ME Általános Informatikai Tsz. dr. Kovács László.
1.NET web szolgáltatások XSLT Bilicki Vilmos
.NET web szolgáltatások
1.NET web szolgáltatások XSLT programozás XSLT hivatkozások Bilicki Vilmos
Alapszint 2.  Készíts makrót, ami a kijelölt cellákat egybenyitja, a tartalmat vízszintesen és függőlegesen középre igazítja és 12 pontos betűméretűre.
XHTML 1. óra. Miért térjünk át HTML-ről XHTML- re? HTML-szabványban tartalom és forma összemosódott HTML 4.0 szabványban stíluslapok használatát javasolták.
Űrlapok és keretek.
HTML nyelv.
Weboldalak tervezése (X)HTML.
Hernyák Zoltán XML Schema sémadefiníció.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Web-grafika II (SVG) 1. gyakorlat
Web-grafika II (SVG) 5. gyakorlat Kereszty Gábor.
Logikai programozás 2..
XML adatkezelés 1. témakör Az XML szabvány.
Egyenesvonalú (lineáris) adatszerkezetek
Java web programozás 11..
XML Mi az XML?  Extensible Markup Language  Kiterjeszthető jelölő nyelv  Adatok, adatstruktúrák leírására szolgál  A HTML és az SGML tapasztalataira.
Apache Ant 2. gyakorlat Alkalmazásfejlesztés /2 Gyakorlat Zalatnai Csongor.
Webprogramozó tanfolyam
Webprogramozó tanfolyam Űrlapok (form-ok). Űrlapok a HTML-ben Biztosan mindenki találkozott már vele – Űrlap példapélda Felhasználási lehetőségei – Regisztráció,
Spanyolország gyöngyszeme: GRANADA Egy hobby portál kivitelezése.
Webprogramozó tanfolyam
Java web programozás 2..
Gazdasági informatikus - Szövegszerkesztés 1 Bekezdések formázása 2.
Master Informatique 1 dr. Kiss AttilaFélig-strukturált adatmodell Félig-strukturált adatmodell (Semi-structured data model) dr. Kiss Attila
Webprogramozó tanfolyam
Web Technológiák HTML 4.01 World Wide Web Consortium
HTML, XML szerkesztés Vezető: Majzik Zsuzsa
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Cascading Style Sheet.
XML lekérdezőnyelvek XPath XQuery.
Fejlett Programozási Technikák 2.
Előadás másolata:

Hernyák Zoltán XSLT transzformációk

XML - XSLT Extensible Style Sheet Language Transformation XSLT Ez egy ”programozási nyelv” XML-ben van a forráskód feldolgoz egy XML filet eredménye egy újabb HTML, CSS, XLS, XML file

XML - XSLT Kell egy „futtató” program hozzá (xslt feldolgozó) - Xalan (Java alapú) - Saxon (C# alapú) transform.exe -xsl:person_templ.xls -s:person.xml -s: az adatokat tartalmató xml file -xsl: az xslt transzformációs program A program ”outputja” a transzformáció eredménye

XML névterek Az XML elemeket névterekbe lehet rakni Több XML esetén az azonos nevű elemeket így lehet egymástól elkülöníteni Egy XML-en belül is hasznos, ha azonos nevű elemeknek más-más lehetséges tartalmi leírást adunk Első lépés: definiálni kell a névteret Második lépés: használni kell a névteret <java xmlns:java=” xmlns:delphi=” …. <java xmlns:java=” xmlns:delphi=” ….

XML - XSLT Jane Doe Fluffy Jane Doe Fluffy I found a person element! I found a person element! Az XSLT processor az xls névtér elemeit dolgozza fel

XML - XSLT …. …. Az XSLT file ezzel kezdődik Innen ismeri majd fel a feldolgozó program mire számítson

XML - XSLT Egy vagy több template van benne Egy ilyen template tartalma kiíródik, ha az XML file beolvasása közben egyezést talál a feldolgozó Template-k nem egymásba ágyazhatóak! I found a person element! I found a person element!

XML - XSLT Jane Doe Fluffy Jane Doe Fluffy ---- person person Ebben a formában az apply- templates kiírja a tag-ekhez tartozó értékeket

XML - XSLT -- A Person -- Name: Pet: -- A Person -- Name: Pet:

XML - XSLT … … Output-method = text -> nem írja ki az xml fejlécet Output-method = html ->html kimenetet produkál Output-method = xml -> XML kimenetet produkál strip-space: a felsorolt elemek között eltávolítja a white-space-eket preserve-space: … megtartja a white space-eket (def.)

XML - XSLT Készítsünk ilyet!

XML - XSLT

Meg kell írni a template-t az elemekre

XML - XSLT Az apply-templates feldolgozza a közbeeső elemeket … -t ki lehet írni XHTML kötelező (a tag-eket le is kell zárni!)

XML - XSLT HTML tagokat tudunk beépíteni az outputba a megfelelő helyre

XML - XPATH Leíró technika, elemeket azonosít egy XML-en belül A gyökér elemet / jel szimbolizálja /people/person/name - minden „name” elemet kiválaszt a /people/person-n belül

XML – XPATH szabályok nodename - minden elem kiválasztása, akinek a szülője az adott nevű node / - kiindulás a gyökérelemből // - kiválasztja az aktuális elemből kiinduló minden elemet, bármely mélységbe. aktuális elem kiválasztása.. szülő elem attribútum-kiválasztás

XML - XPATH person - minden elem kiválasztása, akinek a szülője „person” /people/person/name - minden „name” elemet kiválaszt a /people/person-n belül person//name - minden name kiválasztása, akinek a szülője „person” //name - minden „name” elemet kiválaszt az XML-en belül - a pet elemek breed attribútumai - minden attribútumot kiválaszt - minden species attribútumot kiválaszt

XML - XPATH Mivel gyakori, hogy egy Xpath útvonal több elemet is kiválaszt, de ezekből csak egy kell – prédikátumok kellenek a további azonosításhoz… //person[1] - az első találat //person[last()] - utolsó találat //person[last()-1] - utolsó előtti találat //pet[.=‘Fluffy’]. szimbolizálja az aktuális elemet kiválasztja azokat az elemeket, amelyeknek az értéke ‘Fluffy’ //pet[.=‘Fluffy’]/.. kiválasztja a szülő elemét, a ‘Fluffy’ értékű node-nak //name[contains(.,’Jane’)] minden „name” elemet, amelyben szerepel „Jane”

XML - XPATH - az összes pet elem, amelynek van breed attr-a - az összes pet elem, amelynek van breed-ke amelynek értéke „collie” a szülő elemek, amelyeknek van collie breed-jük | az elemek melyek vagy cat-ok vagy dog-ok

XML - XSLT --- PEOPLE – --- PEOPLE – A match is egy XPATH leírás Ezen találat csak a fenti útvonalon talált person-okra illeszkedik rá Gyökér elemre illeszkedő template

XML - XSLT Name: (with address) Name: Name: (with address) Name: Ha van neki „address” property-je, akkor felső szabály szerint íródik ki, Ha nincs neki, akkor az alsó A sorrend nem számít az xsl-en belül

XML - XSLT Name: (with address) Name: Name: (with address) Name: Ha van neki „address” property-je, akkor felső szabály szerint íródik ki, Ha nincs neki, akkor az alsó A sorrend nem számít az xsl-en belül

XML – XSLT tengelyek ancestor minden ős (felfelé rekúrzívan) ancestor-or-self saját maga és minden őse attribute az aktuális node összes attribútuma child az aktuális node összes gyerek node-ja descendant minden gyerek node (lefelé rekúrzívan)

XML – XSLT tengelyek following az aktuális node bezáró tagja után _minden_ following-sibling az akt.node után következő minden testvér namespace az akt.node minden névtér node -ja parent az őse az akt.node-nak preceding a megelőző tartalom (akt.node előtti tartalom) preceding-sibling node előtti összes testvér self saját maga

XML – XSLT tengelyek child::book minden „book” ami gyerekeleme az akt.node-nak child::* az akt.node minden gyerekeleme descendant::book az akt.node alatt bárhol szereplő „book”-k ancestor::book felettünk bárhol szereplő „book”-k child::*/child::price 2 szinttel alattunk lévő „price” elemek minden pet element, amelynek van „breed” attribútuma, amely „calico” értékű

XML - XSLT Elem értékének lekérése: value-of Az aktuális node alatti gyerek elemek közül a name értéke Az aktuális node „breed” attribútumának értéke

XML - XSLT XSLT transzformációban alkalmazni a value-of -t Pet: Species: Breed: Pet: Species: Breed:

XML - attribútum kiválasztása name() megadja az attribútum nevét : :

XML - XSLT … szöveg kiiírás … … szöveg kiiírás … Feltételes output készítése

XML - XSLT Feltételes output készítése

XML - XSLT Készítsünk el egy DVD nyilvántartó XML filet. Egy DVD-t jellemez a címe, kiadás éve, ára. A DVD kategóriáját adjuk meg attribútum formájában (akció|zene|rajzfilm). Ezen XML file alapján készítsünk el egy HTML outputot, ahol a DVD címe legyen pirossal írva, ha az akciófilm, egy DVD film információi egy sorba kerüljenek. Készítsünk el egy CSV kimenetet is, vesszővel tagolt text file, melyet Excelben be lehet olvasni.