Instytut Informatyki
Literatura http://www.w3c.org/tr/ - Technical Reports K. B. Stall - XML Family of Specifications, Addison-Wesley 2003 P. Kazienko, K. Gwiazda - XML na poważnie, Helion 2002 XML Rozszerzalny język znaczników - metajęzyk opisu danych, czyli język do tworzenia różnych konkretnych języków opisu danych, na przykład na stronie Portalu Studenta UG jest dostęp do języka do opisu prac magisterskich.
Dlaczego XML? XML jest oparty na SGML, budowany na doświadczeniach z HTML - główna różnica to rozszerzalność HTML nie wystarcza - dokumenty HTML są różnie prezentowane w różnych przeglądarkach, trudna jest zmiana wyglądu strony, tworzenie róznych wersji językowych, wielkrotne wykorzystywanie tych samych danych, rośnie liczba urządzeń korzystających z internetu: komputery, telefony, TV, urządzenia nawigacji w samochodach itp - dane muszą być niezależne od urządzenia do ich prezentowania, zastosowania XML w e-biznesie sieć semantyczna - wyszukiwarki powinny korzystać z informacji semantycznych.
Struktura dokumentu HTML Porównajmy dwa dokumenty: przykladowy dokument w HTML - strona.html przykładowy dokument w XML - opispracymag.xml Jakie występują znaczniki?
Trochę faktów o XML jest językiem tekstowym - można używać dowolnych edytorów tekstowych, jest rozszerzalny - mozna używać własnych znaczników, jest elastyczny - strukturę dokumentu można zmieniać; dlatego tam gdzie struktura informacji często się zmienia lepiej użyć XML niż bazy danych, jest międzynarodowy - do kodowania znaków zalecany jest standard Unicode definiujący kody dla wszystkich najważniejszych języków świata, XML sam sie opisuje - por. opispracymag.xml, XML to rodzina języków i technologii, stale rozwijanych
Trochę faktów o XML, cd jest niezależny od platformy, jest językiem żywym - obszar zastosowań zmienia się dynamicznie, powstają nowe standardy; jest standardem otwartym, XML jest sformalizowany - można precyzyjnie określić strukturę dokumentu oraz hierarchię, umożliwia oddzielenie treści od formy prezentacji, XML jest modułowy - dokumenty mogą byc tworzone stopniowo, można je łączyć poprzez przestrzenie nazw, encje itd.
Technologie O mocy XML stanowią konkretne języki XML i narzędzia programistyczne, które wspomagają użycie XML w różnych dziedzinach: języki opisu klas dokumentów oraz narzędzia do walidacji dokumentów względem danej klasy, np. język XML Schema i parser xerces, języki programowania transformacji dokumentów (XSLT) oraz narzędzia wykonujące te transformacje (procesor xalan), języki opisu arkuszy prezentacji oraz narzedzia formatujące prezentacje dokumentów
Dokument XML Podstawowe składniki dokumentu: elementy, atrybuty, instrukcje przetwarzania, deklaracje.
Dokument XML, cd Elementy moga byc niepuste - zawierające treść lub puste, Poprawny dokument musi sie zaczynać od deklaracji XML, musi istnieć unikatowy element główny - korzeń (np. danepracy w dokumencie opispracymag.xml), elementy mogą być zagnieżdżone - nie mogą na siebie nachodzić, wartości atrybutów zapisujemy w cudzysłowach.
Notacja EBNF - Extended Backus - Naur Form EBNF= BNF + wyrażenia regularne EBNF składa się z reguł postaci: symbol ::= wyrazenie symbole definiowane po lewej stronie reguł, to inaczej symbole nieliteralne, czyli zmienne; symbole literalne zapisuje się w znakach apostrofu, co może sie pojawiać w wyrażeniach: #xn znak Unicode o kodzie N, [a-k] dowolny znak z zakresu [abc] dowolny znak z listy [ˆ abc] dowolny znak spoza listy. pojedynczy znak napis - dowolny napis
Składanie wyrażeń (A) wyrażenie A jako jednostka, A? A lub puste, AB najpierw A potem B, A B A lub B, A-B A ale nie B, A+ A powtórzone conajmniej raz A* A powtórzone dowolna liczbę razy
Przykład definicji Digit::=[0-9] Letter::=[a-zA-Z] CombiningChar::=[#x0300-#x0345] NameChar::=Letter Digit. - : CombiningChar Name::=(Letter : ) (NameChar)* NMToken::=(NameChar)+ Nazwy Nazwy znaczników mogą zawierać cyfry i myślniki, ale nie mogą się od nich zaczynać!
Przykłady [a-ka-k][0-9][ˆ abc] ag88 NIE CdK6 NIE b35 TAK A9a NIE i7abc NIE [a-ka-k] [0-9]?. jakie przykłady?