Fejlett Programozási Technikák 2.

Slides:



Advertisements
Hasonló előadás
Windows Virtualizáció
Advertisements

Zenetár a webszerverünkön, avagy XML használata PHP 5 alatt. Ercsey Balázs (laze) – netpeople.hu.
HTML nyelv Hiper-Text Markup Language 1. óra.
HTML nyelv.
Hálózati és Internet ismeretek
Grafikus tervezőrendszerek programozása 10. előadás.
Programozás III STRING-XML.
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
Extensible Markup Language
2010/2011.Huszár István1. dia Weboldalak tervezése II. (X)HTML.
Az Internet elemei és hozzáférési technológiái Az Internet architektúrája.
JavaScript.
A Windows 7 automatizált telepítése Windows AIK használatával
Adatbázis alapú rendszerek
Fejlett programozási technikák II.
A CLIPS keretrendszer CLIPS "C" Language Integration Production System.
Előadás vázlat Az XML története és alkalmazási területe
HTML nyelv.
Leírónyelvek: HTML és XHTML
Hernyák Zoltán XML validálás.
Hernyák Zoltán XML és HTML.
WEBOLDALFEJLESZTÉS
Ellenőrző kérdések a)Auto-indexing enabled b)Auto-indexing disabled c)Nem eldönthető 1.
WEB Technológiák Dr. Pance Miklós – Kolcza Gábor Miskolci Egyetem.
Közös kinézet Mester oldal, témák, skin-ek, css Webalkalkalmazás fejlesztése ASP.NET-ben Krizsán Zoltán.
Kliensoldali Programozás
Önleíró adatok: XML INFO ÉRA, Békéscsaba
Webszerkesztés Stíluslapok (CSS).
SOAP alapismeretek A SOAP egy egyszerű XML alapú protokoll, ami lehetővé teszi, hogy az alkalmazások információt cseréljenek a HTTP-én keresztül. Forrás:
WEB Technológiák ISAPI ME Általános Informatikai Tsz. dr. Kovács László.
WEB Technológiák WEB-DB és XML ME Általános Informatikai Tsz. dr. Kovács László.
XML támogatás adatbázis-kezelő rendszerekben
CSS.
Webes Információs Rendszerek fejlesztése
Rendelkezésre álló erőforrások pontos ismerete Kiosztott feladatok közel „valósidejű” követése Átláthatóság Tervezési folyamatok támogatása.
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.
Mobil informatika gyakorlat 2. óra: az NDEF formátum.
CSS A CSS bemutatása.
HTML nyelv.
Weboldalak tervezése (X)HTML.
Hernyák Zoltán XSLT transzformációk.
Web Architecture. Development of Computing Architectures Monolithic mainframe programming Client Server Real Client Server Web Programming.
HTML5 alapú fejlesztő és futtató környezet megvalósítása
XML adatkezelés 1. témakör Az XML szabvány.
Java web programozás 11..
Rugalmas, moduláris felépítés Rugalmas telepítés Jól tervezhető szerepkörök Folyamatos rendelkezésre állás Egyszerű felügyelet Elérés bárhonnan Postafiók.
A Microsoft Üzleti Intelligencia megoldása és platformja
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.
Készítette: Turócziné Kiscsatári Nóra
Blog Fülöp Dávid MCT, MCPD Egy blog sémája Use Case-ek – Blog áttekintése – Egy blogpost megtekintése – Blogpost írása – Blogpost.
Webprogramozó tanfolyam
HTML ÉS PHP (Nagyon) rövid áttekintés. ADATBÁZISRENDSZEREK MŰKÖDÉSI SÉMÁJA Felh. interakció DB Connector MySQL ? A gyakorlaton:
Spanyolország gyöngyszeme: GRANADA Egy hobby portál kivitelezése.
Mobil alkalmazások fejlesztése Vonalkód leolvasó Symbian alapú mobiltelefonra Készítette: Tóth Balázs Viktor.
Java web programozás 2..
4/1/2015 Cloud computing Dr. Bakonyi Péter.. 4/1/2015Cloud computing 2 Cloud definició A cloud vagy felhő egy platform vagy infrastruktúra Az alkalmazások.
Mobil alkalmazások fejlesztése Vonalkód leolvasó Symbian alapú mobiltelefonra Készítette: Tóth Balázs Viktor.
WLAN Biztonság Rádiusz hitelesítés Radius autentikáció
Kiss Tibor System Administrator (MCP) ISA Server 2006.
Alkalmazott Informatikai Tanszék
Web Technológiák HTML 4.01 World Wide Web Consortium
“Tudásmegosztás és szervezeti problémamegoldás a mesterséges intelligencia korában” Levente Szabados Technológiai Igazgató.
Fejlett Programozási Technikák 2.
Fejlett Programozási Technikák 2.
A CLIPS keretrendszer
Ubuntu – ismerkedés Fájlok és könyvtárak
Cascading Style Sheet.
Lívia Vasas, PhD 2018 Disszertációk Lívia Vasas, PhD 2018.
Microsoft SQL licenselés a gyakorlatban
Lívia Vasas, PhD 2019 Disszertációk Lívia Vasas, PhD 2019.
Előadás másolata:

Fejlett Programozási Technikák 2. 7/3

A mai előadás tartalma: CSS XML DTD XPath XSLT WEBdav SyncML WAP WML

Problémák Tartalom, formázás egyveleg HTML formázó készlet szegényes HTML a dokumentum szerkezetét adja A böngészőre volt bízva a megjelenítés Netscape, IE, új elemek Egységes megoldás CSS

A CSS Előnyei Tartalom, formázás elkülönül Nyílt szabvány Sok böngésző támogatja Stílust definiál Megkönnyíti a munkát

Definiálható HTML elemen belül HTML dokumentum fejrészében Külső css fájlban Több külső css fájlban

Érvényesítési sorrend Böngésző alapértelmezett css Külső css Fejrész css Egyes elemekben definiált

A CSS bejegyzés felépítése Választó Tulajdonság Érték

Példa Body { color:yellow } p { font-family:”sans serif” } P text-align: center; color: black; font-family: arial h1, h2, h3, h4, h5, h6 { color: green}

Hivatkozások: Class p.jobb {text-align: right} p.kozep {text-align: center} … <p class=”jobb”>Ez a bekezdés jobbra lesz igazítva<p> <p class=”bal”>Ez a bekezdés jobbra lesz igazítva<p>

Hivatkozások: Általános .kozep {text-align: center} <input type=”text” class=”kozep”> <p class=”kozep”>Középre igazítva</p>

Hivatkozások: id #intro { font-size:110%; font-weight:bold; color:#0000ff; background-color:transparent } p#intro

Definiálás Külső oldal: Fejrészben: Az adott elemnél: <head> <link rel="stylesheet" type="text/css" href="minta.css" /> </head> Fejrészben: <style type="text/css"> hr {color: sienna} p {margin-left: 20px} body {background-image: url("images/back40.gif")} </style> Az adott elemnél: <p style="color: sienna; margin-left: 20px"> Ez egy bekezdés</p>

Formázási lehetőségek Háttér Szöveg Betű Keretvonal Margó Listák …

Dokumentum leíró nyelvek SGML (bonyolult) HTML Előre definiált elemkészlet Csak megjelenítés Hibakezelés (<li>, 30%)

Megoldás: XML Nincs nyelvtana Nincs elemkészlete Tetszőleges nyelvtan Tetszőleges elemkészlet Nagyon rugalmas Saját jelölő nyelv

7 indok az XML használatára Meta nyelv Szöveg alapú Ideális struktúrált dokumentumaink számára Megjelenítés semleges Többnyelvű Segít az üzleti alkalmazások integrálásában Nyitott szabvány XML is a meta language! XML can define and describe any kind of information. XML is, by definition, extensible. Users, user groups and standardization bodies use XML as a type of a platform-independent grammar to define markup languages for specific purposes and schemas for all kinds of data models. XML bridges the gap between document-oriented and record-oriented processing. 2 XML is text-based and easy to read! Documents can be read by applications and humans. By definition, XML document content is marked up with tags. Tags such as <ProductNo> or <Price> clearly specify which type of information a document element contains. As these tags are contained in each document, XML documents can be understood without the application that created them. Humans can read XML, too, because XML documents are plain ASCII (or UNICODE) text, a fact that makes maintenance easy. 3 XML is ideal for structured documents! XML documents are hierarchically structured! XML document elements can be nested to build complex information structures. In principle, converting complex XML documents for use with relational technology is possible, but this is far from being optimal. Mapping XML elements to and from relational tables is a slow process and most certainly requires a great deal of  normalization and optimization effort before an XML document can be stored properly. 4 XML is presentation neutral! XML separates document content from presentation. Stylesheets define how the document elements are formatted for output on a variety of display or other devices. Stylesheets can be applied to any given XML document. XML and associated co-standards allow to personalization of a given piece of information without the need to modify the original document content. 5 XML is multilingual! XML is based on Unicode. The ability to represent characters in almost all the world's languages - including Chinese and Japanese - facilitates document and data interchange in a multilingual community.XML tools do not generally have to be re-written to support text authored in Far Eastern languages, making most Western XML products immediately useful worldwide. 6 XML helps integration of businesses!  XML lowers the barriers of worlwide e-business networks. Current Electronic Data Interchange (EDI) solutions are difficult and expensive to implement and maintain. With XML's flexibility in defining industry-specific vocabularies, it is even possible for small and medium-sized businesses to access EDI networks using simple, off-the-shelf Internet standards. 7 XML is open!    Standards are supported by all major vendors. Large IT companies such as IBM, Microsoft, Oracle, Software AG, Sun Microsystems, and others have all heavily invested in XML and are actively contributing to the standardization process.

Feladatok melyeket XML-el érdemes megoldani Adatok elosztása cégen belül Konfigurációs állományok Ideiglenes adatok átvitele (EDI, B2B) Adatgyűjtés, feldolgozás Kliensfüggő kimenet

Feladatok melyekre nem az XML a legalkalmasabb Nagy mennyiségű adat tárolása a merevlemezen Olyan adatok kezelése egy alkalmazáson belül melyek nem kerülnek ki Függvény hívásnál paraméterként

XML nyelvcsalád XML Adatleíró nyelv DTD XML Shema XSL, XSLT Xpath XQL XML/EDI XML-RPC …

XML Feladata az adatok strukturált leírása. XML az ASCII a 21. század számára Minimális formai követelmények <Feladat sorszam="14"> <vegrahajto>Kardos Katalin</vegrahajto> <megbizo>Nagy Emese</megbizo> <hatarido>2002.05.01</hatarido> </Feladat>

DTD Document Type Definition Definiálja a dokumentum: Szintaktikáját Szemantikáját Ipari DTD <!ELEMENT ul (li)+> <!ELEMENT ol (li)+> <!ELEMENT li (#PCDATA)>

Együttműködés adatbázisokkal XML Shema XML szintaxist használ A legismertebb adattípusokat támogatja Saját adattípusokat definiálhatunk XML névteret használ Együttműködés adatbázisokkal <?xml version = "1.0" ?> <schema xmlns = "http://www.w3.org/2001/XMLSchema">    <element name = "Customer">       <complexType>          <sequence>             <element name = "FirstName" type = "string" />             <element name = "MiddleInitial" type = "string" />             <element name = "LastName" type = "string" />          </sequence>       </complexType>    </element> </schema>

XSL XML alapú sablon XSLFO (Formatting Objects) Papír kimenet A kimenet lehet pl.: pdf XSLT (XSL Transformations) Programozási módszer Beépített vezérlési struktúrák

XSLFO példa <xsl:template match="chapter"> <fo:flow> <xsl:apply-templates/> </fo:flow> </xsl:template> <xsl:template match="chapter/title"> <fo:block font-size="18pt" font-weight="bold" text-align="centered"> </fo:block> <xsl:template match="para"> <fo:block font-size="12pt" space-before="1pc" text-align="justified"> <xsl:template match="emphasis"> <fo:inline font-style="italic"> </fo:inline>

XSLT péda <?xml version="1.0" encoding="ISO-8859-2"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/"> <html> <body> <xsl:value-of select="."/> </body> </html> </xsl:template> </xsl:stylesheet>

XPath Az XML dokumentum részeinek címzésére szolgál  <AAA>           <BBB/>           <CCC/>           <BBB/>           <DDD>                <BBB/>           </DDD>           <CCC>                <DDD>                     <BBB/>                     <BBB/>                </DDD>           </CCC>      </AAA> XPath kifejezés: //BBB

XQL XML Query Language Az XSL kiterjesztése Csomópontok azonosítása szűrése front/author/address/@type='email'

XML/EDI EDI az e-commerce nagyapja XML/EDI Elektronikus üzenetcsere (nem manuális) Struktúrált adatok cseréje Dokumentum csere automatizálása Változások nehéz követése (párhuzamos rendszerek) Költséges XML/EDI Rugalmas környezet Számítógép számára is értelmezhető Olcsó

EDI

XML/EDI

XML-RPC Távoli eljárás hívás HTTP protokoll mint átviteli közeg XML formátum Egyszerű Perl, Java, Python, C, C++, PHP nyelveken használható

Példa python> import xmlrpclib python> server = xmlrpclib.Server("http://betty.userland.com/RPC2") python> server.examples.getStateName(41) <methodCall> <methodName>examples.getStateName </methodName> <params> <param> <value> <int>41</int> </value> </param> </params> </methodCall>

XML Szabályok Jelölőelemeket használ Minden kezdőelemhez tartozik záró Az elemek egymásba ágyazhatóak Nem metszhetik egymást az elem párok Kötelező a gyökér elem US-ASCII kódolás, ha nem azt jelezni kell Érzékeny a kis és nagy betűkre Nem kötelező de jó ha van hozzá DTD és azt betartja Jól formázott Érvényes

Szerkezet PI DTD Fejléc Törzs <?xml version="1.0"?> <!DOCTYPE Feladat SYSTEM "DTD\feladat.dtd"> <Feladat sorszam="14"> <vegrahajto>Kardos Katalin</vegrahajto> <megbizo>Nagy Emese</megbizo> <hatarido>2002.05.01</hatarido> <megoldva v=”i”/> </Feladat> DTD Fejléc Gyökér elem Törzs

Elemek <elem tulajdonság=”valami”> érték </elem> Nyitó elem Záró elem Záróelem nélküli elem

Elemek tulajdonságai 1) 2) <személy nem=”nő"> <személy> <keresztnév>Anna</keresztnév> <vezetéknév>Smith</vezetéknév> </személy> 2) <személy> <nem>nő</nem> <keresztnév>Anna</keresztnév> <vezetéknév>Smith</vezetéknév> </személy> A tulajdonságok nem tartalmazhatnak egyszerre több adatot (a gyermek elemek igen). A tulajdonságok nem bővíthetők olyan egyszerűen, mint a gyermek elemek. A tulajdonságok adatai nem rendezhetők struktúrákba (a gyermek elemek adatai igen) A tulajdonságokat nehezebb kezelni a programokban. A tulajdonságok helyességet nehezebb ellenőrizni Tulajdonságot akkor érdemes használni ha az a feldolgozás szempontjából jelent plusz információt

Karakterek megkülönbözteti a kis és nagy betűket XML értelmezők nem veszik ki az adatokból a többszörös kihagyás jellegű (white space) karaktereket. Elemek nevei tartalmazhatnak bármilyen karaktert, a következő szabályok figyelembevételével: Elem név nem tartalmazhat kihagyást (space). Elem név nem kezdődhet számmal valamint aláhúzás karakterrel. Elem név nem kezdődhet az XML karakter sorozattal Elem névben nem ajánlott a mínusz (-) és a pont (.) karakter valamint a szintén nem ajánlott a kettőspont (:) mert speciális jelentése van. Nincs fenntartott szó Az elemek értéke nem tartalmazhatja a következő karaktereket: &, ”, ’, >, < helyettük : &amp, &quot, &apos, &gt, &lt CDATA segítségével bármilyen szöveget tartalmazhat: <minta> <![CDATA[ <aaa>bb&cc<<<]] </minta>

Névtér Probléma: Megoldás előtétel: <Dokumentum> <méret>4 adat</méret> <típus>XML</típus> <doc> <ruha> <típus>póló</típus> <szín>sárga</szín> <méret>XXL</méret> <forma>hagyományos</forma> </ruha> </doc> </Dokumentum> <doc:Dokumentum> <doc:méret>4 adat</doc:méret> <doc:típus>XML</doc:típus> <doc:doc> <adat:ruha> <adat:típus>póló</adat:típus> <adat:szín>sárga</adat:szín> <adat:méret>XXL</adat:méret> <adat:forma>hagyományos</adat:forma> </adat:ruha> </doc:doc> </doc:Dokumentum>

Névtér URI xmlns <?xml version="1.0"?> <!DOCTYPE Feladat SYSTEM "DTD\feladat.dtd"> <Pelda1:Feladat xmlns:Pelda1="http://wilma.cab.u-szeged.hu :8080/cocoon/pelda1.xml"> <Pelda1:vegrahajto>Kardos Katalin</Pelda1:vegrahajto> <Pelda1:megbizo>Nagy Emese</Pelda1:megbizo> <Pelda1:hatarido>2002.05.01</Pelda1:hatarido> </Pelda1:Feladat>

XML értelmezése DOM (Document Object Modell) alapú Memóriában tárolt fa SAX (Simple API for XML) alapú elemzők Csak az aktuális elemet látjuk Események generálódnak Eseménykezelő metódusok

DTD Öndokumentálás Nyelvtan Elemkészlet Hibadetektálás (B2B)

Példa <!ELEMENT Pelda1:Feladat (Pelda1:vegrehajto, Pelda1:megbizo, Pelda1:hatarido)> <!ELEMENT Pelda1:vegrehajto (#PCDATA)> <!ELEMENT Pelda1:megbizo (#PCDATA)> <!ELEMENT Pelda1:hatarido (#PCDATA)>

Ismétlődés operátorok Nincs Pontosan egyszer kell szerepelnie ? Egyszer vagy egyszer sem + Legalább egyszer * Akárhányszor (0 is) <!ELEMENT Pelda1:Feladat ((Pelda1:vegrehajto, Pelda1:hatarido))+, Pelda1:megbizo)>

Tulajdonságok <!ATTLIST feladat munkahely (irinyi|arpadter)> Módosító: #IMPLIED -- Nem feltétlenül szükséges. #REQUIRED -- Szükséges. #FIXED -- Kötelező a jelenléte és az értéke egyaránt. ”alapértelmezett érték”

XML Schema XML elemkészletet és nyelvtant definiál XML szintaxist használ (SAX,DOM) A legtöbb programnyelvben használt adattípusokat használhatjuk A névterek használata lehetővé teszi több séma egybeolvasztását

XPath Segítségével megcímezhető egy XML dokumentum egy adott része Szintakszisa nem XML alapú Az XPath értelmezésében egy XML dokumentum 7 féle részből állhat, ezek: Gyökér csomópontok (root nodes) csomópontok (element nodes) szöveges csomópontok (text nodes) tulajdonságok (attribute nodes) névterek(namespace nodes) vezérlési utasítások (processing instruction nodes) megjegyzések (comment nodes) Eredmény: csomópontok egy csoportja logikai érték (igen vagy nem) szám vagy szöveg.

XPath szintaxis / Hasonlít a fájlrendszer elérési útvonlához / az abszolút útvonal az adott elemig Példa: /AAA/CCC <AAA>           <BBB/>           <CCC/>           <BBB/>           <BBB/>           <DDD>                <BBB/>           </DDD>           <CCC/>      </AAA>

//, * Minden elemet kijelöl mely teljesíti a feltételeket: pl.: //BBB //DDD/BBB /AAA/DDD/* /*/*/BBB <AAA>           <BBB/>           <CCC/>           <BBB/>           <DDD>                <BBB/>           </DDD>           <CCC>                <DDD>                     <BBB/>                     <BBB/>                </DDD>           </CCC>      </AAA> <AAA>           <BBB/>           <CCC/>           <BBB/>           <DDD>                <BBB/>           </DDD>           <CCC>                <DDD>                     <BBB> <EEE/>                     <BBB/>                </DDD>           </CCC>      </AAA> <AAA>           <BBB/>           <CCC/>           <BBB/>           <DDD>                <BBB/>           </DDD>           <CCC>                <DDD>                     <BBB> <EEE/>                     <BBB/>                </DDD>           </CCC>      </AAA> <AAA>           <BBB/>           <CCC/>           <BBB/>           <DDD>                <BBB/>           </DDD>           <CCC>                <DDD>                     <BBB> <EEE/>                     <BBB/>                </DDD>           </CCC>      </AAA>

[],@ A []-be beírt szám megadja az elem pozicióját a last() az utolsót válsztja ki. Tulajdonságokat specifikálhatunk a @ segítségével /AAA/BBB[1] /AAA/BBB[last()] //@id //BBB[@id] <AAA>           <BBB/>           <BBB/>           <BBB/>           <BBB/>      </AAA> <AAA>           <BBB/>           <BBB/>           <BBB/>           <BBB/>      </AAA>      <AAA>           <BBB id = "b1"/>           <BBB id = "b2"/>           <BBB name = "bbb"/>           <BBB/>      </AAA>      <AAA>           <BBB id = "b1"/>           <BBB id = "b2"/>           <BBB name = "bbb"/>           <BBB/>      </AAA>

count(),name(),contains() count() megszámolja az elemeket name() a nevét adja vissza contains() tartalmazást ellenőriz pl: //*[count(*)=2] //*[contains(name(),'C')]      <AAA>           <BCC>                <BBB/>                <BBB/>                <BBB/>           </BCC>           <DDB>                <BBB/>                <BBB/>           </DDB>           <BEC>                <CCC/>                <DBD/>           </BEC>      </AAA> <AAA>           <CCC>                <BBB/>                <BBB/>                <BBB/>           </CCC>           <DDD>                <BBB/>                <BBB/>           </DDD>           <EEE>                <CCC/>                <DDD/>           </EEE>      </AAA>

parent::, ancestor::, following-sibling::, following:: parent:: a szomszédokat jelöli ki ancestor:: az ősöket jelöl ki following-sibling:: az utána következő testvéreket jelöli ki Following:: az utána következő csomópontokat jelöli ki Pl: //DDD/parent::* /AAA/BBB/DDD/CCC/EEE/ancestor::* /AAA/BBB/following-sibling::* /AAA/XXX/following::*     <AAA>           <BBB>                <DDD>                     <CCC>                          <DDD/>                          <EEE/>                     </CCC>                </DDD>           </BBB>           <CCC>                <DDD>                     <EEE>                          <DDD>                               <FFF/>                          </DDD>                     </EEE>                </DDD>           </CCC>      </AAA>      <AAA>           <BBB>                <DDD>                     <CCC>                          <DDD/>                          <EEE/>                     </CCC>                </DDD>           </BBB>           <CCC>                <DDD>                     <EEE>                          <DDD>                               <FFF/>                          </DDD>                     </EEE>                </DDD>           </CCC>      </AAA> <AAA>           <BBB>                <CCC/>                <DDD/>           </BBB>           <XXX>                <DDD>                     <EEE/> </DDD>           </XXX>           <CCC>                <DDD/>           </CCC>      </AAA>  <AAA>           <XXX>                <DDD>                     <EEE/>                     <DDD/>                     <CCC/>                     <FFF/>                     <FFF>                          <GGG/>                     </FFF>                </DDD>           </XXX>           <CCC>                <DDD/>           </CCC>      </AAA>

XML megjelenítése CSS XSL/XSLT Egyszerű Nincs transzformáció Transzformációs nyelv XSLT Stílusleíró nyelv XSL

XSLT

Eszközök IE 6.0 Cocoon Java Servlet XML formátum XSLT feldolgozó Utófeldolgozó HTML, XHTML, WML, PDF, XSL:FO

Felépítése XSLT egy XML dokumentum; melynek névtere (http://www.w3.org/TR/REC-xml-names) A legtöbb stíluslap önálló Gyökere <xsl:stylesheet> vagy <xsl:transform>

Példa <xsl:stylesheet xmlns:xsl="http://www.w3c.org/1999/XSL/Transform" xmlns:Pelda1="http://wilma.cab.u-szeged.hu:8080/ cocoon/xslp1.xml"> <xsl:template match="Pelda1:Feladat"> ez kerül az adott elem helyére </xsl:template> </xsl:stylesheet>

Példa(XML) <?xml version="1.0" encoding="ISO-8859-2"?> <oldal> <cim>Hello</cim> <tartalom> <para>Ez egy bekezdés</para> </tartalom> </oldal>

Példa(XSLT) <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="oldal"> <html> <head> <title><xsl:value-of select="cim" /></title> </head> <body> <xsl:apply-templates /> </body> </html> </xsl:template> </xsl:stylesheet>

For-each <?xml version="1.0" encoding="ISO-8859-2"?> <oldal> <munkatársak> <név> <vezetéknév>Nagy</vezetéknév> <keresztnév>Tamás</keresztnév> </név> <vezetéknév>Szép</vezetéknév> <keresztnév>Ilona</keresztnév> <vezetéknév>Kiss</vezetéknév> <keresztnév>Tihamér</keresztnév> </munkatársak> </oldal>

For-each <?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="munkatársak"> <html> <head> </head> <body> <table border="1" cellspacing="0" cellpadding="8"> <tr> <td><b>Vezetéknév</b></td> <td><b>Keresztnév</b></td> </tr> <xsl:for-each select="név" > <td><xsl:value-of select="vezetéknév" /></td> <td><xsl:value-of select="keresztnév" /></td> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>

Eredmény

Sorbarendezés <?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="munkatársak"> <ul> <xsl:apply-templates select="név"> <xsl:sort select="vezetéknév"/> <xsl:sort select="keresztnév"/> </xsl:apply-templates> </ul> </xsl:template> <xsl:template match="név"> <li> <xsl:value-of select="vezetéknév"/> <xsl:text> </xsl:text> <xsl:value-of select="keresztnév"/> </li> </xsl:stylesheet>

Sorszámozás <?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="munkatársak"> <xsl:for-each select="név"> <xsl:sort select="vezetéknév"/> <xsl:sort select="keresztnév"/> <p> <xsl:number value="position()" format="1. "/> <xsl:value-of select="."/> </p> </xsl:for-each> </xsl:template> </xsl:stylesheet>

if <?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="oldal"> <table> <xsl:apply-templates/> </table> </xsl:template> <xsl:template match="név"> <tr> <td> <xsl:if test="keresztnév='Ilona'">---></xsl:if> </td> </tr> </xsl:stylesheet>

WEBdav Közös munka elősegítése Kompatíbilis a HTTP-vel Azonosítás Zárolás Tulajdonság kezelés Hierarchia kezelés Kompatíbilis a HTTP-vel

Metódusok PROPFIND -- lekérdezi az URI segítségével megcímezett erőforrás általunk megadott paramétereit. PROPPATCH -- manipulálja URI segítségével megcímezett erőforrás általunk megadott paramétereit. MKCOL -- segítségével tudunk új erőforrásokat, erőforráshalmazokat létrehozni GET, HEAD -- változatlan POST -- változatlan DELETE -- erőforrások, vagy erőforrások halmazának törlése, ha egyszerre többet szeretnénk törölni és egyet vagy többet nem tudunk törölni akkor egyet sem fog törölni. PUT -- erőforrásokat tölthetünk fel a szerverre, ha a megfelelő hierarchia már lére van hozva a MKCOL által COPY -- erőforrások, erőforráshalmazok másolását biztosítja beállítható mélységben MOVE -- hasonló mint a COPY csak törli az erőforrást LOCK – zárolás UNLOCK -- zárolás feloldása

Zárolás Shared Exclusive XML kód Paraméter továbbítás

Példa PROPPATCH /bar.html HTTP/1.1 Host: www.foo.com Content-Type: text/xml; charset="utf-8„ Content-Length: xxxx <?xml version="1.0" encoding="utf-8" ?> <D:propertyupdate xmlns:D="DAV:" xmlns:Z="http://www.w3.com/standards/z39.50/"> <D:set> <D:prop> <Z:authors> <Z:Author>Jim Whitehead</Z:Author> <Z:Author>Roy Fielding</Z:Author> </Z:authors> </D:prop> </D:set> <D:remove> <D:prop><Z:Copyright-Owner/></D:prop> </D:remove> </D:propertyupdate>

SyncML Tartalom szinkronizálás HTTP protokollra épül XML alapú Kliens-szerver Nyitott szabvány Mobile computing has an Achilles heel - data synchronization. All the popular mobile devices - handheld computers, mobile phones, pagers, laptops - synchronize their data with network applications, desktop calendars, and other locations where information is stored. This ability to access and update information on the fly is key to the pervasive nature of mobile computing. Yet, today, almost every device uses a different technology for performing data synchronization. By definition, mobile users are not always connected to a network and its stored data. Users retrieve data from the network and store it on the mobile device, where they access and manipulate the local copy of the data. Periodically, users reconnect with the network to send any local changes back to the networked data repository. Users also have the opportunity to learn about updates made to the networked data while the device was disconnected. Occasionally, they need to resolve conflicts among the updates made to the networked data. This reconciliation operation - where updates are exchanged and conflicts are resolved -is known as data synchronization. Data synchronization, then, is the process of making two sets of data look identical. For a mobile device, synchronization applies to the data that the mobile device stores locally. A data synchronization protocol defines the workflow for communication during a data synchronization session when the mobile device is connected to the network. The protocol must support naming and identification of records, common protocol commands to synchronize local and network data, and it can support identification and resolution of synchronization conflicts.

Függvények <Add> adat hozzáadás <Alert> értesíti a célt <Atomic> együtt kell végrehajtani <Copy> adatok másolása <Delete> adat törlése <Exec> program futtatása <Get> adat letöltése <Map>két adatkészlet közötti kapcsolat frissítése <Put> felmásolás <Replace> felülírás <Search> keresés <Sequence> a programok sorban hajtódjonak végre <Sync> két adathalmazt szinkronizál

Mobil rendszerek 530 millió előfizető 2001.ben 1000 millió 2004-ben A készülékek többsége alkalmas lesz multimédia befogadására (email,push,pull) A fejlesztések összefogása -> WAP fórum www.wapforum.org (a résztvevők rendelkeznek gyártókapacitás 90%-ával) WAP Wireless Application Protocol de-facto szabvány mely leírja a multimédiás adatok prezentálását és átvitelét

A siker titka ‘Killer’ alkalmazások Helyhez kötött: Válalati: Valós idejű közlekedési információk Esemény, étterem ajánlók Személyre szabott szolgáltatások …. Válalati: Email elérés Adatbázis elérés Információ frissítés (push) Pénzügyi szolgáltatások: Pénzügyi tranzakciók Számla fizetés … Utazási szolgáltatások: Menetrendek Foglalások Játékok

Problémák Eszköz: Hálózat: gyengébb CPU kisebb ROM, RAM korlátozott energia kicsi kijelző különböző beviteli eszközök Hálózat: kisebb sávszélesség nagyobb késleltetés kisseb kapcsolat stabilitás kevésbé megjósolható rendelkezésre állás Más a WAP felhasználók igénye mint az asztali számítógép használóké (ár, elérhetőség, feladatok) Ezek a tulajdonságok nem fognak jelentősen megváltozni a közeljövőben

WAP alkalmazás váz WAE User agent Push Multimedia Messaging Content Formats

WAP architektúra Felhasználja az eddigi technológiákat (HTTP -> WAP Gateway) Az átviteli réteg fölé épül így elfedi az átviteli technológiák közötti különbséget (SMS, GSM, USSD) UDP -> WDP TCP -> WTP TLS -> WTLS Micro Browser Hypermedia transfer Streaming Message Transfer

WAP architektúra

WAP rétegek

WML Kártyacsomag (Deck) Kártya (Card) <?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN” "http://www.wapforum.org/DTD/wml\_1.1.xml"> <wml> <card id="FC" title="Első Kártya"> <p> Helló Világ ! </p> </card> </wml>

Megjelenítés Nokia Mobile Internet Toolkit Cocoon

Formázás <?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card title="Formázás"> <p> egyszeru<br/> <em>kiemelt</em><br/> <strong>eros</strong><br/> <b>vastag</b><br/> <i>dolt</i><br/> <u>aláhúzott</u><br/> <big>nagy</big><br/> <small>kicsi</small> </p> </card> </wml>

Hivatkozások anchor elem go prev refresh <?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card id="elso" title="Elso"> <p> Az elso kártya <br/> <anchor title="Link">A másodikra! <go href="#masodik"/> </anchor></p> </card> <card id="masodik" title="Második"> <p>A második kártya. <anchor title="Link">Az előző! <go href="#elso"/> </wml>

Felhasználói bevitel input név érték típus (text,passwd) formátum cím sorrend

Formátum NNNNN\-NNN A -- minden nagybetűt engedélyez a -- minden kisbetűt engedélyez N -- minden számot engedélyez X -- minden nagybetűt és számot engedélyez x -- minden kisbetűt és számot engedélyez M -- mindent engedélyez *f -- bármennyi f típusú karaktert engedélyez (itt f a fenti értékeket veheti fel) nf -- n f típusú karaktert engedélyez (itt f a fenti értékeket veheti fel) \C -- a C vagy bármely más karaktert beilleszti az adott helyre NNNNN\-NNN

Select Select Options Optogroup <?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card id="elso" title="Első"> <p> <select name="csoport"> <option value="1">Elso csoport</option> <option value="2">Második csoport</option> </select> </p> </card> </wml>

Timer <?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card ontimer="wml1.wml"><timer value="30"/> <p>Ez 30 másodpecig látható utána a legelsö példának megfelelö oldal töltodik be</p> </card> </wml>

Változók <?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card id="c1"> <p> <select name="evfolyam"> <option value="3">Harmad éves</option> <option value="4">Negyed éves</option> </select> <a href="#c2" title="Tovább">Tovább</a> </p> </card> <card id="c2"> Az elözö oldalon a $evfolyam. évfolyamot választottad ki</p> </wml>