Wprowadzenie do DTD

Definicja typu dokumentu (DTD) może zdefiniować legalne moduły dokumentu XML. Używa szeregu legalnych elementów do zdefiniowania struktury dokumentu.

DTD może być deklarowane liniowo w dokumencie XML lub jako zewnętrzna odniesienie.

wewnętrznej deklaracji DOCTYPE

Jeśli DTD jest zawarty w Twoim pliku XML źródłowego, powinien być zawarty w deklaracji DOCTYPE według poniższej składni:

!DOCTYPE główny element [deklaracje elementów]>

Przykład dokumentu XML z DTD (otwórz w IE5 lub nowszej wersji i wybierz "Zobacz kod źródłowy"):

<?xml version="1.0"?>
!DOCTYPE note [
  <!ELEMENT note (to,from,heading,body)>
  !ELEMENT to      (#PCDATA)>
  !ELEMENT from    (#PCDATA)>
  <!ELEMENT heading (#PCDATA)>
  !ELEMENT body    (#PCDATA)>
]>
<note>
  <to>George</to>
  <from>John</from>
  <heading>Reminder</heading>
  <body>Don't forget the meeting!</body>
</note>

Otwórz ten plik XML w swojej przeglądarce i wybierz polecenie "Zobacz kod źródłowy".

Poniższe wyjaśnienie DTD:

!DOCTYPE note [ (Drugi wiersz) Definicja tego dokumentu jako note rodzaju dokumentu.

!ELEMENT note (Trzeci wiersz) Definicja note Element ma cztery elementy: "to, from, heading, body"

!ELEMENT to (Czwarty wiersz) Definicja to Element ma typ "#PCDATA"

!ELEMENT from (Piąty wiersz) Definicja from Element ma typ "#PCDATA"

!ELEMENT heading (Szósty wiersz) Definicja heading Element ma typ "#PCDATA"

!ELEMENT body (Siódme wiersz) Definicja body Element ma typ "#PCDATA"

Zewnętrzna deklaracja dokumentu

Jeśli DTD znajduje się w zewnętrznym pliku XML, powinien być zawarty w definicji DOCTYPE według poniższego składni:

<!DOCTYPE główny element SYSTEM "nazwa pliku">

Ten dokument XML jest taki sam jak powyższy dokument XML, ale ma zewnętrzny DTD: (Otwórz w IE5i wybierz polecenie "Zobacz kod źródłowy".)

<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "note.dtd">
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>

Oto plik "note.dtd" zawierający DTD:

<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>

Dlaczego używać DTD?

Przez DTD, każdy plik XML może przenosić opis swojego formatu.

Przez DTD, niezależne grupy mogą zgodnie używać standardowego DTD do wymiany danych.

Twoja aplikacja może również używać standardowego DTD do walidacji danych otrzymanych z zewnątrz.

Możesz również używać DTD do walidacji swoich danych.