Obiektowe metody projektowania systemów XML eXtensible Markup Language
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
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
„Płaskie dane” (flat files) … …; Jan Kowalki, , ; …
Jan Kowalki Dokument XML - elementy
Wygląd w przegladarce
XML – zasady Nazwy znaczników: - wewnątrz wszystkie znaki - pierwsza litera, cyfra lub ‘_’ - BRAK białych znaków Przykłady: Ale też: Znaczniki nie mogą się przeplatać! n:=n+1; ZLE! n:=n+1;
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ć
Atrybuty Jan Kowalki Jan Kowalki
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
Atrybuty większy przykład David Reuven Harel :32:00 Ran a red light at Arik & Benz st.
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)
CSS - Przykład Dodawanie arkusza stylów do dokumentu XML person {display:block; padding: 10px} name {display:block; font-weight:bold} {display:block; font-style:italic} phone {display:block} id {display:block; font-size:9px} Przykład:
CSS - Wyniki Przed: Po: Dużo więcej możliwości !!!
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
XSL – Przykład użycia Jan Kowalki XSL: HTML:
XSL - XHTML Lista obecnosci LISTA OBECNOSCI: Należy dodać do pliku *.xml :
XSL – XHTML cd. W przeglądarce: Bardzo duże możliwości!!!
XSL i CSS Można łączyć CSS z XSL !!
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
DTD - Przykład <!DOCTYPE people[ ]> Jan Kowalki
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
XML – Przykłady zastosowania <message type='chat' xml:lang='en'> Wherefore art thou, Romeo? XMPP - Extensible Messaging and Presence Protocol (Jabber) <rect width="300" height="100" style="fill:rgb(0,0,255);stroke-width:1; stroke:rgb(0,0,0)"/> SVG - Scalable Vector Graphics XHTML, MathML …
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.
Strukturalny model DOM Jan Kowalki
Węzły To też jest paragraf node – (węzeł) jest nim każdy element, jego atrybut, czy tekst, czymkolwiek by nie był element - reprezentację dla każdego znacznika attribute - jest atrybutem znaczników
Przykład - DOM Class Hierarchy > Node > Text > Element > Document > Comment > CharacterData > NodeList > NamedNodeMap > Attr
DOM – przykład
Podsumowanie: Podsumowanie Przyszłość
Bibliografia: Elliotte Rusty Harold.: XML, Helion, Notepad2 -
...i to by było tyle na dzisiaj!