1 / 46

.NET web szolgáltatások

.NET web szolgáltatások. XSLT Bilicki Vilmos bilickiv@inf.u-szeged.hu www.inf.u-szeged.hu/~bilickiv. A z el őző előadás tartalma. ASP .NET felhasználó azonosítás IIS Név nélküli Alap Kivonatolt Windows beágyazott Űrlap alapú Microsoft Passport XML kezelés XML dokumentum

rowena
Télécharger la présentation

.NET web szolgáltatások

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. .NET web szolgáltatások XSLT Bilicki Vilmos bilickiv@inf.u-szeged.hu www.inf.u-szeged.hu/~bilickiv

  2. Azelőző előadás tartalma • ASP.NETfelhasználó azonosítás • IIS • Név nélküli • Alap • Kivonatolt • Windows beágyazott • Űrlap alapú • Microsoft Passport • XML kezelés • XML dokumentum • XPATH kifejezések • Bevezető • XPath adat modell • Navigálás a dokumentumban elérési utak segítségével • Operátorok és Függvények használata elérési utakban

  3. Az előadás tartalma • Bevezetés az XSLT-be • 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. Források • Microsoft 1913A official curriculum • http://www.gotdotnet.com/ • Eszköz • http://www.xmlcooktop.com/

  5. Bevezetés az XSLT-be • Az XSLT alkalmazási területei • Az XSLT mint deklaratív programozási nyelv • XSLT stíluslap struktúra • Minták definiálása • Stíluslapok statikus használata • Stíluslapok dinamikus használata • Demó

  6. Az XSLT felhasználási területei • W3C gondozza • XSL-ből származik • Egy XML dokumentum más struktúrájú domukentummá konvertálása • XML HTML-é konvertálása • XML szöveggé konvertálása • Adat szűrése, kinyerése, összefűzése

  7. XSLT mint deklaratív programozási nyelv • Szabályokon, nem eljárásokon alapul • A stílus lap szabályok bármilyen sorrendben végrehajthatóak • A stílus lap szabályok egymástól függetlenek lehetnek • A stílus lap szabályok független a bevitel, kimenet sorrendtől

  8. XSLT stíluslap struktúra • Egy <xsl:stylesheet> elem, vagy <xsl:transform> • Felső szintű elemek. Pl.: sablon szabályok • XSLT, Implementáció spec., Felh. Def. • Utasítás elemek <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> </xsl:stylesheet> <xsl:template match="/"> … … … </xsl:template> <xsl:apply-templates select="employees/employee" /> <xsl:template match="employee"> … … … </xsl:template> <xsl:value-of select="name" />

  9. Sablon szabályok definiálása • A csomópontok kiválasztása a <xsl:template> egyezés tuladjonságával • A gyökér elem sablon szabályának definiálása (megvalósítás függő) • Kimenet produkálása a <xsl:value-of> elemmel <xsl:template match= "/"> <xsl:value-of select="//employee"/> </xsl:template>

  10. Stíluslapok statikus használata • Stíluslap statikus használata egy XML dokumentumban • Használjuk a <?xml-stylesheet …?> elemet az XML dokumentumban • Adjuk meg a stíluslap helyét <?xml-stylesheet type="text/xsl" href="MySheet.xsl"?> <employees> … XML document content … </employees>

  11. Stíluslapok dinamikus használata • XslTransform használata (jelenleg) • XslCommand használata (2005) XslTransform xslttrans = new XslTransform(); xslttrans.Load(@"D:\users\bilickiv\dotnet\7es eloadas\stylesheet0701.xsl"); xslttrans.Transform(@"D:\users\bilickiv\dotnet\7es eloadas\demo0701.xml“ , @"D:\users\bilickiv\dotnet\7es eloadas\demo1eredmeny.txt", null); XsltCommand xslt = new XsltCommand(); xslt.OnMessageEvent += new QueryEventHandler(MessageCallBack); xslt.Compile("output.xsl"); xslt.Execute("books.xml", "books.html");

  12. DEMÓ 1 • Statikus XSLT sablon használat • Dinamikus XSLT sablon használat • Informatika weboldal

  13. Sablon szabályok • Sablon szabályok definiálása • Sablon tartalom definiálása • Több sablon szabály használata • Literális eredmény elemek használata

  14. Sablon szabályok definiálása • A <xsl:template> szintakszis a leggyakrabban alkalmazott elem • match vagy name • XSLT Fa Modell • Az XSLT transzformációk sorrendje • <apply-templates> • IE alap stíluslapja: • res://msxml3.dll/defaultss.xsl

  15. A sablon tartalom definiálása • <xsl:value-of> a csomópont szöveges értékét írja ki • <xsl:copy-of> a csomópont XML tartalmát írja ki <xsl:template match="employee"> <xsl:value-of select="name"/> <xsl:copy-of select="emergencycontact"/> </xsl:template> James Wilson <emergencycontact> <name>Kathryn Wilson</name> <relationship>Spouse</relationship> <contactnumber>425123456</contactnumber> </emergencycontact>

  16. Sablon szabályok definiálása <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <HTML><xsl:apply-templates/> </HTML> </xsl:template> <xsl:template match="employees"> <H1>Employees details</H1> <xsl:apply-templates/> </xsl:template> <xsl:template match="employee"> <xsl:value-of select="name"/>, <xsl:value-of select="salary"/> </xsl:template> </xsl:stylesheet>

  17. Szöveges eredmény elemek • HTML, szkript, vagyszövegmásolása a kimeneti fára • XSLT részeket értelmezi az értelmező • A névtér elemek kimásolódnak

  18. Fejlett sablon szabályok • Sablon szabály minták • Sablonok alkalmazása válogatott csomópontokra • Névterek használata stíluslapokban • Demó 2

  19. Sablon szabály minták • XPath kifejezések használata • A rekurzív művelet használata (//) • Boolean operátorok használata employees/employee/empname //employee/empname employees/employee[type='full' or type='part']

  20. Sablonok illesztése válogatott mintára • <xsl:apply-templates> alapértelmezett működése • A sablonokat a gyermek elemekre illeszti • Csak adott gyermek elemekre illeszteni: • Aselecttulajdonság segítségével <xsl:apply-templates> <xsl:template match="/"> <xsl:apply-templates select=”employee”/> </xsl:apply-templates>

  21. Névterek használata <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:nw="urn:nwtraders" xmlns:con="urn:contoso"> <xsl:template match="nw:employee"> <xsl:value-of select="nw:name"/> </xsl:template> <xsl:template match="con:employee"> <xsl:value-of select="con:surname"/>, <xsl:value-of select="con:given-name"/>, </xsl:template> </xsl:stylesheet>

  22. DEMÓ 2. • Apply-template • Néhány XPath kifejezés • Select

  23. Ajánlott megoldások • Használjunk explicit névtereket • Ez lehetővé teszi az elem nevek szabad használatát • Definiáljunk szabályokat a gyökér elemre • Ekkor biztosak lehetünk a kódunk működésében

  24. Tartalom sorbarendezése • Csomópontok rendezése • Több rendezési kulcs definiálása • A sorbarendezés finomítása • DEMÓ 3

  25. Csomópontok sorbarendezése • Az XSLT segítségével sorbarendezhetjük a csomópontokat • Használjuk a <xsl:sort> a <xsl:apply-templates> elemben • Példa • Minden <employee> elemre séma illesztés • A <employee> elemekrendezése <name> érték alapján <xsl:apply-templates select="employee"> <xsl:sort select="name"/> </xsl:apply-templates>

  26. Több rendező kulcs definiálása • Több kulcsot is definiálhatunk • Több <xsl:sort> elem segítségével • Példa • Rendezzük az <employee> elemeket <region> szerint • Majd az <employee> elemek azonos <region> elemben név szerint vannak rendezve <xsl:apply-templates select="employee"> <xsl:sort select="region"/> <xsl:sort select="name"/> </xsl:apply-templates>

  27. Rendezés finomítása • <xsl:sort> 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 <employee> elemeket <salary> elem alapján csökkenő sorrendben <xsl:apply-templates select="employee"> <xsl:sort select="salary" order="descending" data-type="number"/> </xsl:apply-templates>

  28. DEMÓ 3 • Sorbarendezés • Növekvő • Csökkenő • Többszintű

  29. A kimenet testreszabása • Számok formázása • A szám formátumok lokalizálása • A szóközök kezelése • Az eredmény dokumentum definiálása • XML kimenet definiálása • HTML és szöveg kimenet definiálása

  30. Számok formázása • A format-number() segítségével format-number(number, format-string) • Gyakori megoldások • 0 a szükségesés # az opcionális számra • Használjuk a ,-t mint csoportosító és a .-t mint decimális eválasztót format-number(12345.729, '#000') 12346 format-number(12345.729, '#,000.00') 12,345.73 • format-number() használata <xsl:value-of select="format-number(salary, '#.00')"/>

  31. Lokális szabályok • format-number()-ben • Használjuk a <xsl:decimal-format> -ot a lokalizált szám formátum definiálására • Példa <xsl:decimal-format name="Euro" grouping-separator="." decimal-separator=","/> format-number(1234.5, '#,000.00', 'Euro') 1.234,50

  32. <A><B>Hello</B> <C>World</C></A> • Szóköz eltávolítása <xsl:strip-space> • Szóköz megtartása <xsl:preserve-space> • Példák • Szóköz eltávolítása minden elemből A <xsl:strip-space elements="*"/> B C • Szóköz eltváloítása megadott csomópontokból <xsl:strip-space elements="name address"/> a white space node Hello World • Szóköz megtartása megadott csomópontoknál <xsl:strip-space elements="*"/> <xsl:preserve-space elements="paragraph heading"/> another text node a text node Szóköz kezelése

  33. Kimeneti formátum • Az XSLT stílus lapok két fázisban dolgozódnak fel: • Egy eredmény fa generálódik • Az eredmény fa a kimeneti dokumentumba íródik • A <xsl:output> segítségével megadhatjuk a kimenet típusát • XML kimenet • HTML kimenet • Szöveg kimenet <xsl:output method="xml"… /> <xsl:output method="html"… /> <xsl:output method="text"… />

  34. XML kimenet • Az XSLT két XML kimenet típust tud generálni • Jól formázott XML dokumentumokat • Külső álltalános egyedek • Az <xsl:output method="xml"/> elemben adhatjuk meg <xsl:output method="xml" encoding="iso-8859-1" indent="yes" cdata-section-elements="company script" doctype-system="employees.dtd"/>

  35. HTML, Szöveg kimenet • A <xsl:output method="html"/> segítségével lehet a HTML kimenetet testreszabni • A <xsl:output method="text"/> segítségével lehet a szöveget testreszabni <xsl:output method="html" encoding="iso-8859-1" indent="yes"/> <xsl:output method="text" encoding="us-ascii"/>

  36. DEMÓ 4. • Formázás • Számok • Szóközök • Kimenet testreszabása • XML • HTML • Szöveg

  37. <xsl:stylesheet…> … </xsl:stylesheet> Starter.xsl Stíluslapok beszúrása • Egy stíluslap felhasználhat másik stíluslapokat • Ugyanúgy kell használnunk őket • Példa … <xsl:stylesheet…> … </xsl:stylesheet> <xsl:include href="Starter.xsl"/> <!–– use included rules ––>

  38. <xsl:stylesheet…> … </xsl:stylesheet> Starter.xsl Stíluslapok importálása • Egy stíluslap felhasználhat másik stíluslapokat • Az importált stíluslapok felülírhatóak • Példa … <xsl:stylesheet…> </xsl:stylesheet> <xsl:import href="Starter.xsl"/> <!–– use or override imported rules ––>

  39. <xsl:stylesheet…> <xsl:template match="salary"> … </xsl:stylesheet> Starter.xsl Felülírt szabályok • Felülírás engedélyezése <xsl:apply-imports> • Példa: <xsl:stylesheet…> <xsl:import href="Starter.xsl"/> </xsl:stylesheet> <xsl:template match="salary"> </xsl:template> <B> <xsl:apply-imports/> </B>

  40. D.xsl B.xsl … … E.xsl F.xsl import F.xsl … Import sorrend • Több stíluslapot tudunk beilleszteni és importálni • Import precedence rules apply A.xsl import B.xsl New.xsl import A.xsl include C.xsl include E.xsl … C.xsl import D.xsl

  41. Tippek • Definiáljunk konzisztens numerikus formátumot • Ne használjuk az <xsl:output> elemet amíg nem szükséges • Az XSLT gyakran kitalálja a követelményeket • Definiáljunk könyvtárakat az atomi műveleteknek • Újrahasznosítás: <xsl:include>, testreszabás: <xsl:import> • Konzisztencia, skálázhatóság • Fejlesztési, karbantartási idő csökken

  42. Az előadás tartalma • Bevezetés az XSLT-be • 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

  43. A következő előadás tartalma ZH

  44. ZH tartalom • Web szolgáltatások • SOA • .NET platform • Architektúra • Objektumok • Meta Adatok • Futtató környezet • Szemétgyűjtő • ADO.NET • Adatközpontú alkalmazás • Csatlakozás adatforrásokhoz • Online műveletek • Offline műveletek

  45. ZH tartalom • ASP.NET • Web űrlapok • Vezérlés, megjelenítés elkülönítése • Követés, hibakeresés • Felhasználói bevitel ellenőrzése • Web űrlapok • Vezérlés, megjelenítés elkülönítése • Követés, hibakeresés • Felhasználói bevitel ellenőrzése • Saját vezérlők gyártása • Állapot kezelés • Gyorstár kezelés

  46. ZH tartalom • XPATH • XML dokumentum • XPATH kifejezések • Bevezető • XPath adat modell • Navigálás a dokumentumban elérési utak segítségével • Operátorok és Függvények használata elérési utakban • XSLT • Bevezetés az XSLT-be • 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

More Related