Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaFrigyes Kozma Megváltozta több, mint 10 éve
1
1.NET web szolgáltatások XSLT programozás XSLT hivatkozások Bilicki Vilmos bilickiv@inf.u-szeged.hu www.inf.u-szeged.hu/~bilickiv
2
2 Kötelező feladat Két fős csoportok NIM játék megvalósítása 1 függvény (WSDL-ben fogom definiálni) Game() Regisztráció az UDDI-ban fellelt Játékmesterben Csoport honlap létrehozása Lehessen Vezérelni a NIM játékot Statisztikát nézegetni
3
3 Az előző előadás tartalma Bevezetés az XSLT-be Sablon szabályok Fejlett sablon szabályok Stíluslapok kombinálása A dokumentum tartalom sorbarendezése A kimenet testreszabása Stíluslapok beszúrása és importálása
4
4 XSLT stíluslap struktúra Egy elem, vagy Felső szintű elemek. Pl.: sablon szabályok XSLT, Implementáció spec., Felh. Def. Utasítás elemek <xsl:template match="/"> … … … </xsl:template> <xsl:apply-templates select="employees/employee" /> <xsl:template match="employee"> … … … </xsl:template> <xsl:value-of select="name" />
5
5 Sablon szabályok definiálása <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> Employees details, <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> Employees details,
6
6 Rendezés a következő tulajdonságokkal rendelkezik: order – "ascending" vagy "descending" case-order – "upper-first" vagy "lower-first" lang – nyelv kód (pl.: "en") data-type – "text" vagy "number" Például Rendezzük az elemeket elem alapján csökkenő sorrendben <xsl:sort select="salary" order="descending" data-type="number"/> <xsl:sort select="salary" order="descending" data-type="number"/>
7
7 Az előadás tartalma XSLT programozás Nevesített sablonok Váltózó, paraméterek Ciklusok, feltételek XSLT hivatkozások Több XML dokumentum használata egy stíluslapban Kereszthivatkozások Kereszthivatkozások az eredmény dokumentumban
8
8 Források Microsoft 1913A official curriculum http://www.gotdotnet.com/ Eszköz http://www.xmlcooktop.com/
9
9 XSLT programozás Nevesített minták Definiálása Hivatkozás nevesített mintára Váltózó, paraméterek Változók deklarálása Értékadás Változók használata Eredmény fa részletek létrehozása és használata Paraméterek használata Paraméterek átadása minta szabályoknak Paraméterek átadása stíluslapoknak Ciklusok, feltételek Ciklusok használata Sorbarendezés Elágazások
10
10 Nevesített minták Feladatuk: A kód egyszerűsítés Kód újrafelhasználás Egyszerű minta a név attribútum ki van töltve Függvények procedurális programozási nyelvekben Tartalmazhat egyezés elemet is (match)
11
11 Nevesített minta meghívása Meghívható: Az aktuális csomópont és csomópont lista változatlan ( esetén) Ha nem találja akkor hiba jelzéssel tér vissza
12
12 1. DEMÓ
13
13 Változó és paraméterek Változók deklarálása Értékadás Változók használata Eredmény fa részletek létrehozása és használata Paraméterek használata Paraméterek átadása minta szabályoknak Paraméterek átadása stíluslapoknak DEMÓ
14
14 Változók deklarálása Adattárolásra használandók Ha egyszer ki lett értékelve nem lehet megváltoztatni (ezzel biztosítjuk azt, hogy a szabályok sorrendje tetszőleges, nem hatnak egymásra, a végeredmény azonos) A hatókör a definiálás helyétől függ A mintában definiáltak lokálisak A legfelsőbb szinten deklaráltak globálisak Típusai: karakterlánc szám logikai csomópont gyűjtemény
15
15 Érték adás A select attribútummal Egy idézőjel a Washington elem értékét jelentené A sablon tartalmával Washington
16
16 Változók használata <xsl:variable name="job" select="concat(jobtitle, 's Department')"/> works in the and earns <xsl:variable name="job" select="concat(jobtitle, 's Department')"/> works in the and earns
17
17 Eredmény Fa rész használata Date Time Date Time
18
18 Változók használata A hívó adja meg az értékét Alapértelmezett érték beállítható Lokális paraméterek Sablon szabályban Global Parameters Stílus lapban
19
19 Sablon paraméterek átadása 's contact is 's contact is
20
20 Stíluslap paraméter átadása XslTransform xslt = new XslTransform(); xslt.Load(stylesheet); XsltArgumentList xslArg = new XsltArgumentList(); DateTime d = DateTime.Now; xslArg.AddParam("date", "", d.ToString()); XmlTextWriter writer = new XmlTextWriter(Console.Out); xslt.Transform(new XPathDocument(filename), xslArg, writer, null); writer.Close(); XslTransform xslt = new XslTransform(); xslt.Load(stylesheet); XsltArgumentList xslArg = new XsltArgumentList(); DateTime d = DateTime.Now; xslArg.AddParam("date", "", d.ToString()); XmlTextWriter writer = new XmlTextWriter(Console.Out); xslt.Transform(new XPathDocument(filename), xslArg, writer, null); writer.Close();
21
21 1.5. DEMÓ
22
22 Ciklusok, elágazások Ciklusok használata Sorbarendezés Elágazások
23
23 Ciklus Csomópontok halmazán mehetünk végig A utasítás is ugyanezt csinálja Biztonságosabb, nem függ a szerkezeti változásoktól A ciklus gyorsabb és átláthatóbb Aktuális csomópont pozíciója: position()
24
24 Sorrend megadása Az utasítás a utasításon belül Ugyanaz mint az eleme
25
25 Elágazások 50000"> High Tax -- 50000"> High Tax -- 50000">High -- 25000">Avg -- Low -- 50000">High -- 25000">Avg -- Low --
26
26 2. DEMÓ
27
27 Tippek Használjunk nevesített sablonokat Használjuk a a gyakran változó dokumentumokhoz Használjuk az -et a statikus dokumentumokhoz Használjuk az -t több feltétel tesztelésére
28
28 Hivatkozás XML dokumentumokra Több XML dokumentum használata egy stíluslapban Kereszthivatkozások Kereszthivatkozások az eredmény dokumentumban
29
29 Hivatkozott dokumentumok használata Philips R Philips R <xsl:value-of select="document('Regions.xml') //region[@code=current()/rgn]/@place"/> <xsl:value-of select="document('Regions.xml') //region[@code=current()/rgn]/@place"/> Employees.xml AddressbyRegion.xsl Regions.xml
30
30 Hivatkozott dokumentumok Regions.xml RegionLookup.xsl
31
31 Regions.xml <xsl:for-each select = "document(@href, 'www.litware.com/data')//employee"> <xsl:for-each select = "document(@href, 'www.litware.com/data')//employee"> RegionLookup.xsl Alap URI megadása Alapértelmezésként az URI-k a stíluslaphoz vannak viszonyítva A document() függvény második paraméterében megadható egyébb alap URI
32
32 3. DEMÓ
33
33 Kereszthivatkozások Az összefüggő információk egy dokumentumba sűrítése Implicit kereszthivatkozás Explicit kereszthivatkozás XSLT kulcs definiálása Csomópontok címzése XSLT kulcsokkal 4. Demó Kulcsok kiolvasása más dokumentumokból
34
34 Az összefüggő információk egy dokumentumba sűrítése … Carol Philips 432, 23rd Way, Redmond … Wool sweater 27.99 … … Carol Philips 432, 23rd Way, Redmond … Wool sweater 27.99 …
35
35 Implicit kereszthivatkozások XPath segítségével hivatkozunk a kapcsolódó információra Problémás: Nehéz olvasni, kódolni Nehéz karbatartani
36
36 Explicit Kereszthivatkozások Az adatok szabványos attribútumokon keresztül csatlakoznak ID, IDREF, vagy IDREFS XML Sémában Adatok címzése Használjuk az XSLT id(objektum) függvényt Problémák A sémát meg kell osztani Attribútumokat használunk hivatkozásra nem elemeket
37
37 XSLT Kulcs definiálása Az adatokat XSLT kulcsokkal is összekapcsolhatjuk Kulcs bármilyen tartalomból készíthető Nem kell séma Index készíthető XSLT kulcsok definiálása
38
38 Csomópontok címzése XSLT kulcsokkal Karakterlánc argumentummal Csomópont gyűjteménnyel <xsl:apply-templates select="key('custcode',customer/@code)"/> <xsl:apply-templates select="key('custcode',customer/@code)"/> <xsl:apply-templates select="key('prodcode',item/code)"/> <xsl:apply-templates select="key('prodcode',item/code)"/>
39
39 4. DEMÓ
40
40 Egyedi azonosítók gyártása
41
41 5. DEMÓ
42
42 Tippek Definiáljuk az alap URI-t a document() függvényhez Használjunk kulcsokat
43
43 Az előadás tartalma Bevezetés az XSLT-be Sablon szabályok Fejlett sablon szabályok Stíluslapok kombinálása A dokumentum tartalom sorbarendezése A kimenet testreszabása Stíluslapok beszúrása és importálása
44
44 A következő előadás tartalma Web szolgáltatások WSDL WS-profilok
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.