XML – Extensible Markup Language

Slides:



Advertisements
Podobne prezentacje
Definiowanie typów dokumentów
Advertisements

Rafał Hryniów Tomasz Pieciukiewicz
Implementacja procesora XSLT w języku Ocaml
Programowanie w Internecie (Internet Programming) Krystyna Dziubich p. 521 XSL Formatting Objects.
Podstawowe wiadomości
XHTML Podstawowe różnice.
XPath XSLT – część XPath. XSLT – część 12 XPath – XML Path Language Problem: –jednoznaczne adresowanie fragmentów struktury dokumentu XML.
Definiowanie typów dokumentów Część 1: DTD 9 października 2003.
XML i nowoczesne technologie zarządzania treścią Wykład monograficzny Semestr zimowy 2005/06 Szymon Zioło
Definiowanie typów dokumentów Część 2. Przestrzenie nazw, XML Schema
Definiowanie typów dokumentów Część 1. DTD Definiowanie typów dokumentów – część 1: DTD2 Jak wygląda XML? st. asp. Jan Łapówka Dołowice Górne.
11 Definiowanie typów dokumentów. 22 Jak wygląda XML? st. asp. Jan Łapówka Dołowice Górne Wypadek dnia r o godzinie 13:13 ( piątek ) miał miejsce.
Definiowanie typów dokumentów Część 1. DTD, XML Schema.
Definiowanie typów dokumentów Część 2: XML Schema 16 października 2003.
i nowoczesne technologie
XML w zarządzaniu formularzami ubezpieczeniowymi ZUS
11 XML i nowoczesne technologie zarządzania treścią Wykład monograficzny, semestr zimowy 2002/2003 Szymon Zioło Dyrektor Działu Usług empolis Polska.
Definiowanie typów dokumentów Część 2. Przestrzenie nazw, XML Schema.
Definiowanie typów dokumentów Część 1. DTD, XML Schema.
Historia rozwoju technik znakowania tekstu Historia rozwoju technik znakowania tekstu2 Znakowanie tekstu Hamlet Być albo nie być. Oto jest.
XSL Extensible Stylesheet Language 6 listopada 2003.
Zaawansowana składnia XML XML Schema
11 Definiowanie typów dokumentów. 22 Jak wygląda XML? st. asp. Jan Łapówka Dołowice Górne Wypadek dnia r o godzinie 13:13 ( piątek ) miał miejsce.
11 Systemy zarządzania dokumentami. 22 Statystyka 90% zasobów informacyjnych firm jest przechowywanych w dokumentach a nie w bazach danych (Delloite &
XPath. XSL – część 1..
XML i nowoczesne technologie zarządzania treścią Wykład monograficzny Semestr zimowy 2006/07 Szymon Zioło
XML i nowoczesne technologie zarządzania treścią Wykład monograficzny Semestr zimowy 2004/05 Szymon Zioło
XML Schema XML Schema2 Definiowanie języków XML, SGML – metajęzyki. Definiowanie języków (zastosowań, typów dokumentów, schematów): –określanie.
Technologie XML Mgr inż. Michał Jaros Technologie XML wykład 1.
Aplikacje ASP.NET Arkadiusz Twardoń ZTiPSK
Dokumentowanie wymagań w języku XML
XML, DTD, Schema Zaawansowane Aplikacje Internetowe Dawid Weiss.
XML. Pierwszy dokument XML Witaj świecie! Elementy i atrybuty niezwykle oryginalny Witaj świecie! Druga możliwość: Witaj świecie!

Resource Description Framework
Systemy zarządzania treścią CMS
XML jako standard służący do efektywnej wymiany dokumentów niezależnie od platformy sprzętowej.
METAJĘZYKI 2 Politechnika Koszalińska
Tworzenie stron internetowych www World Wide Web
PODSTAWY <HTML>
XML eXtensible Markup Language. 2 Prowadzący Michał Kozielski p. 413 mail:
Czym są HTML i XHTML? Skrót HTML pochodzi od słów Hypertext Markup Language (język znakowania hipertekstu). Język HTML jest podstawą każdej strony WWW.
Podstawy HTML-a Adam Rębisz.
Stanisław Jerzy Niepostyn, Ilona Bluemke Instytut Informatyki,
Janusz Langer 19 wrzesień 2006, FTB/ZBP, Warszawa
Wprowadzenie do HTML, CSS, JavaScript, PHP
XML - podstawy Szymon Bohdanowicz. Pierwszy przykład Marek Szymon Przypomnienie Pamiętaj o spotkaniu w piątek.
Podstawy tworzenia stron WWW
Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Podyplomowe Studium Programowania i Zastosowań Komputerów Marcin Hankiewicz.
informatyka + Agenda Podstawy XML Historia XML w pigułce
Arkadiusz Twardoń ZTiPSK
XML – eXtensible Markup Language 2. Nazwy atrybutów i elementów w języku XML muszą spełniać te same reguły (te same reguły musza spełniać też inne, rzadziej.
XML – eXtensible Markup Language
Tworzenie stron internetowych www World Wide Web
Wprowadzenie do HTML Informatyka Cele lekcji: Wiadomości:
Specjalizacja "Dziennikarstwo On-line„ HTML – XHTML część 1 Prowadzący: Dariusz Jaruga
Projektowanie Aplikacji Internetowych
XML i nowoczesne technologie zarządzania treścią Wykład monograficzny Semestr zimowy 2008/09 Szymon ZiołoPatryk Czarnik
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Treści multimedialne - kodowanie, przetwarzanie, prezentacjaOdtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Czyli króciutki opis języka programowania jakim jest HTML.
HTML Hyper Text Markup Language komputerowe Esperanto cz. I historia, struktura dokumentu.
Piotr Czapiewski Wydział Informatyki ZUT. Web Services Description Language.
Obiektowe metody projektowania systemów XML eXtensible Markup Language.
XML i nowoczesne technologie zarządzania treścią Michał Kuciapski
I TY ZOSTAŃ WEBMASTEREM! CZĘŚĆ 2 – „STRUKTURA STRONY” STWORZYŁ GABRIEL ŚLAWSKI.
The Poznan University of Economics Department of Management Information Systems XML - wprowadzenie.
Aplikacje internetowe XML Paweł Lenkiewicz. Aplikacje internetowe – XML2 eXtensible Markup Language Uniwersalny język opisu danych Często używany we współpracy.
Języki i technologie wytwarzania stron WWW Autor: Michał Walkowski Referat.
Hipertekst HTML WWW.
Zapis prezentacji:

XML – Extensible Markup Language

Znakowanie tekstu Hamlet Być albo nie być. Oto jest pytanie. Markup: the process of marking manuscript copy for typesetting with directions for use of type fonts and sizes, spacing, indentation, etc. The Chicago Manual Of Style wytłuszczyć odstęp wcięcie Hamlet Być albo nie być. Oto jest pytanie. Korzenie XML-a wywodzą się z nowatorskich koncepcji związanych ze znakowaniem tekstu, które powstały na początku lat 60-tych. „Kluczem do zrozumienia idei SGML-a [i XML-a] jest rozwikłanie jego nieco dziwnej nazwy, a przede wszystkim znaczenia słowa markup. Otóż jest to termin techniczny, utrwalony w tradycji amerykańskiego edytorstwa. [...] W języku polskim czynność ta, nie mająca osobnej nazwy, należy do procedur nazywanych ogólnie adiustacją techniczną. Przetłumaczenie markup jako znakowanie wydaje się jednak trafne (a w każdym razie lepsze niż tagowanie lub markowanie). W całkiem podobnym sensie mówimy np. o znakowaniu dróg i ich oznakowaniu jako rezultacie czynności znakowania.” (Włodzimierz Wypych, Na początku był rękopis, czyli o historii XML-a, Software 2.0, 6’2001) 2006-12-09 XML – Extensible Markup Language

Znakowanie tekstu w epoce komputerów Treść Hamlet Być albo nie być. Oto jest pytanie + Formatowanie, adjustacja {nowy_wiersz} {bold} {wyłącz_bold} {wcięcie} = Dokument Hamlet Być albo nie być. Oto jest pytanie. {bold}Hamlet{wyłącz_bold}{nowy_wiersz}{wcięcie} Być albo nie być. Oto jest pytanie. Z bardzo podobnym znakowaniem tekstu mamy do czynienia w dokumentach komputerowych. Tekst oznakowany zawiera – oprócz samej treści – także pewne znaczniki opisujące formatowanie tekstu. Tak oznakowany tekst może być przetworzony np. przez system składu, który wyprodukuje czytelny dla człowieka, sformatowany dokument. 2006-12-09 XML – Extensible Markup Language

Korzenie XML-a Lata 60-te XX wieku: 1967 – William Tunnicliffe, prezes Graphic Communications Association, podczas spotkania w Canadian Government Printing Office przedstawia ideę oddzielenia zawartości informacyjnej dokumentów od ich formatu, Stanley Rice proponuje użycie uniwersalnych znaczników do znakowania struktury tekstu, projekt GenCode definiuje sposób oznaczania tekstu ukierunkowany na jego strukturę, projekt INTIME (INteractive Textual Information Management Experiment) Charlesa Goldfarba wykazuje potrzebę identyfikacji fragmentów tekstu i określenia ich znaczenia. Pod koniec lat 60-tych XX wieku pojawiło się kilka niezależnych inicjatyw, których autorzy dostrzegali ograniczenia znakowania tekstu znacznikami opisującymi jego wygląd. Pojawiły się pierwsze propozycje znakowania wskazującego strukturę tekstu i jej znaczenie. Kluczowy był projekt INTIME, prowadzony przez Charlesa Goldfarba w laboratoriach IBM Cambridge Scientific Center. Jego celem było stworzenie prototypu zintegrowanego systemu przetwarzania tekstó prawnych, przeznaczonego dla kancelarii prawniczych. Szybko okazało się, że z aktów prawnych można „wycisnąć” znacznie więcej (np. dokładniej wyszukiwać), jeśli znaczenie poszczególnych fragmentów tekstu jest jednoznacznie zidentyfikowane. 2006-12-09 XML – Extensible Markup Language

Wnioski z projektu INTIME The usefulness of a retrieval program can be affected by its ability to identify the structure and purpose of the parts of text (e.g., footnotes, abstracts, citations). [...] A heuristic routine for identifying new paragraphs in normal text was developed for INTIME, but a more sophisticated facility is needed. A typesetting command language could convey such information, but present languages deal with the appearance of the text, not with the purpose which motivated it. C. Goldfarb, „SGML: The Reason Why and the First Published Hint”, Journal of the American Society for Information Science, Volume 48, Number 7 (July 1997) 2006-12-09 XML – Extensible Markup Language

Ewolucja Internetu aplikacja  dzisiaj aplikacja  człowiek człowiek  Bezpośrednia przyczyna powstania XML-a związana jest z ewolucją zastosowań Internetu, jaka nastąpiła w ostatnich latach. Początkowo witryny internetowe były tworzone „ręcznie” (jako statyczne strony) przez ludzi i przeznaczone do czytania przez ludzi. Następnie pojawiły się formularze internetowe, wypełniane w przeglądarkach, a interpretowane przez aplikacje. Kolejne generacje stron były generowane automatycznie przez aplikacje (np. skrypty pobierające treść z bazy danych), zaś czytane przez ludzi. Ograniczenia, jakie niesie ze sobą używany w Internecie format HTML (np. orientacja na wygląd tekstu, a nie jego znaczenie) sprawiają, że nie sprawdza się on jako medium w komunikacji bezpośrednio między aplikacjami. czas start 2006-12-09 XML – Extensible Markup Language

Oddzielenie znaczenia tekstu od sposobu prezentacji Idea XML-a (1) Oddzielenie znaczenia tekstu od sposobu prezentacji <OSOBA MÓWIĄCA>Hamlet</OSOBA MÓWIĄCA> <WYPOWIEDŹ>Być albo nie być. Oto jest pytanie.</WYPOWIEDŹ> Nowatorski pomysł Charlesa Goldfarba i jego współpracowników z laboratorium IBM polegał na zastąpieniu znaczników opisujących formatowanie tekstu przez abstrakcyjne oznakowanie określające jego znaczenie. „Sam Goldfarb nie szukał dla swoich koncepcji uzasadnień teoretycznych. Proponował jedynie, aby uogólnić dotychczasową praktykę i znakować teksty w sposób, który nie przesądza o ich prezentacji. Po prostu wydawało się bardziej efektywne, by zamiast znaczników typograficznych w rodzaju: 14 punktów, Times Roman, kursywa, użyć takich, które opisują strukturę i znaczenie tekstu, np.: tytuł, akapit, cytat.” (Włodzimierz Wypych, Na początku był rękopis, czyli o historii XML-a, Software 2.0, 6’2001) 2006-12-09 XML – Extensible Markup Language

Sposób prezentacji Hamlet Być albo nie być. Oto jest pytanie. OSOBA MÓWIĄCA nowy akapit do lewej wytłuszczenie WYPOWIEDŹ nowy akapit wcięcie na 2 cm do lewej Hamlet Być albo nie być. Oto jest pytanie. Ponieważ takie abstrakcyjne znaczniki nie opisują formatowania, formatowanie trzeba opisać w inny sposób. Najczęściej definiuje się w tym celu tzw. arkusz stylów (ang. stylesheet) , który określa jednolity sposób formatowania dla każdego elementu semantycznego. Raz zdefiniowany arkusz stylów można oczywiście wykorzystać do formatowania wszystkich dokumentów określonego typu. 2006-12-09 XML – Extensible Markup Language

Inny sposób prezentacji OSOBA MÓWIĄCA na marginesie tekst pionowo niebieski hiperlink do opisu postaci na początku dramatu WYPOWIEDŹ nowy akapit kursywa ew. użyj syntezatora mowy z ustawieniami dla OSOBY MÓWIĄCEJ Być albo nie być. Oto jest pytanie. Hamlet Takie oddzielenie sposobu prezentacji od znaczenia tekstu pozwala na zdefiniowanie dla tego samego tekstu wielu sposobów prezentacji (arkuszy stylów) i używanie ich zamiennie w zależności od zastosowania (np. inny arkusz stylów może być stosowany dla publikacji papierowych, a inny – dla elektronicznych). 2006-12-09 XML – Extensible Markup Language

Idea XML-a (2) Stworzenie najodpowiedniejszego modelu dla naszych własnych dokumentów. <NUDA> </NUDA> <OSOBA MÓWIĄCA>Hamlet</OSOBA MÓWIĄCA> <WYPOWIEDŹ> Być albo nie być. Oto jest pytanie. </WYPOWIEDŹ> Dostępny zestaw semantycznych znaczników nie jest z góry ograniczony. To my – jako projektanci nowego języka (typu dokumentu) – określamy ich nazwy i znaczenie. Wykorzystanie własnych znaczników opisujących znaczenie tekstu pozwala na zrealizowanie drugiej idei – dopasowania modelu dokumentu strukturalnego do potrzeb konkretnego zastosowania. 2006-12-09 XML – Extensible Markup Language

Najodpowiedniejszy model Przykłady: encyklopedia: <nazwisko>, <imie>, <ur>, <zm>, <wymowa>, <etymologia>, <liczba-mieszk> prawo: <promulgator>, <rocznik>, <poz>, <art> <sąd>, <sygn-wyroku>, <teza> dokument techniczny: <part-number>, <function-name> patenty: <wynalazca>, <nr-zgłoszenia> ubezpieczenia: <data-polisy>, <wartość-polisy> 2006-12-09 XML – Extensible Markup Language

Rozwój języków uogólnionego znakowania tekstu 1969: GML – Generalized Markup Language (IBM; Goldfarb, Mosher, Laurie). 1986: SGML – Standard Generalized Markup Language, ISO 8879:1986. 1991: powstaje World Wide Web. 1994: HTML 2.0 zdefiniowany jako zastosowanie SGML-a. 1998: XML – Extensible Markup Language, World Wide Web Consortium. Pierwszym standardem, który realizował opisane idee, był GML (Generalized Markup Language). Składnia tego standardu stopniowo ewoluowała, dostosowując się do rosnącego zapotrzebowania na rozmaitą funkcjonalność. Rozwój ten zaowocował zdefiniowaniem specyfikacji SGML-a i opublikowaniem jej w 1986 roku jako normy ISO. SGML jest stosowany od lat w profesjonalnych systemach zarządzania dokumentami. Jest to standard elastyczny, oferujący wiele opcji, ale skomplikowany. Spowodowało to, że nie był on szerzej znany poza gronem fachowców zajmujących się dużymi systemami zarządzania treścią. Dopiero odważne uproszczenie zawiłości SGML-a i zdefiniowanie w ten sposób XML-a spowodowało gwałtowny wzrost popularności opisanych idei oraz wykorzystywanie ich w znacznie szerszym kontekście zastosowań. Mówi się wręcz, że XML daje 80% „mocy” (siły wyrazu) SGML-a przy 20% jego złożoności. 2006-12-09 XML – Extensible Markup Language

World Wide Web Consortium (W3C) Kuźnia standardów internetowych, np.: HTML – Hyper Text Markup Language, HTTP – Hyper Text Transfer Protocol, CSS – Cascading StyleSheets, ... XML – Extensible Markup Language: najważniejsza rekomendacja ostatnich lat, twórcy: Tim Bray (Netscape), Jean Paoli (Microsoft), C.M. Sperberg-McQueen (University of Illinois). Obecne dominują prace nad standardami związanymi z XML-em. W3C jest organizacją non-profit, zrzeszającą firmy zainteresowane rozwojem i standaryzacją technologii internetowych. Większość z prac prowadzonych przez W3C w ostatnich latach dotyczy technologii związanych z XML-em oraz jego zastosowań. W3C nie publikuje norm ani specyfikacji – nie jest to oficjalna organizacja standaryzacyjna. Publikacje W3C są nazywane rekomendacjami. Nie przeszkadza to jednak, aby przynajmniej niektóre rekomendacje stawały się de facto standardami poprzez fakt ich powszechnego używania. 2006-12-09 XML – Extensible Markup Language

Co to jest XML? XML to nie język programowania. XML to sposób zapamiętywania danych wraz z ich strukturą w dokumencie tekstowym: otwarty, elastyczny, bezpłatny, niezależny od platformy sprzętowej. XML to rama składniowa do tworzenia języków specyficznych dla zastosowań. Użycie XML-a nie zwalnia od myślenia (analizy, projektowania, ...) Otwartość XML-a polega na tym, że struktura dokumentów XML jest jawna i publicznie dostępna, a same pliki mają format tekstowy (można je obejrzeć w dowolnym edytorze tekstowym). Za korzystanie z formatu XML nie są pobierane żadne opłaty. Dodatkowo, wiele narzędzi wspierających wykorzystanie XML-a (szczególnie tych przeznaczonych dla programistów) jest bezpłatnych. XML nie jest związany z żadną platformą sprzętową ani producentem oprogramowania. Jest więc dobrym formatem do wymiany danych pomiędzy aplikacjami, systemami operacyjnymi czy platformami sprzętowymi. 2006-12-09 XML – Extensible Markup Language

Jak wygląda XML? <?xml version=”1.0”?> <zeznanie-sprawcy nr=”1313/2001”> <autor>st. asp. Jan Łapówka</autor> <miejsce>Dołowice Górne</miejsce> <treść>Wypadek dnia <data>13.10.2001r</data> o godzinie <godzina>13:13</godzina> (<dzien-tygodnia>piątek </dzien-tygodnia>) miał miejsce nie z mojej winy. <poszkodowany>Alojzy M.</poszkodowany> nie miał żadnego pomysłu w którą stronę uciekać, więc go przejechałem.</treść> </zeznanie-sprawcy> Deklaracja XML Element główny Atrybut Element Znacznik początkowy Znacznik końcowy Zawartość tekstowa Slajd przedstawia jedynie podstawowe elementy składni dokumentu XML. Każdy dokument XML zaczyna się od deklaracji XML, określającej wersję składni XML-a, sposób kodowania znaków, itp. Cała zawartość dokumentu zawarta jest w jednym elemencie – elemencie głównym. On dopiero zawiera inne elementy oraz tekst. Elementy mogą posiadać atrybuty, opisujące pewne właściwości elementów. Element jest kodowany przy pomocy znacznika początkowego oraz znacznika końcowego. 2006-12-09 XML – Extensible Markup Language

HTML  XML Znaczenie elementów i ich atrybutów z góry określone. Znaczenie elementów i ich atrybutów określa użytkownik lub aplikacja. Interpretację elementów określa standard, a w praktyce przeglądarki internetowe. <p> może w jednym dokumencie oznaczać paragraf, w drugim pomoc, a w trzecim pismo odręczne. To, co jest poprawne również określają przeglądarki internetowe. Poprawność XML-a jest ściśle określona przez specyfikację. Chociaż XML nie ma bezpośrednio nic wspólnego z HTML-em (który jest zastosowaniem SGML-a), to jednak warto te dwa języki porównać, ze względu na ich silny związek z Internetem. W odniesieniu do dokumentów HTML przyjęła się praktyka akceptowania dokumentów niepoprawnych. Przeglądarki internetowe nie wyświetlają bowiem komunikatów o błędach składniowych, lecz starają się ominąć błąd i jak najlepiej wyświetlić dokument mimo błędu. Skutkiem tego jest znaczna ilość dokumentów HTML formalnie niepoprawnych. W przypadku XML-a poprawność jest ściśle określona, zaś od narzędzi zgodnych z rekomendacją wymaga się, aby reagowały na napotkane w dokumentach błędy i nie przetwarzały takich dokumentów. 2006-12-09 XML – Extensible Markup Language

SGML  XML Filozofia: jeden duży system zarządzania treścią. Filozofia: wiele małych komunikujących się ze sobą modułów. Konieczność definiowania struktury. Opcjonalne definiowanie struktury. Skomplikowana składnia, wiele opcji. Uproszczona składnia. Trudność tworzenia parserów. Łatwość tworzenia parserów. Bardzo drogie narzędzia. Darmowe narzędzia. 2006-12-09 XML – Extensible Markup Language

Klasy zastosowań XML-a Zarządzanie dokumentami, treścią, wiedzą: Elektroniczna wymiana danych, integracja aplikacji: Pierwotne zastosowanie SGML-a. Nowa klasa zastosowań XML-a. Dokumenty tworzone przez człowieka i przeznaczone dla człowieka. Dokumenty tworzone oraz przetwarzane automatycznie Długi czas życia dokumentów. Dokumenty tworzone tylko na czas komunikacji. Historycznie, zastosowania SGML-a wiązały się z zarządzaniem dokumentami. Są to więc także zastosowania XML-a. Prostota XML-a sprawiła jednak, że zaczął on być używany także w serwisach internetowych, publikacjach elektronicznych oraz do elektronicznej wymiany danych między systemami komputerowymi. Szczególnie te ostatnie zastosowania zasługują na uwagę, ponieważ sposób wykorzystania przez nie XML-a diametralnie różni się od pierwotnych założeń leżących u podstaw SGML-a. „SGML był związany z praktyką klasycznego edytorstwa. Dokument SGML, choć elektroniczny, był nadal czymś ‘namacalnym’, stanowił określony korpus tekstów, opracowywanych w ramach systemu edytorskiego lub udostępniany w obrębie sieci lokalnej. W normie SGML najwyraźniej założono, że teksty będą znakowanie ręcznie. [...] XML powstał w innym świecie – w świecie opasanym globalną siecią. Stanowi odpowiedź na potrzeby, jakie stawia publikowanie zasobów baz danych w skali Internetu i w lokalnych intranetach. Jego żywiołem są raczej dokumenty automatycznie generowane niż redagowane, dokumenty tworzone dynamicznie na żądanie, dokumenty wirtualne, integrujące informacje z wielu źródeł, których nikt nigdy w nie opracował w takim kształcie, w jakim są prezentowane.” (Włodzimierz Wypych, Na początku był rękopis, czyli o historii XML-a, Software 2.0, 6’2001) Typowy model mieszany zawartości. Konieczność dokładnego kontrolowania struktury i zawartości. 2006-12-09 XML – Extensible Markup Language

Dwie twarze XML-a Dokument tekstowy: Baza danych: <zamowienie> <zeznanie-sprawcy> Wypadek dnia <data> 13.01.2001 r.</data> o godzinie <godzina>13.13 </godzina> (<dzien-tygodnia>piątek </dzien-tygodnia>) miał miejsce nie z mojej winy. <poszkodowany>Alojzy M.</poszkodowany> nie miał żadnego pomysłu w którą stronę uciekać, więc go przejechałem. </zeznanie-sprawcy> <zamowienie> <pozycja> <nazwa>Papier</nazwa> <jednostka>ryza </jednostka> <ilosc>3</ilosc> </pozycja> <zamawiajacy id=”123456”> <imie>Szymon</imie> <nazwisko>Zioło </nazwisko> <firma>ABG Ster-Projekt </firma> </zamawiajacy> </zamowienie> Te różnicę między dwoma klasami zastosowań ilustrują dwa przykłady dokumentów. Podstawą dokumentu tekstowego, stosowanego w zastosowaniach związanych z zarządzaniem treścią, jest mieszany model zawartości, w którym tekst jest w dowolny sposób przemieszany z podelementami. Natomiast aplikacje wymieniające przy pomocy XML-a dane w sposób automatyczny operują zwykle na relacyjnych bazach danych. Dlatego struktura takiego dokumentu jest ściśle określona i często odpowiada strukturze odpowiedniej bazy danych. 2006-12-09 XML – Extensible Markup Language

Struktura logiczna dokumentu XML zeznanie-sprawcy nr="1313/2001" autor miejsce treść st. asp. Jan Łapówka Dołowice Górne Wypadek dnia data godzina dzien-tygodnia ... 13.10.2001 13:13 piątek o godzinie ( <?xml version=”1.0”?> <zeznanie-sprawcy nr=”1313/2001”> <autor>st. asp. Jan Łapówka</autor> <miejsce>Dołowice Górne</miejsce> <treść>Wypadek dnia <data>13.10.2001r</data> o godzinie <godzina>13:13</godzina> (<dzien-tygodnia>piątek </dzien-tygodnia>) miał miejsce nie z mojej winy. <poszkodowany>Alojzy M.</poszkodowany> nie miał żadnego pomysłu w którą stronę uciekać, więc go przejechałem.</treść> </zeznanie-sprawcy> O dokumencie XML możemy myśleć na dwa sposoby: jako o tekście (ciągu znaków) lub jako o strukturze drzewiastej, w której elementy, atrybuty i fragmenty tekstu są węzłami drzewa. Sposób patrzenia na dokument XML w danym momencie zależy oczywiście od konkretnego zastosowania. 2006-12-09 XML – Extensible Markup Language

Składnia XML Deklaracja XML: Znaczniki: Znaczniki elementu pustego: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> Znaczniki: <tag attributename="attribute value"> </tag> Znaczniki elementu pustego: <br></br> <br/> Komentarz: <!-- komentarz --> Instrukcja przetwarzania: <?target processing-instruction-body?> Sekcja CDATA: <![CDATA[dowolny <tekst " nieprzetwarzany & przez [ parser]]> Każdy dokument XML musi zaczynać się od deklaracji XML – inaczej nie zostanie rozpoznany jako dokument XML. Znacznik elementu pustego w postaci <br/> jest skrótem składniowym upraszczającym tworzenie dokumentów i oznacza dokładnie to samo, co pełny zapis <br></br>. Komentarze nie są interpretowane jako część treści dokumentu i pełnią taką samą role, jak komentarze w językach programowania. Instrukcje przetwarzania są swego rodzaju „wolnymi elektronami”, które można umieszczać w dowolnych miejscach w dokumentach XML i nie trzeba ich nigdzie deklarować. Można je wykorzystywać jako „ukryte” (tzn. nie należące do właściwej struktury dokumentu) polecenia dla aplikacji przetwarzających dokumenty. Sekcje CDATA są konstrukcją składniową pozwalającą w prosty sposób umieszczać w dokumencie XML teksty zawierające znaki zastrzeżone, np. <, &. Wewnątrz sekcji CDATA znaki zastrzeżone nie są bowiem interpretowane. 2006-12-09 XML – Extensible Markup Language

Encje predefiniowane & & < < > > &apos; ' " " & & < < > > &apos; ' " " Innym sposobem zapisu w dokumencie XML znaków zastrzeżonych w składni XML-a jest użycie tzw. encji predefiniowanych. Są one domyślnie zdefiniowane i nie trzeba ich samemu definiować. Oczywiście encja predefiniowana to tylko sposób zapisu składniowego znaku. Aplikacje korzystające z dokumentów XML ukrywają tą warstwę składniową i wyświetlają normalne znaki. 2006-12-09 XML – Extensible Markup Language

Język – metajęzyk Stan wyjściowy: Wspólny metajęzyk: Wieża Babel (brak wspólnego języka), czy w ogóle możliwy jeden wspólny język? Wspólny metajęzyk: znana gramatyka, jednolita metodologia, takie same narzędzia. Dowolnie wiele języków specyficznych dla zastosowań. Możliwość definiowania własnych elementów i określania ich znaczenia powoduje, że XML nie jest tak na prawdę zwykłym językiem, lecz metajęzykiem, tzn. językiem służącym do definiowania własnych języków. Przez własny język rozumiemy tu określony zestaw elementów, atrybutów, sposób ich zagnieżdżania, dopuszczalną zawartość tekstową, no i przede wszystkim znaczenie poszczególnych elementów i atrybutów. Dzięki temu w XML-u można zapisać dane zupełnie do siebie nie przystające, np. fakturę oraz hasło encyklopedyczne. Wprawdzie każdy z tych dokumentów będzie miał inny zestaw elementów i atrybutów (będzie napisany w innym języku), ale oba będą miały tę samą składnię i oba będzie można przetwarzać przy pomocy tych samych standardowych, uniwersalnych narzędzi. 2006-12-09 XML – Extensible Markup Language

Definiowanie języków XML, SGML – metajęzyki. Definiowanie języków (zastosowań, typów dokumentów, schematów): określanie zestawu dopuszczalnych elementów, atrybutów, ..., definiowanie dopuszczalnej zawartości elementów (tekst, inne elementy), przypisywanie atrybutów do elementów, ... Metody definiowania struktury: dokument XML bez formalnej definicji struktury, DTD – Document Type Definition, XML Schema, Relax NG. Potrzebujemy więc metod i narzędzi, aby móc – w oparciu o metajęzyk XML – definiować własne języki (inaczej mówiąc: zastosowania XML-a, typy dokumentów lub schematy). XML dopuszcza wprawdzie dokumenty, które nie mają formalnej definicji struktury, ale – szczególnie w odniesieniu do większych, bardziej skomplikowanych dokumentów – zaleca się korzystanie z takiej definicji. Mamy do dyspozycji co najmniej kilka metod definiowania języków. DTD wywodzi się z SGML-a i jest metodą dość prostą i ograniczoną. W DTD nie można na przykład określać typów zawartości elementów i wartości atrybutów (nie można np. określić, że dany element powinien zawierać datę). Niemniej jednak DTD wciąż są popularne – zapewne m. in. dzięki swej prostocie. Najpopularniejszym obecnie standardem definiowania języków jest XML Schema – standard znacznie bardziej rozbudowany niż DTD i dający znacznie większe możliwości. Coraz większą popularność zdobywa też technika RELAX NG, pozwalająca ominąć niektóre słabe punkty XML Schema. 2006-12-09 XML – Extensible Markup Language

Poprawność dokumentów Dokument XML poprawny składniowo (ang. well-formed): każdy element musi być zamknięty, nie ma nakładających się elementów, wartości atrybutów w apostrofach lub cudzysłowach, ... Dokument XML poprawny strukturalnie (ang. valid): struktura dokumentu zgodna ze strukturą zdefiniowaną w definicji typu dokumentu, obecne wszystkie wymagane atrybuty. Dokument, który nie jest poprawny składniowo, tak na prawdę nie jest dokumentem XML. Drugi stopień poprawności (poprawność strukturalna) wymaga, aby spełniony był także pierwszy. Ma on sens jedynie dla dokumentów dla których zdefiniowano strukturę (schemat). 2006-12-09 XML – Extensible Markup Language

Modelowanie typów dokumentów Wieloetapowy proces analityczno-projektowy: analiza struktury modelowanych bytów, analiza przykładowych dokumentów, analiza potencjalnych zastosowań dokumentów oraz przypadków użycia, abstrakcyjny projekt struktury, kodowanie projektu struktury np. przy pomocy DTD lub XML Schema, testowanie, pielęgnacja, zarządzanie zmianami. Podobnie jak implementacja (kodowanie) jest tylko jedną z wielu faz budowy systemu informatycznego, tak zapisywanie definicji języka przy pomocy DTD, XML Schema lub innego formalizmu jest jedynie jednym z etapów modelowania języka. Etap ten powinien być poprzedzony przez analizę oraz projektowanie struktury języka w sposób abstrakcyjny. Stosowanie pełnego cyklu modelowania ma sens w przypadku skomplikowanych języków, wykorzystywanych np. w systemach zarządzania aktami prawnymi czy zasobami encyklopedycznymi. Proces modelowania takich języków właściwie nigdy się nie kończy, ponieważ żyją i zmieniają się same reguły biznesowe będące podstawą modelu języka, lub pojawiają się nowe zależności, które trzeba zamodelować. Dlatego w profesjonalnych zastosowaniach, typy dokumentów muszą podlegać pielęgnacji. Oczywiście w prostych przypadkach (np. modelowanie komunikatu z klienta do serwera aplikacji), „rozgarnięty” projektant poradzi sobie od razu, bez stosowania pełnego cyklu, po prostu zapisując definicję przy pomocy DTD lub XML Schema. 2006-12-09 XML – Extensible Markup Language

Projektowanie struktury dokumentów autor ? wiersz tytuł * * zwrotka wers Podczas abstrakcyjnego, niezależnego od notacji (DTD lub XML Schema), projektowania struktury dokumentów, używa się z reguły diagramów graficznych. Istnieją specjalne programy, które pozwalają na takie graficzne projektowanie, np. edytor XMLSPY firmy Altova. 2006-12-09 XML – Extensible Markup Language

DTD – prosty przykład <!DOCTYPE wiersz [ <!ELEMENT wiersz (autor, tytul?, zwrotka*)> <!ATTLIST wiersz bialy (tak|nie) ”nie”> <!ELEMENT autor (#PCDATA)> <!ELEMENT tytul (#PCDATA)> <!ELEMENT zwrotka (wers)*> <!ELEMENT wers (#PCDATA)> ]> zawartość elementów element główny atrybuty wyrażenia regularne Definicja typu dokumentu jest zawarta w deklaracji DOCTYPE, po której następuje nazwa elementu głównego. Pozycje ELEMENT określają dopuszczalną zawartość poszczególnych elementów przy pomocy wyrażeń regularnych. #PCDATA (Parsed Characters Data) oznacza „czysty” tekst, bez podelementów. Przy pomocy pozycji ATTLIST można określić atrybuty poszczególnych elementów. 2006-12-09 XML – Extensible Markup Language

Gdzie szukać dalej: historia XML-a Charles F. Goldfarb's SGML Source Home Page: www.sgmlsource.com Wypych, W., Na początku był rękopis, czyli o historii XML-a:  Software 2.0, 6/2001 2006-12-09 XML – Extensible Markup Language

Gdzie szukać dalej: XML W3C – The World Wide Web Consortium: www.w3.org XML.com: www.xml.com The XML Industry Portal, hosted by OASIS: www.xml.org The XML Cover Pages: www.oasis-open.org/cover/xml.html Paweł Stroiński, Kurs języka XML: www.wckp.lodz.pl/~pabloware/xml Goldfarb, C., Prescod, P., „The XML Handbook, 5th Edition”, Prentice Hall PTR, 2003 Grupa dyskusyjna  pl.comp.xml 2006-12-09 XML – Extensible Markup Language