Wprowadzenie do XML dr inż. Adam Iwaniak Szkolenie w Luboradzy, ZCPWZ, 12-13.02.2009r. Rola języka XML narzędziem Pierwszą rewolucją internetową było dostarczenie ludziom informacji. Znajdujemy się teraz w okresie drugiej rewolucji, która skupia się na dostarczeniu informacji do systemów. XML jest narzędziem, które urzeczywistnia tę nową rewolucję, a usługi WWW są metodami, które kierują komunikacją między systemami, (C.Kochmer, E.Frandsen, 2002). SGML W latach 70-tych Charles Golfarb wymyślił, że można oznaczać strukturę dokumenty, a nie sposób jego formatowania GML (Generalized Markup Language) SGML. Zalety takiego podejścia: oddzielenie struktury logicznej od cech wizualnych dokumentu łatwość transformacji i przeszukiwania Możliwość przenoszenie dokumentów między platformami i wykorzystania różnych narzędzi do przetwarzania W 1986 r. przyjęto normę ISO 8879 Standard Gneralized Markup Language (SGML) W 1998 r. XML (uproszczona wersja SGML) staje się oficjalną rekomendacją W3 Consortium Page 1
Założenia XML XML plik tekstowy XML powinien wspierać szerokie spektrum aplikacji XML powinien być kompatybilny z SGML XML powinien posiadać minimalną liczbę opcji w języku Dokumenty XML powinny być łatwo zrozumiałe dla człowieka Opracowanie dokumentów XML powinno być proste Pisanie programów przetwarzających dokumenty XML powinno być proste Przykład nagłówek atrybut wartość atrybutu główny <?xml version="1.0" encoding="utf-8"?> <wykład data= 12-12-2008 > <czas_trwania>60</czas_trwania> <temat> Wprowadzenie do języka XML</temat> <autor> <imię>adam</imię> <nazwisko> Iwaniak</nazwisko> wartość u <kontakt> <telefon>0713205686</telefon> <email>0713205686</email> </kontakt> </autor> <!-- komentarz --> </wykład> Składnia Dokument XML poprawny składniowo: zawiera przynajmniej jeden y są poprawnie zagnieżdżone Element Złożony ze znacznika początkowego i końcowego <nazwa_elem> zawartość </nazwa_elem> Znaczniki otwierający i zamykający u muszą być takie same Pusty <_pusty/> Page 2
Składania Nazwa u może zawierać litery, cyfry, podkreślenie, kropkę nie powinna zaczynać się od liczby lub kropki nie powinna zaczynać się od liter xml nie może zawierać spacji wielkość liter ma znaczenie Zawartość elemetu tekst zawartość mieszaną (tekst i ) zawartość pustą Składania <> <inny_> Zawartość tekstowa /inny_> </> <> Zawartość mieszana tekst oraz <inny_> tekst tekst </inny_> </> Składnia Znaczniki początkowe i końcowe ów nie mogą się przeplatać Hierarchia elemetów wykład czas_trwania teamt autor imie nazwisko kontakt telefo email Page 3
Składania Atrybuty u Znacznik otwierający i pusty mogą zawierać atrybuty Nazwa danego atrybutu może wystąpić tylko raz wśród atrybutów danego u Wartość atrybutu musi być umieszczona w cudzysłowie lub apostrofach <dom nr= 16 > ognioodporny</dom> Atrybuty: nie mogą zawierać wielu wartości nie są łatwo rozszerzalne nie opisują struktury Nagłówek Występuje opcjonalnie na początku dokumentu Zawiera numer wersji XML Może zawierać typ kodowania <?xml version="1.0 encoding="utf-8?> Sekcja CDATA Pole nie podlegające analizie parsera Może zawierać znaki specjalne np. < <przejazd> <![CDATA[ szybkość < 100 ]]> </przejazd> <przejazd> szybkość < 100 </przejazd> Przestrzenie nazw Przestrzeń nzaw - zbiory nazw definiujące słownik możliwych znaczników, definicja: xmlns:<prefix>= <identyfikator przestrzeni nazw> Deklaracje przestrzenie nazw umieszcza się w znaczniku początkowym danego u, podobnie jak umieszcza się w nim atrybuty. Zakres obowiązywania przestrzeni nazw obejmuje cały, w ramach którego została ona zdefiniowana. <fragment xmlns:prac="http://www.host.org"> <prac:ksiazka prac:tytul="tytul" prac:rozdzial="5"/> <akapit strona="123"> Zawartość </akapit> </fragment> Page 4
Definicja typu dokumentu Definicja typu dokumentu określa schemat możliwych dokumentów XML tworzonych zgodnie z danym typem. Metody definicji schematu dokumentu XML to: DTD (Document Type Definition) XML Schema, plikin.xsd DTD jest definiowany bezpośrednio w rekomendacji XML Schemat XML Schema, jako późniejszy, definiowany jest w oddzielnej specyfikacji. Schematy - xsd <?xml version="1.0"?> <Kartka xmlns:xsi="http://www. w3. org/2001/xml Schem a-instanc e" xsi:schemalocation=htt p://www. gislab.ar. wr oc.pl/"ka rtka.xsd" data="4-09-2007" > <Pozdrowienie> Witajcie! </Pozdrowienie > </Kartka> <?xml version="1.0" encoding="utf- 16"?> <xs:schema xmlns:xs="http://www. w3.org/2001/xmlsc hem a"> <xs:complextype name="kartkatype"> <xs:sequence> <xs: minoccurs="1" maxoccurs="1" name="pozdrowie nie " type="xs:string" /> </xs:sequence> <xs:attribute name="data" type="xs:string" /> </xs:complextype> <xs: name="kartka" type="kartkatype" /> </xs:schema> za T.Kubik Dziękuję za uwagę Page 5