Ultimele tutoriale de dezvoltare web
 

Tutorial DTD


Ce este un DTD?

Un DTD este un document Type Definition.

Un DTD definește structura și elementele juridice și atributele unui document XML.


De ce să utilizați un DTD?

Cu un DTD, grupuri independente de oameni pot conveni asupra unui DTD standard pentru interschimbarea datelor.

O aplicație poate folosi un DTD pentru a verifica dacă datele XML este valid.


O declarație internă DTD

Dacă DTD - ul este declarată în interiorul fișierului XML, acesta trebuie să fie înfășurat în interiorul <!DOCTYPE> Definiție:

document XML cu DTD intern

<?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>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend</body>
</note>
Vezi fișier XML »

În fișierul XML, selectați "view source" de "view source" , pentru a vedea DTD - ul.

DTD-ul de mai sus este interpretat astfel:

  • !DOCTYPE note definește faptul că elementul rădăcină al acestui document este notă
  • !ELEMENT note definește că elementul de notă trebuie să conțină patru elemente: "to,from,heading,body" de "to,from,heading,body"
  • !ELEMENT to defineste elementului pentru a fi de tip "#PCDATA"
  • !ELEMENT from defineste elementul de la a fi de tip "#PCDATA"
  • !ELEMENT heading definește elementul antet pentru a fi de tip "#PCDATA"
  • !ELEMENT body definește elementul corpului să fie de tip "#PCDATA"

O declarație DTD extern

Dacă DTD - ul este declarat într - un fișier extern, <!DOCTYPE> definiție trebuie să conțină o trimitere la fișierul DTD:

document XML cu o referință la un DTD extern

<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "note.dtd">
<note>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>
Vezi fișier XML »

Și aici este fișierul "note.dtd" , care conține DTD - ul:

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