Razlika između inačica stranice »Document Type Definition«

Obrisano 356 bajtova ,  prije 12 godina
bez sažetka
m (robot Dodaje: wuu:DTD)
'''DTD''' (Document Type Definition) je stariji način određivanja pravila strukture [[XML]] dokumenta. U zaglavlju [[XML]] dokumenta navodi se oznaka DTDa prema pravilima kojeg je dokument formatiran. Za vrijeme kreiranja [[XML]] dokumenta, kreator koristi DTD kako bi formirao [[XML]] dokument prema odgovarajućim pravilima. Svaki korisnik tog [[XML]] dokumenta koristeći odgovarajući DTD zna na ispravan način interpretirati sadržaj [[XML]] dokumenta. Također primjenom pravila iz DTDa osoba koja kreira novi [[XML]] dokument može provjeriti da li ga je na ispravan način formirala.
 
 
=== XML blokovi sadržaja ===
Sa stajališta DTDa svaki [[XML]] document sastoji se od od slijedećih tipova blokova sadržaja:
# '''Elementi''' su osnovni blokovi [[XML]] dokumenta. Elementi mogu sadržavati druge elemente, sadržaj ili biti prazni. <br />
# '''Atributi''' sadrže dodatne informacije o elementima. Navode se unutar početne oznake elementa. <br />
# '''Entiteti''' su varijable koje definiraju često korišteni tekst. Postoje i reference na entitete. Jedna od najpoznatijih i najčešće korištenih je referenca na znak praznine &amp;nbsp;.<br />
# '''PCDATA''' predstavlja tekst koji će parsirati [[XML]] parser. [[XML]] oznake na koje parser naiđe tretirati će kao posebne [[XML]] oznake i interpretirati ih na odgovarajući način.<br />
# '''CDATA''' predstavlja tekst koji [[XML]] parser neće parsirati. [[XML]] oznake na koje parser naiđe tretirati će kao običan tekst i neće ih interpretirati kao [[XML]] oznake.<br />
 
=== DTD elementi ===
* '''podaci''' su sadržaj najniže razine i unutar njega se navodi krajnji sadržaj. Model toga sadržaja označava se s '''<nowiki>#</nowiki>PCDATA'''.
 
 
<table{| class="wikitable" border="1">
<tr><td> '''DTD'''</td><td> '''XML'''</td></tr>
|-
<tr><td><tt><!ELEMENT ime (#PCDATA)><br><!ELEMENT prezime (#PCDATA)></tt></td>
! DTD || XML
<td><tt><ime>Pero</ime><br>
|-
<prezime>Perić</prezime></tt></td></tr>
<tr><td>| <tt><!ELEMENT ime (#PCDATA)><br><!ELEMENT prezime (#PCDATA)></tt> || <tt><ime>Pero</tdime><br>
</table>
<prezime>Perić</prezime></tt></td></tr>
|}
 
* '''elementi''' sadrže elemente podređene razine. Model toga sadržaja sastoji se od niza podređenih elemenata razdvojenih zarezima. Redoslijed niza '''je važan''';
 
<table class="wikitable" border="1">
 
<tr><td> '''DTD'''</td><td> '''XML'''</td></tr>
<table{| class="wikitable" border="1">
<tr><td><tt><!ELEMENT osoba (ime, prezime?)></tt></td>
|-
<td><tt><osoba><br><ime>Pero</ime><br>
! DTD || XML
|-
<tr><td>| <tt><!ELEMENT osoba (ime, prezime?)></tt> || <tt><osoba><br><ime>Pero</tdime><br>
<prezime>Perić</prezime><br>
</osoba>
</tt></td></tr>
|}
</table>
 
* '''prazni elementi''' ne sadrži niti podatke niti elemente. Model tog sadržaja označava se s '''EMPTY'''.
 
<table{| class="wikitable" border="1">
<tr><td> '''DTD'''</td><td> '''XML'''</td></tr>
|-
<tr><td><tt><!ELEMENT br EMPTY></tt></td>
! DTD || XML
<td><tt>&lt;br /&gt;</tt></td></tr>
|-
</table>
<tr><td>| <tt><!ELEMENT br EMPTY></tt> || <tt>&lt;br /td&gt;</tt>
|}
 
* '''miješani sadržaj''' sastoji se od podataka i elemenata podređene razine. Model se sastoji od niza podređenih elemenata i od oznake '''<nowiki>#</nowiki>PCDATA'''.
Druga vrsta entiteta su oni koje sami deklarirate unutar DTD dokumenta i koristite unutar XML dokumenta. Prilikom obrade (parsiranja) XML dokumenta DTD entitet će se pretvoriti u vezanu vrijednost. Entiteti se deklariraju unutar '''ENTITY''' deklaracije.
 
 
<table{| class="wikitable" border="1">
<tr><td> '''DTD'''</td><td> '''XML prije parsiranja'''</td><td>'''XML nakon parsiranja'''</td></tr>
|-
<tr><td><tt><!ENTITY imeAutora "Pero Perić"></tt></td>
<tr><td>! '''DTD'''</td><td> '''|| XML prije parsiranja'''</td><td>''' || XML nakon parsiranja'''</td></tr>
<td><tt><autor><br>&amp;imeAutora;<br></autor></tt></td>
|-
<td><tt><autor><br>Pero Perić<br></autor></tt></td>
| <tt><!ENTITY imeAutora "Pero Perić"></tt> || <tt><autor><br>&amp;imeAutora;<br></autor></tt> || <tt><autor><br>Pero Perić<br></autor></tt>
</tr>
|}
</table>
 
== Deklariranje DTD modela ==