1 / 31

Obiektowe metody projektowania systemów

Obiektowe metody projektowania systemów. XML eXtensible Markup Language. Wstęp: XML. XML – e X tensible M arkup L anguage Stworzony aby opisać dane - Zapewnia informacje strukturalne i semantyczne - Rozszerzalny Zrozumiały dla ludzi, łatwo przetwarzalny dla komputera

suchi
Download Presentation

Obiektowe metody projektowania systemów

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. Obiektowe metody projektowania systemów XML eXtensible Markup Language

  2. Wstęp: XML • XML – eXtensible Markup Language • Stworzony abyopisaćdane - Zapewnia informacje strukturalne i semantyczne - Rozszerzalny • Zrozumiały dla ludzi, łatwo przetwarzalny dla komputera • Niezależny od Software i Hardware • Otwarty i ustandaryzowany przez W3C • Idealny dla wymiany danych

  3. Plan prezentacji • Dokument XML • Struktura Danych • Syle CSS 1, 2 • XSL • Typy dokumentu (DTD) • Zastosowanie: XHTML, XMMP(Jabber) • Document Object Model (DOM) • Data Modeling with XML

  4. „Płaskie dane” (flat files) • … • …; • Jan Kowalki, • jkowal@agh.edu.pl.edu, • +48 12 617 77 77, • 116777; • … • …

  5. Dokument XML - elementy <?xml version="1.0" standalone ="yes"?> <people> <person> <name>Jan Kowalki</name> <email>jkowal@agh.edu.pl.edu</email> <phone>+48 12 617 77 77</phone> <id>116777</id> </person> </people>

  6. Wygląd w przegladarce

  7. XML – zasady • Nazwy znaczników: • wewnątrz wszystkie znaki • pierwsza litera, cyfra lub ‘_’ • BRAK białych znaków • Przykłady: • <HELP></HELP> • <Książka></Książka> • <volume1></volume1> • <sekcja.akapit></sekcja.akapit> • <Ewa_Ada></Ewa_Ada> • <_8ball></_8ball> • Ale też: • <Help/> • <volume1/> Znaczniki nie mogą się przeplatać! <pre><kod>n:=n+1;</pre></kod> ZLE! <kod><pre>n:=n+1;</pre></kod>

  8. Korzyści ze stosowania XML • Dane same się opisują • Dane można przekształcać stosując standardowe narzędzia • Dane można oglądać stosując standardowe narzędzia • Stosując różne arkusze stylów na te same dane można różnie spojrzeć

  9. Atrybuty <?xml version="1.0" standalone ="yes"?> <people> <personid ="116777"> <name>Jan Kowalki</name> <email>jkowal@agh.edu.pl.edu</email> <phone>+48 12 617 77 77</phone> </person> </people> <?xml version="1.0" standalone ="yes"?> <people> <person id = "116777" phone ="+48 12 617 77 77"> <name>Jan Kowalki</name> <email>jkowal@agh.edu.pl.edu</email> </person> </people>

  10. Atrybuty a znaczniki • Brak prostych reguł • Opieranie się na doświadczeniu • Wstępnie: • Dane powinny być trzymane w postaci elementów • Informacje o danych (metadane) w atrybutach

  11. Atrybuty większy przykład <offenders> <!--Listsalltrafficoffenders--> <offender id="024378449 "> <firstName>David</firstName> <middleName>Reuven</middleName> <lastName>Harel</lastName> <violation id=’12’> <code num=“232” category=“traffic”/> <issueDate>2001-11-02</issueDate> <issueTime>10:32:00</issueTime> Ranaredlightat Arik &amp; Benz st. </violation> </offender> </offenders>

  12. CSS Layer 1,2 • CSS - Cascading Style Sheets • Pozwala przypisać poszczególnym elementom XML charakterystykę • (np. forma czcionek, rozkład ramek) • Rozdziela formę od treści (przechowuje dane w osobnym dokumencie – arkuszu stylów)

  13. CSS - Przykład Dodawanie arkusza stylów do dokumentu XML <?xml-stylesheet type="text/css" href= "person.css" ?> Przykład: • person {display:block; padding: 10px} • name {display:block; font-weight:bold} • email {display:block; font-style:italic} • phone {display:block} • id {display:block; font-size:9px}

  14. CSS - Wyniki Po: Przed: Dużo więcej możliwości !!!

  15. Przekształcenia XSL XSL – eXtensible Style Language Język przekształceń i formatowania (aplikacja XML) Definiowanie reguł opisujących sposób przekształcania jednego dokumentu XML na inny dokument Przekształcenia: Podmiana jednych znaczników na inne. Np.: - XML->HTML+CSS, - zmienić kolejność elementów, - dodawać nowe treści Formatowanie: Umożliwia określenie wyglądu i układu strony Np.: - otaczanie obiektów przez tekst - ustalanie odstępów międzywierszowych - zaawansowane ustawienia czcionki SŁABO OBSŁUGIWANY

  16. XSL – Przykład użycia HTML: <ul> <li >Jan Kowalki</li> <li>jkowal@agh.edu.pl</li> <li>+48 12 617 77 77</li> <li>116777</li> </ul> XSL: <xsl:for-each select="person"> <ul> <li><xsl:value-of select="name"/></li> <li><xsl:value-of select="email"/></li> <li><xsl:value-of select="phone"/></li> <li><xsl:value-of select="id"/></li> </ul> </xsl:for-each>

  17. XSL - XHTML <?xml version="1.0" ?> <html xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <head> <title>Lista obecnosci</title> </head> <body> <xsl:for-each select="people"> <h2>LISTA OBECNOSCI:</h2> <xsl:for-each select="person"> <ul> <li><xsl:value-of select="name"/></li> <li><xsl:value-of select="email"/></li> <li><xsl:value-of select="phone"/></li> <li><xsl:value-of select="id"/></li> </ul> </xsl:for-each> </xsl:for-each> </body> </html> Należy dodać do pliku *.xml : <?xml-stylesheet type="text/xsl" href=„person.xsl"?>

  18. XSL – XHTML cd. W przeglądarce: Bardzo duże możliwości!!!

  19. XSL i CSS Można łączyć CSS z XSL !!

  20. DTD - document type definition XML jest językiem metaznaczników, czyli językiem opisu innych języków znacznikowych. DTD – document type definition DTD - pozwala definiować języki znacznikowe (zestawy znaczników) , pozwala walidować dokumenty

  21. DTD - Przykład <?xml version="1.0" standalone ="yes"?> <!DOCTYPE people[ <!ELEMENT people (person*)> <!ELEMENT person (name, email, phone, id)> <!ELEMENT name (#PCDATA)> <!ELEMENT email (#PCDATA)> <!ELEMENT phone (#PCDATA)> <!ELEMENT id (#PCDATA)> ]> <people> <person> <name>Jan Kowalki</name> <email>jkowal@agh.edu.pl.edu</email> <phone>+48 12 617 77 77</phone> <id>116777</id> </person> </people>

  22. DTD – Po co? • Dlaczego tak: • Może służyć jako schemat dla XML • Ustrzega przed błędami • Pomaga w tworzeniu/przekształcaniu • Można ustalić standard DTD wymiany informacji • Dlaczego nie: • Brak standardu ( łatwość zmian* ) • Brak nakładu na walidacje dokumentów

  23. XML – Przykłady zastosowania • XMPP - Extensible Messaging and Presence Protocol (Jabber) <message to='romeo@example.net' from='juliet@example.com/balcony' type='chat' xml:lang='en'> <body>Wherefore art thou, Romeo?</body> </message> • SVG - Scalable Vector Graphics <svg width="300" height="300"> <rect width="300" height="100" style="fill:rgb(0,0,255);stroke-width:1; stroke:rgb(0,0,0)"/> </svg> • XHTML, MathML …

  24. DOM - Document Object Model Document Object Model (DOM) jest interfejsem programowania (API) dla dokumentów HTML oraz XML. Definiuje on logiczną strukturę dokumentu oraz zestaw metod do odwoływania się do dokumentów oraz manipulowania nimi. Programiści wykorzystując interfejs DOM mają możliwość tworzenia dokumentów, nawigowania nimi, dodawania, modyfikowania lub usuwania treści, mogą też implementować DOM jako platformę dostępu do baz danych lub jako interfejs zamiast standardowego API.

  25. Strukturalny model DOM <people> <person> <name>Jan Kowalki</name> <email>jkowal@agh.edu.pl.edu</email> <phone>+48 12 617 77 77</phone> </person> </people>

  26. Węzły <P>To też jest paragraf</P> <P>To też jest <B>paragraf</B></P> node – (węzeł) jest nim każdy element, jego atrybut, czy tekst, czymkolwiek by nie był element - reprezentację dla każdego znacznika <TAG> attribute - jest atrybutem znaczników

  27. Przykład - DOM Class Hierarchy <<interface>> NodeList <<interface>> Node <<interface>> NamedNodeMap <<interface>> Document <<interface>> CharacterData <<interface>> Element <<interface>> Attr <<interface>> Text <<interface>> Comment

  28. DOM – przykład

  29. Podsumowanie: Podsumowanie Przyszłość

  30. Bibliografia: • Elliotte Rusty Harold.: XML, Helion, 2000 • http://www.w3.org/ • http://www.wodzu.maciaszek.pl/dom/ • Notepad2 -http://www.flos-freeware.ch/

  31. ...i to by było tyle na dzisiaj!

More Related