3. Struktura XML Deklaracja XML Atrybut Zawartość tekstowa Element główny Element Znacznik początkowy Znacznik końcowy
4. Struktura logiczna dokumentu XML zeznanie-sprawcy miejsce autor tresc Jan Leski Sopot Wypadek dnia data 22.10.2007 o godzinie godzina 13:13 ( dzienTygodnia środa ... nr="1313/2001" …
12. 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)> ]> element główny zawartość elementów atrybuty wyrażenia regularne
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43. Przestrzenie nazw a schematy osoba imię nazwisko NIP http://zajecia.edu.pl/osoby firma nazwa NIP http://zajecia.edu.pl/instytucje osoby.xsd inst.xsd import
50. Podstawowe typy proste 12.3 +000012.300 decimal 1968-04-02T13:20:00.887 dateTime 13:20:00.887 13:30:00-05:00 time 1968-04-02 1968-04-02-05:00 1968-04-02Z -0045-02-02 Date osoba string +24.3e-3 12 float , double Poprawne wartości Typ
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, kodowanie 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.
Drugi stopień poprawności (poprawność strukturalna) wymaga, aby spełniony był także pierwszy. Ma on sens jedynie dla dokumentów z określoną strukturą. Dokument, który nie jest poprawny składniowo, nie jest dokumentem XML.
Podobnie jak implementacja (kodowanie) jest tylko jedną z wielu faz budowy systemu informatycznego, tak zapisywanie definicji języka przy pomocy DTD lub XML Schema 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 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), &quot;rozgarnięty&quot; projektant poradzi sobie od razu kodując definicję przy pomocy DTD lub XML Schema.
Podczas abstrakcyjnego, niezależnego od notacji zapisu (DTD lub XML Schema), projektowania struktury dokumentów, używa się z reguły notacji graficznych. Istnieją specjalne programy, które pozwalają na takie graficzne projektowanie, np. XML Authority.
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 &quot;czysty&quot; tekst, bez podelementów. DTD określa także atrybuty elementów.
Taką kontrolę poprawności możemy oczywiście zaimplementować sami w kodzie naszej aplikacji (ewentualnie parametryzując aplikację przy pomocy atrybutów #FIXED ), jest to jednak dość pracochłonne. Dobrze byłoby zrzucić walidację na parser XML. Standard XML Schema pozwala na definiowanie struktur dokumentów z dużo bardziej niż w DTD zaawansowaną kontrolą zawartości.