Fejlett Programozási Technikák 2.

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.
Hálózati és Internet ismeretek
Grafikus tervezőrendszerek programozása 10. előadás.
Programozás III STRING-XML.
Extensible Markup Language
2010/2011.Huszár István1. dia Weboldalak tervezése II. (X)HTML.
Bemutatkozik az XML.
JavaScript.
A Windows 7 automatizált telepítése Windows AIK használatával
Fejlett programozási technikák II.
Előadás vázlat Az XML története és alkalmazási területe
HTML nyelv.
STÍLUSOK Tulajdonságok és értékek. Színek megadási módjai H1 {color: #CCF150} H1 {color: rgb(204,241,80)} H1 {color: rgb(80%,95%,30%)} H1 {color: red}
Leírónyelvek: HTML és XHTML
© BZ, 2006Stíluslapok használata1 Váltsunk stílust! Stíluslapok a webszerkesztésben.
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.
Készítette: Nagy-Szakál Zoltán 2007.
XML alapok 2. XML hibaellenőrzés XML a böngészőkben XML parser
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 WEB-DB és XML ME Általános Informatikai Tsz. dr. Kovács László.
ESzabványok Workshop 1. előadás: Bevezető, eAdatmodell október 13.
XML támogatás adatbázis-kezelő rendszerekben
CSS.
Webes Információs Rendszerek fejlesztése
1.NET web szolgáltatások XSLT Bilicki Vilmos
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.
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
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.
Fejlett Programozási Technikák 2.
Alkalmazott Informatikai Tanszék
A BCD használata üzleti partnerek felkutatásához
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.
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. 14/2

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

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