Podstawy programowania II dr inż. Paweł Róg 1 Zagadnienia % Projektowanie dokumentów XML ą Elementy i atrybuty ą Typy dokumentów XML ą Pisanie dokumentów XML ą Testowanie dokumentów XML 2 Przykładowy dokument XML
Verbatim DataLife MF 2HD 10 3.5" black floppy disks
3 Bardzo prosty dokument XML Alan Turing
% Dokument ten składa się z jednego elementu o nazwie person, ograniczonego tagami i oraz zawartości Alan Turing % i są znacznikami 4 Składnia znaczników % Znaczniki XML mają podobną składnię do znaczników HTML. % Znacznik początkowy rozpoczyna się od <, natomiast końcowy od znacznika, zakończona w obu przypadkach >. % W przeciwieństwie do HTML, w XML nazwy znaczników mogą być dowolne. % Elementy puste (które nie mają zawartości) mogą być zapisane albo w postaci albo w postaci . Nie może być natomiast niedomkniętych znaczników (np. lub ). % Rozróżniana jest wielkość znaków w nazwach znaczników (, oraz są różnymi znacznikami). 5 Nieco bardziej złożony dokument Alan Turing
computer scientist mathematician cryptographer
6 Korzeń, rodzice i dzieci % Zależności pomiędzy elementami można przedstawić w postaci drzewa 7 Rodzice i dzieci % Dokument z powyższego przykładu nadal składa się z jednego elementu person, jednak zawartością tego elementu nie jest zwykły tekst, ale cztery inne elementy: jeden element name oraz trzy elementy profession. % Element person jest nazywany rodzicem elementów name i profession, które z kolei są nazywane jego dziećmi. % Jeden rodzic może mieć wiele dzieci, jednak każde dziecko musi mieć (poza jednym wyjątkiem) dokładnie jednego rodzica. 8 Korzeń % Każdy dokument XML ma jeden element, który nie ma rodzica. % Jest to pierwszy element w dokumencie. Element ten zawiera wszystkie pozostałe elementy. % Element ten jest nazywany korzeniem dokumentu. % Każdy dobrze sformatowany dokument XML zawiera dokładnie jeden korzeń. % W naszym przypadku korzeniem jest element person. 9 Mieszana zawartość % W poprzednim przykładem zawartością elementów first_name, last_name oraz profession były dane tekstowe, które nie zawierały znaczników. % Zawartością elementów person oraz name były elementy-dzieci. % Taki podział na elementy, które zawierają wyłącznie inne elementy oraz elementy, które zawierają wyłącznie tekst jest popularny w dokumentach o charakterze rekordów danych. % XML może być jednak używany do tworzenia dokumentów narracyjnych, takich jak raporty, artykuły, opowiadania, strony WWW itp. 0 1 Narracyjny dokument XML Alan Turing was one of the first people to truly deserve the name computer scientist. Although his contributions to the field are too numerous to list, his best-known are the eponymous Turing Test and Turing Machine.
The Turing Test is to this day the standard test for determining whether a computer is truly intelligent. This test has yet to be passed. 1 1 A Turing Machine is an abstract finite state automaton with infinite memory that can be proven equivalent to any any other finite state automaton with arbitrarily large memory. Thus what is true for one Turing machine is true for all Turing machines no matter how implemented.
Turing was also an accomplished mathematician and cryptographer. His assistance was crucial in helping the Allies decode the German Enigma cipher. He committed suicide on June day>7, 1954 after being convicted of homosexuality and forced to take female hormone injections.
2 1 % Korzeniem przedstawionego dokumentu jest element biography. % Element biography zawiera elementy-dzieci paragraph i definition. % Elementy paragraph i definition zawierają elementy-dzieci: term, emphasize, name i profession oraz dane tekstowe nie zawierające znaczników. Elementy te mają mieszaną zawartość. % Tego typu zawartość jest mniej popularna i trudniejsza do zarządzania poprzez programy komputerowe. 3 1 Atrybuty % Elementy mogą mieć atrybuty, które są parami typu nazwa-wartość, dołączonymi do znacznika otwierającego. % Nazwy są oddzielone od wartości za pomocą znaku =. % Wartości są otoczone znakami " lub '. Alan Turing
4 1 % Kolejność, użycie " lub 'oraz znaki odstępu nie mają wpływu na znaczenie atrybutów: Alan Turing
6 1 Narracyjny dokument z atrybutami source="http://www.turing.org.uk/turing/pi1/busgroup.jpg" width="152" height="345"/> Alan Turing was one of the first people to truly deserve the name computer scientist. Although his contributions to the field were too numerous to list, his best-known are the eponymous xlink:href="http://cogsci.ucsd.edu/~asaygin/tt/ttest.html">Tur ing Test and xlink:href="http://mathworld.wolfram.com/TuringMachine.html">T uring Machine. 7 1 Turing was also an accomplished mathematician and cryptographer. His assistance was crucial in helping the Allies decode the German Enigma machine.1 Turing committed suicide on June7,year>1954 after being convicted of homosexuality and forced to take female hormone injections.2
8 1 Nazwy w XML % Element lub inna nazwa w XML (np. atrybut) może zawierać znaki alfanumeryczne: A-Z, a-z, 0-9 oraz znaki spoza alfabetu angielskiego, np. ö, ç, itp. Może także zawierać: Ä… _ znak podkreÅ›lenia, Ä… - myÅ›lnik, Ä… . kropkÄ™. % Nazwa XML nie może zawierać innych znaków interpunkcyjnych, np. ", ', $, %, ;. % Nazwa XML nie może zawierać znaków odstÄ™pu. % Wszystkie nazwy zaczynajÄ…ce siÄ™ od XML sÄ… zarezerwowane. 9 1 PrzykÅ‚ady poprawnych nazw XML % 98 NY 32 % 7/23/2001 % Alan % <_4-lane>I-610 % 011 33 91 55 27 55 27 % 0 2 PrzykÅ‚ady bÅ‚Ä™dnych nazw XML % 98 NY 32 % 7/23/2001 % Alan % <4-lane>I-6104-lane> 1 2 Referencje % Dane znakowe wewnÄ…trz elementu nie mogÄ… zawierać znaku <, ponieważ jest on zawsze interpretowany jako poczÄ…tek taga. % JeÅ›li potrzebny jest znak < w tekÅ›cie należy użyć referencji <. % Kiedy parser bÄ™dzie czytaÅ‚ dokument, zamieni każde wystÄ…pienie <, ` lub < na znak <. 2 2 Referencje
3 2 % Podobnie, dane tekstowe nie mogą zawierać znaku & dlatego należy go zastąpić referencją & W.L. Gore & Associates % Ponieważ kod znaku & to 38, dlatego można go rónież zastąpić referencją & W.L. Gore & Associates 4 2 % Predefiniowane referencje: ą < Znak mniejszości, lewy nawias kątowy (<) ą & Ampersand (&) ą > Znak większości, prawy nawias kątowy (>) ą " Cudzysłów (") ą ' Apostrof (') 5 2 % Tylko < oraz & są wymagane. Pozostałe są opcjonalne. " i ' są przydatne wewnątrz wartości atrybutów, w celu uniknięcia niejednoznaczności z i ': width='122' height='66' alt='Powered by O'Reilly Books' /> 6 2 Sekcje CDATA % W przypadku, kiedy dokument XML zawiera przykłady kodu zródłowego XML lub HTML, wszystkie znaki < i & w tym kodzie muszą być zastąpione za pomocą < i & % W przypadku większych fragmentów tekstu może to się stać niewygodne i powodować błędy, w przypadku, kiedy dokument XML jest edytowany przez człowieka. % Aby temu zaradzić wprowadzono sekcje CDATA. Rozpoczynają się one . % Wszystko pomiędzy jest traktowane jako surowe dane znakowe. Znaki < i & nie są interpretowane. 7 2 Sekcje CDATA
You can use a default xmlns attribute to avoid having to add the svg prefix to all your elements:
]]>
8 2 Komentarze % W dokumentach XML można umieszczać komentarze rozpoczynające się znakami .
9 2 Sterowanie przetwarzaniem % XML umożliwia wstawianie w dokumencie instrukcji sterujących przetwarzaniem, umożliwiających przekazanie informacji do aplikacji przetwarzających dokument. % Instrukcja taka rozpoczyna się znakami i kończy znakami ?>. % Po znakach następuje nazwa aplikacji, do której skierowana jest instrukcja. % Przykładowa instrukcja skierowana do robotów indeksujących:
0 3 % Inna postać instrukcji :) mysql_connect("database.unc.edu", "clerk","password"); $result = mysql("HR", "SELECT LastName, FirstName FROM Employees ORDER BY LastName, FirstName"); $i = 0; while ($i < mysql_numrows ($result)) { $fields = mysql_fetch_row($result); echo "$fields[1] $fields[0] \r\n"; $i++; } mysql_close( ); ?> 1 3 % Przykładowa instrukcja polecająca przeglądarce zastosowanie do dokumentu XML arkuszu stylów przed jego wyświetleniem.
Alan Turing
2 3 Deklaracja XML % Dokument XML może rozpoczynać się od deklaracji XML:
Alan Turing
3 3 Atrybuty deklaracji XML % Atrybut version deklaracji XML okreÅ›la numer wersji XML i powinien mieć wartość 1.0. % Atrybut encoding okreÅ›la sposób kodowania dokumentu XML. % Atrybut standalone okreÅ›la, czy dany dokument XML wymaga odczytania zewnÄ™trznego dokumentu DTD. 4 3 PrzykÅ‚ad innego kodowania standalone="yes"?> Erwin Schrödinger
5 3 Testowanie dokumentów XML % Każdy dokument XML, bez wyjątku, musi być prawidłowo sformatowany. Tzn. musi spełniać zbiór reguł, m.in.: ą Każdy tag otwierający musi mieć swój tag zamykający, ą Elementy mogą być zagnieżdżone, ale nie mogą się przeplatać, ą Może być tylko jeden element-korzeń, ą Wartości atrybutów muszą być ograniczone " lub ', ą Element nie może mieć dwóch atrybutów o tej samej nazwie, ą Komentarze i instrukcje sterujące przetwarzaniem nie mogą być umieszczone wewnątrz tagów, ą Znaki < i & nie mogą wystąpić w danych tekstowych elementu lub atrybutu. % Przeglądarka, xmllint 6 3