1 / 31

WEB Technológiák

WEB Technológiák. WEB-DB és XML. dr. Kovács László. ME Általános Informatikai Tsz. XSL. A XML szabvány csak a tartalmat adja meg Nem tartalmaz megjelenítése vonatkozó elemeket XSL - stiluslap leíró nyelv XSLT - XSL átalakító nyelv CSS DSSSL . DTD. XML. XSL. XSLT feldolgozó. XSLT.

gen
Download Presentation

WEB Technológiák

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. WEB Technológiák WEB-DB és XML dr. Kovács László ME Általános Informatikai Tsz.

  2. XSL A XML szabvány csak a tartalmat adja meg Nem tartalmaz megjelenítése vonatkozó elemeket XSL - stiluslap leíró nyelv XSLT - XSL átalakító nyelv CSS DSSSL DTD XML XSL XSLT feldolgozó XSLT K.L.

  3. XSL XSL: formázó objektumok együttese XML jellegű formátum A formázás négyszögletes területekre bontottan történik http://www.w3.org/TR/NOTE-XSL XSL utasítás csoportok: - oldaltördelés, elrendezés - blokkok kezelése - soros elemek - táblázatok - listák - kapcsolatok XSL szabvány névtere: FO K.L.

  4. XSL Előtte valami <fo:inline-sequence text-decoration=”underline” vertical-align=”super” letter-spacing=”1pt” word-spacing=”2pt” text-transformation=”lowercase” text-shadow=”nomal”> Itt a Minta szöveg </fo:inline-sequence> Utána valami itt a minta szöveg Előtte valami Utána valami Kb. 50 elem és 300 attributum a leírás része K.L.

  5. XSLT XSLT: az XML dokumentumok XSL, HTML formátumra való konverzióját írja le XSLT lehetőségei: - előtagokkal és utótagokkal kiegészíti a tartalmat - elemeket lehet elhagyni, átsorolni, sorba rndezni - új elemek létrehozatala - kijelöli az elemek osztályaira vonatkozó XSL formátumozó elemeket DTD1 DTD2 XML XSLT feldolgozó stiluslap XML K.L.

  6. XSLT <?xml version="1.0" ?> <?xml-stylesheet href="x1.xsl" type="text/xsl"?> <babak> <baba> <nev>Anni</nev> </baba> <baba> <nev>Anni</nev> </baba> </babak> Az XML dokumnetumban hivatkozni kell az alkalmazandó stiluslapra K.L.

  7. XSLT <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <xsl:template match="/"> <I>GYOKER</I> </xsl:template> </xsl:stylesheet> A stiluslap megadja a konverzió menetét K.L.

  8. XSLT XSLT transzformációs elemek A feldolgozó felépíti a dokumentumhoz az elemek hierarchiáját, s s az illeszkedési minták alapján megkeresi mely elemeket hogyan kell átalakítania (átalakítás a gyökér elemmel kezdődik) Ügyelni a rekurzív folytatásra <xsl:template match=feltétel > ..... </xsl:template> <xsl:template match=”/”> <xsl:template match=”*”> <xsl:template match=”auto”> <xsl:template match=”auto/tulaj”> K.L.

  9. XSLT XSLT transzformációs elemek Gyerek elemek feldolgozása: <xsl:apply-templates/> <xsl:template match=”/”> <H1>Itt a gyoker</H1><BR> <xsl:apply-templates/> </xsl:template> <xsl:template match=”babak”> <H2>babak</H2><BR> <xsl:apply-templates/> </xsl:template> <xsl:template match=”baba”> <H3>babak</H3><BR> </xsl:template> K.L.

  10. XSLT XSLT transzformációs elemek A rekurziós feldolgozási lépések szűkítése bizonyos elemekre: <xsl:apply-templates select=”szelekciós feltétel” > A szelekciós feltétel XPATH szabványban adott XPATH feltételek enev enev1/enev2 enev1/*/enev2 enev[felt] enev[@a=e] K.L.

  11. XSLT XSLT transzformációs elemek Elem értékének kiiratása: <xsl:value-of/> Elemek rendezése <xsl:sort select=”ertek” /> <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <xsl:template match="/"><xsl:apply-templates/> </xsl:template> <xsl:template match="babak"> <xsl:apply-templates><xsl:sort/> </xsl:apply-templates> </xsl:template> <xsl:template match="baba"> <xsl:value-of/><BR/> </xsl:template> </xsl:stylesheet> K.L.

  12. XSLT XSLT transzformációs elemek Új elem létrehozása: <xsl:element namespace=”ns” name=”nm”> ... </xsl:element> <xsl:template match=”babak”> <xsl:element name=”kor” > <xsl:apply-templates/> </xsl:element> </xsl:template> <xsl:template match=”babak”> <xsl:element name=”kor” > </xsl:element> <xsl:apply-templates/> </xsl:template> K.L.

  13. XSLT XSLT transzformációs elemek <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <xsl:template match="/"> <xsl:apply-templates/> </xsl:template> <xsl:template match="babak"> <xsl:element name="I"> AA </xsl:element> <xsl:apply-templates/> </xsl:template> <xsl:template match="baba"> <xsl:value-of/><BR/> </xsl:template> </xsl:stylesheet> K.L.

  14. XSLT XSLT transzformációs elemek <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <xsl:template match="/"> <xsl:apply-templates/> </xsl:template> <xsl:template match="babak"> <xsl:element name="I"> AA <xsl:apply-templates/> </xsl:element> </xsl:template> <xsl:template match="baba"> <xsl:value-of/><BR/> </xsl:template> </xsl:stylesheet> K.L.

  15. XSLT XSLT transzformációs elemek Feltételes végrehajtás: <xsl:if test=”kif”>.....</xsl:if> Változó létrehozás: <xsl:variable name=”nv”>érték</xsl:variable> <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <xsl:template match="/"> <xsl:apply-templates/> </xsl:template> <xsl:template match="bab"><xsl:apply-templates/></xsl:template> <xsl:template match="baba"> <xsl:if test=" @tip='1' "> <HR/> </xsl:if> <xsl:value-of/><BR/></xsl:template> </xsl:stylesheet> K.L.

  16. SAX Az XML dokumentumok feldolgozó felülete SAX = Simple API for XML Az értelmező szekvenciálisan feldolgozza az XML dokumentumot, s minden fontosabb eseményről értesíti a kezelő programot callback mechanizmussal XML startElement Kezelő program SAX feldolgozó endElement K.L.

  17. SAX A feldolgozó biztosít egy osztálykönyvtárt, melyen keresztül lehet definiálni és elérhetővé tenni a callback kezelő függvényeket. Java minta környezet Fontosabb lépések: - dokumentum olvasó létrehozása - tartalomkezelő keret létrehozása - az eseménykezelő metódusok létrehozása - hibakezelő metódusok létrehozása K.L.

  18. SAX SAX kapcsolódási felületei: - Parser - DocumentHandler - AttributeList - ErrorHandler - Entity Resolver - Locator - DTDHandler A Parser az eldődleges felület, rajta keresztül lehet megadni a többi kezelő elemet Előre definiált osztályok K.L.

  19. SAX Dokumentum olvasó létrehozása import org.xml.sax.XMLReader; import org.apache.xerces.parsers.SAXParser ; .. public class SAXERT { public void kezelo(String URI) { ... XMLReader parser = new SAXParser(); ….. } public static void main(String[] args) { SAXERT pdemo = new SAXERT(); pdemo.kezelo(”...uri…”); } } K.L.

  20. SAX Dokumentum értelmezési folyamatának elindítása import org.xml.sax.SAXException; .. public void kezelo(String URI) { … try { XMLReader parser = new SAXParser(); parser.parse(); } catch (SAXException e) { } } K.L.

  21. SAX Tartalom kezelő keret létrehozása import org.xml.sax.Attributes; import org.xml.sax.ContentHandler; import org.xml.sax.Locator; ... Class Skezelo implements ContentHandler{ …kezelo metodusok } public void kezelo(String URI) { XMLReader parser = new SAXParser(); Skezelo Shand = new Skezelo(); parser.setContentHandler(Shand); parser.parse(uri); } K.L.

  22. SAX Esemény kezelő metódusok létrehozása Class Skezelo implements ContentHandler{ public void startDocument() { ... } throws SAXException (); public void endDocument() { ... } throws SAXException (); public void startElement() { ... } throws SAXException (); ... } K.L.

  23. SAX Esemény kezelő metódusok létrehozása - dokumentumban aktuális pozíció - dokumentum kezdete - dokumentum vége - elem kezdete - elem vége - prefix feldolgozás - karakter rész elérés - entity rész - direktivák - névterek - attributumok void startElement(String name, AttributeList atts) K.L.

  24. DOM Az XML jellegű dokumentumok feldolgozó felülete DOM = Document Object Model Az értelmező előállít egy olyan objektumot, amely az XML dokumentumot tartalmazza. A kezelő ezen objektum tulajdonságain, metódusain keresztül tud dokumentumkezelést végezni XML dokumentum objektum Kezelő program DOM feldolgozó K.L.

  25. DOM A feldolgozó biztosít egy osztálykönyvtárt, melyen keresztül lehet létrehozni és elérhetővé tenni a dokumentum objektumot Java minta környezet Fontosabb lépések: - dokumentum olvasó létrehozása - objektum létrehozása - dokumentum tagelemek elérése - dokumentum metódusok meghívása K.L.

  26. DOM Dokumentum olvasó létrehozása import org.apache.xerces.parsers.DOMParser; .. public class DOMERT { public void kezelo(String URI) { ... DOMParser parser = new DOMParser(); ….. } public static void main(String[] args) { DOMERT pdemo = new DOMERT(); pdemo.kezelo(”...uri…”); } } K.L.

  27. DOM Dokumentum objektum létrehozása import org.apache.xerces.parsers.DOMParser; .. public void kezelo(String URI) { … DOMparser parser = new DOMParser(); try { parser.parse(uri); Document doc = parser.getDocument() } catch (Exception e) { } } K.L.

  28. DOM Dokumentum objektum létrehozása Alap DOM interface: - DocumentFragment - Document - CharaterData - Text - Comment - Attr -Node - Element - DocumentType - Notation - Entity - Entitreference - ProcessingInstruction K.L.

  29. DOM Node elemek metódusai Navigációs műveletek - getFirstChild() - getNodeType() - getLastChild() - getNodeName() - getNextSibling() - getNodeValue() - getPreviousSibling() - getAttributes() - getParentNode() - getChildNodes() - getChildNodes() ... Műveletek -removeChild() - createElement() - insertBefore() - createTextNode() - appendChild() - createAttribute() - replaceChild() ... K.L.

  30. DOM String name = node.getNodeName(); System.out.print(”<” + name); NamedNodeMape atts = node.getAttributes(); for (int i=0; i<atts.getlength(); i++) { Node cur = atts .item(i); System.out.print (cur.getNodeName() + ”:” + cur.getNodeValue()); } NodeList ch = node.getChildNodes(); If (ch != null) { ... ch.item(i) ... } K.L.

  31. DOM <html> <body> <script language=”JavaScript”> function ellenoriz(){ var xDoc = new ActiveXObject(”Microsoft.XMLDOM”); xDoc.async = ”false”; xDoc.validateOnParse = ”true”; xDoc.load (this.beolv.xmlurl.value); if (xDoc.parseError.errorCode != 0 ){ document.write(”Feldolgozási hiba”+ xDoc.parseError.ErorCode); } else { window.open(this.beolv.xmlurl.value); } } </script> K.L.

More Related