extensible Markup Language:

Hasonló dokumentumok
Webtechnológiák információs redszerekben. Technológiai bevezető 1.

Dokumentumformátumok Jelölő nyelvek XML XML. Sass Bálint Bevezetés a nyelvtechnológiába 2. gyakorlat szeptember 20.

XML (DTD) (XSD) DOM SAX XSL. XML feldolgozás

Aspektus-orientált nyelvek XML reprezentációja. Kincses Róbert Debreceni Egyetem, Informatikai Intézet

5. téma XML DB. Az adatkezelés és XML kapcsolata. Miért fontos az XML használata az adatbázis kezelésben?

XML és XSLT (a színfalak mögül)

V. gyakorlat: XML alapú adatkezelés

XSLT ( XSL Transformations)

XML alapú adatbázis-kezelés. (Katona Endre diái alapján)

Általános lekérdezési feladatok

Adatbázis rendszerek 7. előadás State of the art

Web-fejlesztés NGM_IN002_1

XPath 1.0. Jeszenszky Péter Debreceni Egyetem, Informatikai Kar Utolsó módosítás: szeptember 5.

Adatkezelési mőveletek az XML nyelvben XQuery - XML dokumentumok lekérdezésére szolgáló lekérdezınyelv kifejezı ereje az OQL nyelvével egyenértékő.

Adatbázis kezelés Delphiben. SQL lekérdezések

1. Az XML és XHTML nyelvek. Az XML leíró nyelv Szabályok XHTML írásra. Tartalom Az XML leíró nyelv

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

3. SZÁMÚ MELLÉKLET. Elektronikus számla - XML definíciók. a) Számla. 1. ábra Számla

XML EXtensible Markup Language

XPath. dr. Paller Gábor. XML technológiák

30 MB INFORMATIKAI PROJEKTELLENŐR

XML technikák II Kovács, László

Az XML kidolgozásakor a fejlesztés szempontjait tíz pontban foglalták össze:

Webes űrlapok és az XForms ajánlás

Szerializáció. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Szerializáció / 22

Félig-strukturált adatmodell (Semi-structured data model)

V. gyakorat: XML technikák MS SQL 2008-ban

Web programozás I. 4. előadás

Az XML Bevezetés. Fabók Zsolt Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Utolsó módosítás:

Tecnologias XML. Extensible Stylesheet Language

SQLServer. DB Recovery modes

A szoftver és hardverfüggetlen adatbázis

3. SZÁMÚ MELLÉKLET. Elektronikus számla - XML definíciók. a) Számla. 1. ábra Számla

12.óra jquery Framework #1. Gyimesi Ákos

DINAMIKUS MULTIMÉDIÁS TARTALOM...

Adatbázis-lekérdezés. Az SQL nyelv. Makány György

DocBook útmutató. Jeszenszky Péter Debreceni Egyetem, Informatikai Kar

34. Elsődleges kulcs megadása XMLSchema-ban Idegen kulcs megadása XMLSchema-ban Típusok kategóriái és saját típus megadásának

XML adatkezelés. A DOM alapú adatkezelés. Dr. Kovács László Répási Tibor kiegészítéseivel

Java Server Pages - JSP. Web Technológiák. Java Server Pages - JSP. JSP lapok életciklusa

Térinformatikai (GIS) és CAD adatmodellek és adatformátumok Digitális térképek előállítási technológiái, metaadatok szerepe

Adatbázisok II. Jánosi-Rancz Katalin Tünde 327A

XML adatbázis kezelésének lehetőségei

Web-fejlesztés NGM_IN002_1

ArcGIS Desktop QGIS GRASS AutoCAD Map ITR. Op. rendszer Win Linux, Win, OSX Unix, CygWin, (Win) Win korábban DOS, Win. GRASS specific GDAL/OGR

Programozás III BEVEZETÉS. Sok adatkezeléssel kapcsolatos feladat van. a/ Adatok fájlban. b/ Adatbázisban

HTML, XML szerkesztés

XML avagy az univerzális információelérés álma

XML adatkezelés. 5. témakör. Nincs explicit névtér kijelölve. <?xml version="1.0"?> <xs:schema xmlns:xs="

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK

Petőfi Irodalmi Múzeum. megújuló rendszere technológiaváltás

Zenetár a webszerverünkön,

Adatbázisok II. Jánosi-Rancz Katalin Tünde 327A

Bevezetés Működési elv AJAX keretrendszerek AJAX

HTML. Dr. Nyéki Lajos 2016

Adatkezelés - XML. XML 3 XML séma

Adabáziselérés ODBC-n keresztül utasításokkal C#-ban

XML adatkezelés. 11. témakör. Az XQuery nyelv alapjai. XQuery. XQuery célja egy imperatív lekérdező nyelv biztosítása. XQuery.

<?xml version="1.0" encoding="shift_jis"?> <xsl:stylesheet xmlns:xsl=" version="1.0"> <xsl:output method="html"

GIS fejlesztés Web platformra nyílt forráskódú ingyenes eszközökkel

Nyilvántartási Rendszer

Bevezetés: az SQL-be

ASP.NET 2.0 (Whidbey) Mi várható a 2005-ös ASP.NET-ben?

A szerzõrõl... xi Bevezetés... xiii

Fordított és szkript nyelvek összehasonlító elemzése. Sergyán Szabolcs

Számítógépes grafika

Web-fejlesztés NGM_IN002_1

Excel ODBC-ADO API. Tevékenységpontok: - DBMS telepítés. - ODBC driver telepítése. - DSN létrehozatala. -Excel-ben ADO bevonása

Web-fejlesztés NGM_IN002_1

Web programozás. 3. előadás

Informatikai alapismeretek Földtudományi BSC számára

Adatbázis-kezelő rendszerek. dr. Siki Zoltán

.Net előadás jegyzet 7. óra. .NET és az XML

Aspektus-orientált nyelvek XML reprezentációja

Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez

Adatbázisok* tulajdonságai


KML Keyhole Markup Language

Kilencedik témakör: Lazarus-Firebird. Készítette: Dr. Kotsis Domokos

Célkitűzések Az Oracle10 g felépítésének, használatának alapszíntű megismerése

Intelligens közlekedési rendszerek (ITS)

Az XML szabvány. Az XML rövid története. Az XML szabvány

Az XML 1.0 szabvány. tanulmány. Készítette: Mészáros Tamás. Budapest, BME Méréstechnika és Információs Rendszerek Tanszék

Adatbázis rendszerek. dr. Siki Zoltán

Programozás. Adatbázis-kezelés (alapok) Fodor Attila

A RAKTÁRI JEGYZÉKEK SZÁMÍTÓGÉPES FELDOLGOZÁSA: ADATMODELLEZÉS ÉS SZABVÁNYOK

A könyv tartalomjegyzéke

XSLT XML. DEIM Forum 2013 B2-1 XML XML XML XML XSLT XSLT XSLT XML XSLT XSLT

XML. Document Type Definitions (DTD) XML séma

DIPLOMAMUNKA. Szűcs Béla. Debrecen PDF processed with CutePDF evaluation edition

Sorosítás (szerializáció) és helyreállítás. 1. Bináris sorosítás és helyreállítás Szükséges névterek Attribútumok. 1.3.

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra

GeoServer, OpenLayers és WFS. Dolleschall János

az XML egy leírónyelv, másnéven meta-nyelv, mely segítségével új nyelveket írhatunk le egy XML dokumentum egy ilyen nyelvnek a példánya, a formális

Az XML dokumentumok adatmodellje

Az SQL*Plus használata

Entity Framework alapú adatbáziselérés

DTD Dokumentumtípus definició

Bánsághi Anna

Átírás:

XML XML 1 - alapok

XML extensible Markup Language: Kiterjeszthető jelölőnyelv Jelölő nyelv Általában láb szöveges fájlban tároljuk Címkékből (tag), attribútumokból és magából a tartalomból áll Hierarchikus szerkezetű XML 2

Eredete: SGML SGML (Structured Generalized Markup Language) a jelölőnyelvek ősatyja 1986 Dokumentum leírásra Részei DTD (Data Type Definition): az elemkészlet és az elemek struktúrája Az elemkészlettel jelölt szöveg XML 3

SGML alapú szabványok XML 4

XML felhasználási területei t Struktúrált dokumentumszerkesztés, leírás: docx Vektorgrafika tárolása: VML, SVG Alkalmazások közötti webes kommunikáció: WSDL Pénzügyi információk cseréje: OFX Digitális űrlapok kezelése: XFDL, Infopath Emberi erőforrás menedzsment jelölőnyelv: HRMML Jogi dokumentumok kezelése: OXCI Matematikai képletek leírása, formázása: MathML Konfigurációs adatok leírása: egyedi News feeds leírás: RSS 3D grafikai i leírás: X3D Stílus leírásra megjelenítéshez: XSL Adatbázis, lekérdezés: XQuery HTML leírás: XHTML 5

XML célja Egyszerű kezelhetőség Interneten használható legyen Alkalmazások támogassák Ember is könnyen olvashassa Általános célú HTML korlátosságának kiváltása Adat és a megjelenés elválasztható legyen egymástól XML 6

Problémák a HTML-lel l Nem tipikus elemekből álló dokumentum leírása nehéz Adatok leírására sem alkalmas (kötött sémával rendelkezik) Nem teljesen hierarchikus XHTML kiegészítés: egy XHTML dokumentum XML dokumentum is egyben. XML 7

Jól formázott XML példa Fejrész <?xml version="1.0" encoding="iso-8859-2"?> <!-- Megjegyzés --> Dokumentum elem, gyökérelem Feldolgozó utasítás <?xml-stylesheet type="text/css" text/css href="2 2.css css"?> <segedanyagok> <irodalom> <cim>xml lépésrol lépésre</cim> <szerzo>michael J. Joung</szerzo> <kiadas>2002</kiadas> </irodalom> <irodalom> <cim>az XML kézikönyv</cim> <szerzo>neil Bradley</szerzo> <kiadas>2005</kiadas> </irodalom> </segedanyagok <?SajatAlkalmazas Param1="ertek" Param2="ertek"?> 8

Tulajdonságai Kis és nagybetűk különbözőek. Kötelező megadni a záró tag-eket. Fontos az egymásba ágyazás, így a zárás sorrendje. <b><i>vastag és dölt szöveg. HIBÁS!</b></i> <b><i>vastag és dölt szöveg. JÓ!</i></b> Mindig van egy gyökérelem, annak lehet egy gyermeke, mely tartalmazhat további leszármazottakat Bővíthető XML 9

Tulajdonságai II. Elenevezési konvenció: betű, szám, egyéb karakter. Nem kezdődhet: számmal, központonzással, az xml karakterekkel Nem tartalmazhat: szóközöket Elem vagy attribútum? Nincs rá szabály! <szemely nem="ffi"> <nev>ka Pál</nev> </szemely> <szemely> <nem>ffi</nem> <nev>ka Pál</nev> </szemely> XML 10

Érvényesítés Jól formázott dokumentum well- formed Megfelel az XML szintaktikának Érvényesség, validság: Jól formázott Struktúrája megfelel a szerző szabványának XML DTD és XML Schema (XSD) XML 11

Dokumentumtípus definálás: DTD Használható elemek, elemek struktúrájának, adattartalom típusának megadására Gyakorlatban: tervrajzként funkcionál Megadható az XML fájlban vagy külön állományban is. Ellenőrzése az érvényesítés 12

DTD dokumentum típus def. <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE cikk SYSTEM "cikk2.dtd"> <cikk> <datum>2003/05/01</datum> <szerzo>laci</szerzo> <tartalom>tananyag</tartalom> </cikk> A külső DTD fájl: <!ELEMENT cikk (datum, szerzo, tartalom)> <!ELEMENT datum (#PCDATA)> <!ELEMENT szerzo (#PCDATA)> <!ELEMENT tartalom (#PCDATA)> 13

XML séma (XSD) XML dokumentumok tartalmát és szerkezetét. Elemeket, jellemzőket Adat típusokat Elemek számára adhatunk előírást Elrendezést ~ DTD, de több annál XML alapú Lehetőséget rejt magában 14

XSD példa <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema"> <xs:element name="konyv"> <xs:complextype> <xs:sequence> <xs:element name="szerzo" type="xs:string"/> <xs:element name="cim" type="xs:string"/> <xs:element name="ar" " type="xs:integer"/> t "/> </xs:sequence> </xs:complextype> </xs:element> </xs:schema> Az XML dokumentumban így kell megadni: <?xml version="1 1.0" encoding="utf-8"?> <konyv xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:nonamespaceschemalocation="konyv.xsd"> <szerzo>xy</szerzo> <cim>xml tananyag</cim> <ar>1000</ar> </konyv> 15

W3CD Document tobject tmodel Platform- és nyelv független interfészleírás A tartalom, a struktúra és a design hozzáféréséhez, módosításához. Objektumok és tulajdonságaik és hozzáférési metódusok szabálya Részei: Core DOM: bármilyen strukturált dokumentumra vonatkozó szabvány HTML DOM: HTML dokumentumokra XML DOM: XML dokumentumokra 16

XML DOM Node-ok Node típus Példa Dokumentum <!DOCTYPE food SYSTEM "food.dtd"> Feldolgozási instrukció Elem Attribútum Szöveg <?xml version="1.0"?> <drink type="beer">carlsberg</drink> type="beer" Carlsberg 17

HTML DOM 18

DOM Inspector 19

XML DOM 20

Leltar.xml l #document LELTAR KONYV KONYV CIM SZERZO KOTES OLDALSZAM AR CIM SZERZO KOTES OLDALSZAM AR #Text: Fűszálak #Text: Walt Whitman #Text: keménykötés #Text: 462 #Text: 775 #Text: Az Álmos völgy #Text: Washington #Text: olcsó #Text: 98 #Text: 295 21

Letar.xml kapcsolati struktúrája Gyökér elem: <leltar> parentnode Elem: <konyv> firstchild nextsibling previoussibling Elem: <konyv> Elem: <konyv> Elem: <konyv> Elem: <konyv> lastchild 22

XML parse-olás a böngészőkben XML beolvasása a memóriába XML DOM objektum készítése Parszolást követően az XML JavaScript-ből feldolgozható xmldoc=new ActiveXObject("Microsoft.XMLDOM"); //IE xmldoc=document.implementation.createdocument("","",null); //Firefox, Opera, stb. xmldoc.async="false"; xmldoc.load("leltar.xml"); leltar.xml 23

XML DOM properties & methods Properties x.nodename x neve x.nodevalue x node értéke x.parentnode x node szülője x.childnodes x node gyermeke x.attributes x node attribútuma Metódusok x.getelementsbytagname(nev) visszaadja az összes nev nevű elemet x.appendchild(node) x elemhez beszúr egy gyermek elemet x.removechild(node) gyermek elem törlése 24

XML feldolgozás l documentelement: gyökér elem getelementsbytagname("cim"): az összes cim nevű elem kijelölése getelementsbytagname("cim")[0]: az első cim nevű elem childnodes[0]: d a cim nevű elem első gyermek eleme nodevalue: a node (szöveges elem) értéke nodename: node neve nodetype: node típusa 25

Delphi unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ComObj; type TForm1 = class(tform) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation 26 {$R *.DFM}

Delphi - 2 procedure TForm1.Button1Click(Sender: Tobject); var xml:variant; begin xml:=createoleobject('msxml2.domdocument.4.0'); xml.async := false; xml.loadxml('<alma></alma>'); loadxml('<alma></alma>'); root:=xml.documentelement; newnode:=xml.createelement('barack'); newnode.text:= text:='sárga'; ; root.appendchild(newnode); newnode:=xml.createelement('citrom'); newnode.text:='savanyú'; ; root.appendchild(newnode); ShowMessage(xml.documentElement.xml); end; end. 27

Visual Basic Dim xmldoc As New Msxml2.DOMDocument40 Dim comment As IXMLDOMComment xmldoc.async = False xmldoc.loadxml ("<ALMA></ALMA>") Set root = xmldoc.documentelement Set newnode = xmldoc.createelement("barack") newnode.text = sárga root.appendchild newnode Set newnode = xmldoc.createelement("citrom") newnode.text = savanyú root.appendchild newnode MsgBox (xmldoc.documentelement.xml) 28

JavaScript var xmldoc = new ActiveXObject("Msxml2.DOMDocument.4.0"); var root; var newnode; xmldoc.async = false; xmldoc.loadxml("<alma></alma>"); root = xmldoc.documentelement; newnode = xmldoc.createelement("barack"); newnode.text = sárga ; root.appendchild(newnode); newnode = xmldoc.createelement("citrom"); newnode.text = savanyú ; root.appendchild(newnode); alert(xmldoc.documentelement.xml); 29

XPath XML dokumentumokban történő keresésekre Navigációra, környezetfüggő kijelölésekre, formázásokra ~ SQL SELECT Kijelölés UNIX-hoz hasonlóan: /... //leltar/konyv/cim[@nyelv='hu']/../szerzo 30

Példák child::cim az aktuális elem cim' gyereke(i) attribute::nyelv az aktuális elem nyelv' attribútuma / a gyökér-elem /leltar/child::konyv/child::cim[position() = 2] a második cim child::cim[attribute::nyelv=en'][child::gyer mek=szöveg'] az aktuális elem azon cim' gyereke, amelynek a nyelv' attribútumának tartalma en' és van egy gyermek' gyereke, amelynek tartalma szoveg' /descendant::cim a dokumentum összes cim' eleme child::*[self::cim or self::szerzo] az aktuális 31 elem cim' vagy 'szerzo' elemei

Node-ok kkiválasztása leltar leltar nevű gyökérelem kiválasztása /leltar/konyv a leltar nevű gyökérelem konyv nevű gyermekeinek kiválasztása //leltar/konyv leltar nevű elem konyv nevű gyermekeinek kiválasztása //leltar/konyv[2]/cim / 2-ik könyv címe //leltar/konyv[2]/child::cím 2-ik könyv címe //konyv/cim = //child::konyv/child::cim = //child::konyv/cim /c //konyv/descendant::* - konyvek utódai 32

Rövidítések self::node() =. parent::node() =.. descendant-or-self::node()= // '//cim' az összes cim elem child::szerzo = szerzo attribute::nyelv = @nyelv @* az aktuális elem összes attribútuma konyv[3] az aktuális elem 3. konyv' gyermeke 33

Predikátumok k Feltétel megadás: [] - ban /leltar/konyv[3] /leltar/konyv[last()] /leltar/konyv[last()-2] /leltar/konyv[position()<5] / /leltar/konyv[position() mod 2] /leltar/konyv[ar()>500] /leltar/konyv[ar()>500]/cím //konyv/cim //konyv/szerzo 34

AXIS node kontextus kapcsolatok k child: gyerek descendant: leszármazott parent: szülő ancestor: ős following-sibling: következő testvér (ugyanazon a szinten lévő elem) preceding-sibling: előző testvér (ugyanazon a szinten lévő elem) following: következő node preceding: előző node attribute: attribútum namespace: namespace self: önmaga descendant-or-self: leszármazott vagy önmaga ancestor-or-self: ős vagy önmaga 35

Függvények last() position() count(node-set) starts-with(string,string) contains(string,string) substing(string,number,number?) string-length(string) sum(node-set) round(number) floor(number) - A legnagyobb egész szám, ami nem nagyobb az argumentumnál. ceiling(number) - A legkisebb egész szám, ami nem kisebb az argumentumnál 36

Példák //*[string-length(name()) = 5] Elem neve 5 hosszú //cim/ancestor::* Ősei //cim/ancestor-or-self::* Ősei és maga //*[count(*)=2] Kiválasztja azt az elemet, melynek két gyermek eleme van sum(/leltar/konyv/ar) 37

XQuery XML dokumentumokban történő keresésekre XPath kifejezéseken alapul ~ SQL Adatbázis-rendszerek: Oracle, IBM, Microsoft által támogatott Zorba: XML feldolgozó XQuery kiterjesztéshez programozási nyelvekbe, böngészőkbe. Teszteléshez: http://try.zorba-xquery.com/ Apache Xindice XML alapú adatbázis 38

XQuery Dokumentum kijelölése: doc("books books.xml xml") Navigáció az XML dokumentumban: doc("books.xml")/bib/book/title Feltételek, szűrésre doc("products.xml")/products/produc t[price<50]/category 39

XQuery FLOWR FOR, LET, WHERE, ORDER BY, RETURN = SQL: SELECT-FROM-WHERE doc("products.xml")/products/product[price<50]/ category for $x in doc("products.xml")/products/product where $x/price<50 return $x/category Ez még csak FWR volt 40

XQuery FLOWR Let let $x := (1 to 5) return <test>{$x}</test> Order by for $x in doc("products products.xml xml")/products/product where $x/price<50 order by $x/name return $x/category 41

XUpdate XML-re épülő XML dokumentumokat módosító nyelv Kipróbálható: http://www.orbeon.com/ops/sandbox- / / transformations/xupdate/ 42

XUpdate gyakorlás <addresses> <address id="1"> <! Egy ember cím adatai--> <name> <first>citad</first> <last>ella</last> </name> <city>budapest</city> <zip>1234</zip> i > <country>hungary</country> <phone type="home">333-3000</phone> <phone type="work">333-5000</phone> <note><komment></note> </address> </addresses> 43

XUpdate műveletekű insert-before: element, comment insert-after: element, comment append: element, attribute, text, update: attribute, t text, t comment rename: element, attribute, text, remove: element, attribute, text, comment 44

Elem elé beillesztés (insert-before) Egy middle name elem beillesztése a last name elem elé. <xupdate:modifications version="1.0" xmlns:xupdate="http://www.xmldb.org/xupdate"> <xupdate:insert-before select="/addresses/address[@id = 1]/name/last" > <xupdate:element name="middle">kis</xupdate:element> </xupdate:insert-before> </xupdate:modifications> 45

XML adatbázis Oracle, MS SQL Server, DB2 is fel tud dolgozni XML-t Natív XML (NXD) adatbázisok a gyakorlatban: Apache XIndice exist BaseX Sedna 46

XSL(T) bevezetés Szabványalapú (sablonokat definiálhatunk) Deklaratív (XPath alapú kiválasztás) XML dokumentum transzformálása: HTML, PDF (XSL-FO Formatting Objects), más XML-be Csomópontonként dolgozik ~ CSS Hierarchikus <xsl:stylesheet> vagy <xsl:transform> 47

XML és XSLT összekapcsolása <?xml version="1.0" encoding="iso-8859-2"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform"> <xsl:template match="/"> <!-- az XSLT gyökércsomóponttal illeszkedik --> <HTML> <HEAD> <TITLE>Könyvismertető</TITLE> </HEAD> <BODY> <H2>Könyvismertető</H2> <SPAN STYLE="font-style:italic">Szerző: </SPAN> <xsl:value-of select="konyv/szerzo"/><br/> <SPAN STYLE="font-style:italic">Cím: </SPAN> <xsl:value-of select="konyv/cim"/><br/> <SPAN STYLE="font-style:italic">Ár: </SPAN> <xsl:value-of select="konyv/ar"/><br/> <SPAN STYLE="font-style:italic">Kötés: </SPAN> <xsl:value-of select="konyv/kotes"/><br/> <SPAN STYLE="font-style:italic">Terjedelem (oldal): </SPAN> <xsl:value-of select="konyv/oldalszam"/> </BODY> </HTML> </xsl:template> </xsl:stylesheet> 48

Példa XML <?xml version="1.0" encoding="iso-8859-2"?> <?xml-stylesheet type="text/xsl" href="1.xsl"?> <KONYV> <CIM>Moby-Dick</CIM> <SZERZO>Herman Melville </SZERZO> <KOTES>keménykötés</KOTES> <OLDALSZAM>724</OLDALSZAM> <AR>995 Ft</AR> </KONYV> 49

XSLT elemek 1. <xsl:template match="/"> </xsl:template> Template definiálása a match-ben megadott gyökérelemmel. <xsl:value-of select="konyv/oldalszam/> Relatíven megadott elérési út alapján ad meg egy elemet (node-ot). Ezek sorrendje határozza meg a megjelenítés sorrendjét is! A Selec-ben megadott formátum XPath alapú 50

XSLT elemek 2. XPath <xsl:value-of select="sum(leltar/konyv/oldalszam)"/> XPath szelektálás <...SELECT="leltar/konyv[kotes='puha']"> XPath szűrés <...SELECT="leltar/konyv/cim[@nyelv='hu']"> <xsl:for-each select="leltar/konyv">... lt "> </xsl:for-each> Csomópont összes elemét kijelöli 51

XSLT elemek 3. <xsl: template match="konyv" name="nev" priority="1"> Egyszerre több template is szerepelhet <xsl: apply-templates p ates select="leltar/konyv"> Melyik elemre alkalmazza a sablont? 52

Ciklus: <xsl:for-each> Minden konyv elem kijelölése <xsl:for-each select="konyv"> <xsl:value-of select="nev"/> </xsl:for-each> Minden cérnakötésű könyv kijelölése <xsl:for-each select="konyv[kotes='cérnakötés']"> <xsl:value-of select="nev"/> </xsl:for-each> 53

Szűrés ű és rendezés <xsl:sort> <xsl:for-each select="leltar/konyv[kotes='cérnakötés']"> <xsl:sort select="szerzo" data-type="text" order="ascending"/> <xsl:sort select="oldalszam" data-type="number" </xsl:for-each> order="descending"/> 54

XSL elágazások á <xsl:if test="position() mod 2 = 1"> Ebben az esetben... </xsl:if> vagy <xsl:choose> <xsl:when test="kotes='cérnakötés'"> Ebben az esetben ez jelenik meg. </xsl:when> <xsl:when test="kotes='keménykötés'"> keménykötés Ebben az esetben pedig ez. </xsl:when> <xsl:otherwise> Különben ez jelenik meg. </xsl:otherwise> </xsl:choose> 55

További XSL elemek Kimenet megadása: <xsl:output method="xml"/> <xsl:output method="html" encoding="iso- 8859-2"/> <xsl:output method="text"/> Változó definiálsa: <xsl:variable name="email">alma@domain</xsl:variable> <xsl:variable name="email2" select="document('email.xml')"/> ect e t( e Hivatkozás változóra ($EMail): <xsl:value-of select="$email" /> 56