31
Obiektowe metody projektowania systemów XML eXtensible Markup Language

Obiektowe metody projektowania systemów

  • Upload
    suchi

  • View
    52

  • Download
    0

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: Obiektowe metody projektowania systemów

Obiektowe metody projektowania systemów

XMLeXtensible Markup Language

Page 2: Obiektowe metody projektowania systemów

Wstęp: XML

XML – eXtensible Markup Language

• Stworzony aby opisać 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

Page 3: Obiektowe metody projektowania systemów

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

Page 4: Obiektowe metody projektowania systemów

„Płaskie dane” (flat files)

……;Jan Kowalki, [email protected],+48 12 617 77 77,116777;……

Page 5: Obiektowe metody projektowania systemów

<?xml version="1.0" standalone ="yes"?><people>

<person><name>Jan Kowalki</name><email>[email protected]</

email><phone>+48 12 617 77

77</phone><id>116777</id>

</person></people>

Dokument XML - elementy

Page 6: Obiektowe metody projektowania systemów

Wygląd w przegladarce

Page 7: Obiektowe metody projektowania systemów

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>

Page 8: Obiektowe metody projektowania systemów

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ć

Page 9: Obiektowe metody projektowania systemów

Atrybuty

<?xml version="1.0" standalone ="yes"?><people>

<person id ="116777"><name>Jan Kowalki</name><email>[email protected]</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>[email protected]</email>

</person></people>

Page 10: Obiektowe metody projektowania systemów

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

Page 11: Obiektowe metody projektowania systemów

Atrybuty większy przykład

<offenders> <!-- Lists all traffic offenders --> <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> Ran a red light at Arik &amp; Benz st. </violation> </offender> </offenders>

Page 12: Obiektowe metody projektowania systemów

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)

Page 13: Obiektowe metody projektowania systemów

CSS - Przykład

Dodawanie arkusza stylów do dokumentu XML<?xml-stylesheet type="text/css" href= "person.css" ?>

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}

Przykład:

Page 14: Obiektowe metody projektowania systemów

CSS - Wyniki

Przed: Po:

Dużo więcej możliwości !!!

Page 15: Obiektowe metody projektowania systemów

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

Page 16: Obiektowe metody projektowania systemów

XSL – Przykład użycia

<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>

<ul><li >Jan Kowalki</li>

<li>[email protected]</li><li>+48 12 617 77

77</li><li>116777</li>

</ul>XSL:

HTML:

Page 17: Obiektowe metody projektowania systemów

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>

<?xml-stylesheet type="text/xsl" href=„person.xsl"?>Należy dodać do pliku *.xml :

Page 18: Obiektowe metody projektowania systemów

XSL – XHTML cd.

W przeglądarce:

Bardzo duże możliwości!!!

Page 19: Obiektowe metody projektowania systemów

XSL i CSS

Można łączyć CSS z XSL !!

Page 20: Obiektowe metody projektowania systemów

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

Page 21: Obiektowe metody projektowania systemów

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>[email protected]</email><phone>+48 12 617 77 77</phone><id>116777</id>

</person></people>

Page 22: Obiektowe metody projektowania systemów

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

Page 23: Obiektowe metody projektowania systemów

XML – Przykłady zastosowania

<message to='[email protected]'

from='[email protected]/balcony' type='chat' xml:lang='en'>

<body>Wherefore art thou, Romeo?</body> </message>

XMPP - Extensible Messaging and Presence Protocol (Jabber)

<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>

SVG - Scalable Vector Graphics

XHTML, MathML …

Page 24: Obiektowe metody projektowania systemów

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.

Page 25: Obiektowe metody projektowania systemów

Strukturalny model DOM

<people><person>

<name>Jan Kowalki</name><email>[email protected]</

email><phone>+48 12 617 77 77</phone>

</person></people>

Page 26: Obiektowe metody projektowania systemów

Węzły

<P>To też jest <B>paragraf</B></P> <P>To też jest paragraf</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

Page 27: Obiektowe metody projektowania systemów

Przykład - DOM Class Hierarchy

<<interface>>

Node

<<interface>>

Text

<<interface>>

Element<<interface>>

Document

<<interface>>

Comment

<<interface>>

CharacterData

<<interface>>

NodeList<<interface>>

NamedNodeMap

<<interface>>

Attr

Page 28: Obiektowe metody projektowania systemów

DOM – przykład

Page 29: Obiektowe metody projektowania systemów

Podsumowanie:

Podsumowanie

Przyszłość

Page 30: Obiektowe metody projektowania systemów

Bibliografia:

Elliotte Rusty Harold.: XML, Helion, 2000

http://www.w3.org/ http://www.wodzu.maciaszek.pl

/dom/

Notepad2 -http://www.flos-freeware.ch/

Page 31: Obiektowe metody projektowania systemów

...i to by było tyle

na dzisiaj!