Dokument XML z prawidłową składnią nazywany jest "Well Formed" .
Dokument XML sprawdzane przed DTD jest zarówno "Well Formed" i "Valid" .
Prawidłowe Dokumenty XML
"Valid" dokument XML jest "Well Formed" dokument XML, który jest również zgodne z zasadami DTD:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note SYSTEM "Note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Deklaracja DOCTYPE, w powyższym przykładzie, to odwołanie do zewnętrznego pliku DTD. Zawartość pliku przedstawiono w poniższym akapicie.
XML DTD
Celem DTD jest określenie struktury dokumentu XML. Definiuje strukturę z listą elementów prawnych:
<!DOCTYPE note
[
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
DTD powyżej jest interpretowana w następujący sposób:
- ! DOCTYPE note określa, że element główny dokumentu jest notatka
- ! ELEMENT note określa, że element uwaga musi zawierać elementy: "to, from, heading, body"
- ! ELEMENT celu definiuje się do elementu, który ma być typu "#PCDATA"
- ! ELEMENT od definiuje się od elementu typu "#PCDATA"
- ! Nagłówek element definiuje element nagłówka być typu "#PCDATA"
- ! ELEMENT ciało definiuje element ciała, aby być typu "#PCDATA"
#PCDATA Oznacza dane tekstowe zanalizować-stanie.
Korzystanie DTD do deklaracji Entity
Oświadczenie doctype mogą być również wykorzystywane do definiowania znaków specjalnych i ciągi znaków, używane w dokumencie:
Przykład
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note [
<!ENTITY nbsp
" ">
<!ENTITY writer "Writer: Donald Duck.">
<!ENTITY copyright "Copyright: w3ii.">
]>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
<footer>&writer; ©right;</footer>
</note>
Spróbuj sam " Jednostka składa się z trzech części: Ampersand (&) , nazwę jednostki i średnik (;) .
Kiedy używać DTD / Schema?
Z DTD, niezależne grupy osób może zgodzić się na użycie standardowego DTD do zamiany danych.
Z DTD, można sprawdzić, czy dane otrzymasz od świata zewnętrznego jest ważna.
Można również użyć DTD w celu sprawdzenia własnych danych.
Jeśli chcesz studiować DTD, zapoznaj się z naszą DTD Tutorial .
Kiedy nie używać DTD / Schema?
XML nie wymaga DTD / Schema.
Podczas eksperymentowania z XML lub podczas pracy z małymi plikami XML, tworząc DTD może być stratą czasu.
Jeśli tworzenie aplikacji należy odczekać, aż specyfikacja jest stabilna przed dodaniem definicji dokumentu. W przeciwnym razie oprogramowanie może przestać działać z powodu błędów walidacji.