Âñúùíîñò è äúùåðíèòå åëåìåíòè, êîèòî ìîæå äà ñúäúðæà åäèí òàã, ñà òèï
äàííè, êîèòî òîé ìîæå äà ñúäúðæà. Òèïà äàííè ìîæå äà áúäå:
Ñïèñúê íà äúùåðíè òàãîâå, çàòâîðåí â êðúãëè ñêîáè
Êëþ÷îâàòà äóìà EMPTY, óêàçâàù òàã, êîéòî íå ñúäúðæà íèùî (ñàìîçàòâàðÿù ñå òàã)
Êëþ÷îâàòà äóìà ANY, äåôèíèðàù òàã, êîéòî ìîæå äà ñúäúðæà ïðîèçâîëåí òèï äàííè (äúùåðíè òàãîâå, òåêñò è ò.í.)
Òèï #PCDATA, çàòâîðåí â êðúãëè ñêîáè
Ïðè äåôèíèðàíåòî íà ïîðåäèöà äúùåðíè òàãîâå, òå ñå ðàçäåëÿò ñúñ çàïåòàÿ
- òîâà îïðåäåëÿ íå ñàìî êàêâè ñà äîïóñòèìèòå òàãîâå, íî è ðåäà, â êîéòî
òå òðÿáâà äà ñå ïîÿâÿò. Äðóãè ñïåöèàëíè ñèìâîëè, êîèòî ìîæåòå äà
èçïîëçâàòå ñëåä èìåòî íà äúùåðåí òàã ñà:
? - óêàçâà, ÷å åëåìåíòà òðÿáâà äà ñå ñúäúðæà ñàìî âåäíúæ èëè íèòî âåäíúæ
* - óêàçâà, ÷å åëåìåíòà ìîæå äà ñå ñúäúðæà òîëêîâà ïúòè, êîëêîòî àâòîðà èñêà
+ - óêàçâà, ÷å åëåìåíòà òðÿáâà äà ñå ñúäúðæà ïîíå âåäíúæ, íî å âúçìîæíî
ìíîæåñòâî ïîâòîðåíèÿ Àêî íå å èçïîëçâàí íèòî åäèí îò òåçè ñèìâîëè, òî
åëåìåíòà òðÿáâà äà ïðèñúñòâà ñàìî åäèí ïúò. Åòî åäèí ïðèìåð çà
èçïîëçâàíåòî íà òåçè ñèìâîëè:
Êîä:
<!ELEMENT skininfo (version, name, comment?, author+, email*, homepage*, screenshot)>
Òàçè äåêëàðàöèÿ îïðåäåëÿ ñëåäíîòî:
Òàãîâåòå
, è òðÿáâà äà ïðèñúñòâàò, ïðè òîâà ñàìî ïî âåäíúæ
Âúçìîæíî å äà èìà òàã <comment> íî íå ïîâå÷å îò âåäíúæ
Äîïóñòèìî å íåîãðàíè÷åíî êîëè÷åñòâî òàãîâå , íî òðÿáâà äà èìà ïîíå âåäíúæ
Çà òàãîâåòå <email> è <homepage> íÿìà îãðàíè÷åíèÿ
Îïðåäåëÿíå íà àòðèáóòè
Äîêóìåíòà îñâåí îò òàãîâå ñå ñúñòîè îò àòðèáóòè. Äåôèíèöèÿòà íà àòðèáóòèòå íà äàäåí òàã ñòàâà ñ ïîìîùòà íà òàãà <!--ATTLIST-->
Ñèíòàêñèñà íà òîçè òàã å <!ATTLIST ÈìåÍàÒàã ÈìåÍàÀòðèáóò ÒèïÄàííè
ÑòîéíîñòÏîÏîäðàçáèðàíå>  åäèí è ñúùè òàã <!ATTLIST> ìîæåòå (è
òðÿáà) äà äåôèíèðàòå íåîãðàíè÷åí áðîé àòðèáóòè íà äàäåí òàã, êàòî çà
âñåêè âêëþ÷âàòå òèï äàííè è ñòîéíîñò ïî ïîäðàçáèðàíå.
Òèïîâåòå äàííè çà àòðèáóòèòå ñà:
-
CDATA - â àòðèáóòà ìîæå äà ñå èçïîëçâà ñàìî ñèìâîëåí íèç (òîâà å ñòàíäàðòíèÿ òèï)
-
ENTITY - àòðèáóòà îïðåäåëÿ ïðåäâàðèòåëíî äåêëàðèðàí äâîè÷åí (ò.å. íå-òåêñòîâ) âúíøåí ôàéë
-
ENTITIES å ñúùîòî êàòî ENTITY, íî ïîçâîëÿâà ìíîæåñòâî ñòîéíîñòè, ðàçäåëåíè ñúñ çàïåòàÿ
-
ID - ñòîéíîñòòà íà àòðèáóòà òðÿáâà äà å óíèêàëåí èäåíòèôèêàòîð.
-
NMTOKEN - ñòîéíîñòòà íà àòðèáóòà ìîæå äà áúäå ïðîèçâîëíà êîìáèíàöèÿ îò
÷èñëà, áóêâè, òî÷êè, òèðåòà, äâóåòî÷èÿ è underscore (" _ ")
-
NOTATION - àòðèáóòà òðÿáâà äà óêàçâà íîòàöèÿ, äåêëàðèðàíà â äîêóìåíòà. Ïîâå÷å çà íîòàöèÿòà ùå íàó÷èòå ïî-íàòàòúê
Ïîñëåäíèÿ âàðèàíò å ò.íàð "Åíóìåðàöèÿ" - ò.å. àòðèáóòà òðÿáâà äà
ñúäúðæà åäíà îò íÿêîëêî âúçìîæíè ñòîéíîñòè. Òå ñå îïðåäåëÿò, êàòî ñå
çàïèñâàò âúâ êðúãëè ñêîáè, ðàçäåëåíè îò ñèìâîëà |
Ïðèìåð çà åíóìåðàöèÿ å ñëåäíèÿ êîä:
<!ATTLIST File archiveType (Zip|Rar|Ace|Cab|None) "None">
Òîçè êîä äåêëàðèðà àòðèáóò archiveType íà òàãà File ñ âúçìîæíè
ñòîéíîñòè "Zip", "Rar", "Ace", "Cab" èëè "None", êàòî "None" å ñòîéíîñò
ïî ïîäðàçáèðàíå
Âúçìîæíèòå ñà ñëåäíèòå âàðèàíòè çà ñòîéíîñò ïî ïîäðàçáèðàíå:
#REQUIRED îçíà÷àâà, ÷å àòðèáóòà å çàäúëæèòåëåí
#IMPLIED îçíà÷àâà, ÷å àòðèáóòà å îïòèîíàëåí è ñå èãíîðèðà, àêî íÿìà äàäåíà ñòîéíîñò
#FIXED îçíà÷àâà, ÷å àòðèáóòà òðÿáâà äà èìå åäíà êîíêðåòíà ñòîéíîñò,
îïðåäåëåíà îò ñòîéíîñòòà, ñëåäâàùà íåïîñðåäñòâåíî äèðåêòèâàòà #FIXED è
äîðè è àêî àòðèáóòà íå å âêëþ÷åí, ñå èçïîëçâà òàçè ñòîéíîñò
Ïîëñåäíèÿ âàðèàíò å ïðîñòî äà íàïèøåòå ñòîéíîñò, êîÿòî äà ñå èçïîëçâà êàòî ñòîéíîñò ïî ïîäðàçáèðàíå.
Èçïîëçâàíå íà äâóè÷íè ôàéëîâå
 XML ñúùåñòâóâà òàã, êîéòî ïîçâîëÿâà íàèìåíîâàíå íà ïðåäâàðèòåëíî
äåôèíèðàíà èíôîðìàöèÿ. Ò.å. ìîæåòå äà îïðåäåëèòå name êàòî "John" è
íàâñÿêúäå, êúäåòî ïðàâèòå îáðúùåíèÿ êúì &name; òîâà ùå áúäå
çàìåíåíî ñ "John". Ïðåäèìñòâîòî íà òîçè ìåòîä å, ÷å ìîæåòå äà ñìåíèòå
èìåòî ñàìî íà åäíî ìÿñòî è òîâà ùå ñå îòðàçè íà öåëèÿ äîêóìåíò. Îùå
ïî-ãîëÿìî ïðåäèìñòâî å, ÷å ìîæåòå äà îïðåäåëèòå âúíøåí äâóè÷åí ôàéë è
äà ãî èçïîëçâàòå â XML äîêóåìòà. Òàãúò, ñ êîéòî ñå îñúùåñòâÿâà âñè÷êî
òîâà å <!ENTITY>. Ðàçáèðà ñå, ñèíòàêñèñà ìó å ðàçëè÷åí, êîãàòî
ñòàâà âúïðîñ çà òåêñò èëè çà âúíøåí ôàéë. Ðàçëèêàòà å ñúùàòà, êàêâàòî è
â äåêëàðàöèÿòà íà DTD è ôàéë, êîéòî îïðåäåëÿ ñòðóêòóðàòà íà äîêóìåíòà.
Àêî èñêàòå äà äåêëàðèðàòå ñèìâîëåí íèç, ñèíòàêñèñà å
Êîä:
<!ENTITY name "John>
Ñëåä òîâà çà äà âêàðàòå òîçè íèç â äîêóìåíòà, òðÿáâà äà èçïîëçâàòå
èìåòî, ïðåäøåñòâàíî îò àìåïðñàíä (&) è çàâúðøâàùî ñ òî÷êà è çàïåòàÿ
- &name; Êîãàòî äåêëàðèðà âúíøåí ôàéë îáà÷å, ñëåä èìåòî íà ðåñóðñà,
÷ðåç êîåòî ùå èçâúðøâàòå îáðúùåíèÿ êúì íåãî, òðÿáâà äà âêëþ÷èòå
êëþ÷îâàòà äóìà SYSTEM. Ñúùî òàêà òðÿáâà äà äåêëàðèðàòå òèïà íà òîçè
ôàéë è êîå ïðèëîæåíèå ùå ñå èçïîëçâà çà îòâàðÿíåòî ìó. Åòî åäèí ïðèìåð:
Êîä:
<!ENTITY image SYSTEM "image.gif" NDATA GIF>
Âàæíî å äà îòáåëåæèì, ÷å òóêà êëþ÷îâè äóìè ñå ÿâÿâàò SYSTEM è NDATA,
äîêàòî GIF å ñàìî èäåíòèôèêàòîð. Ò.å. ñëåä NDATA ìîæå äà èìå ïðîèçâîëåí
èäåíòèôèêàòîð, íî òîçè èäåíòèôèêàòîð ñúùî òðÿáâà äà áúäå äåêëàðèðàí.
Òîâà ñòàâà ÷ðåç òàãà <!NOTATION>:
Êîä:
<!NOTATION GIF SYSTEM "Iexplore.exe">
Òîçè êîä äåêëàðèðà, ÷å äâîè÷íè ôàéëîâå, çà êîèòî NDATA å îïðåäåëåíà
êàòî GIF, òðÿáâà äà ñå îòâàðÿò ñ âúíøíîòî ïðèëîæåíèå "Iexplore.exe"