XML DTD


Sintaksisi to‘g‘ri bo‘lgan XML hujjat "to‘g‘ri tuzilgan" ("Well Formed") deb ataladi.

DTD asosida tekshirilgan XML hujjat ham "to‘g‘ri tuzilgan" (Well Formed), ham "yaroqli" (Valid) hisoblanadi.


ULASHISH

DTD nima?

DTD — Document Type Definition (hujjat turi ta’rifi) degan ma’noni anglatadi.

DTD XML hujjatning tuzilmasini hamda ruxsat etilgan elementlar va atributlarini belgilaydi.


Yaroqli (valid) XML hujjatlari

"Yaroqli" XML hujjat "to‘g‘ri tuzilgan" bo‘ladi va shu bilan birga DTD qoidalariga mos keladi:

<?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>

Yuqoridagi DOCTYPE e’loni DTD fayliga havolani o‘z ichiga oladi. DTD faylining mazmuni quyida ko‘rsatilgan va tushuntirilgan.


XML DTD

DTD’ning maqsadi — XML hujjatning tuzilmasini hamda ruxsat etilgan elementlar va atributlarini belgilash:

Note.dtd:

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

Yuqoridagi DTD quyidagicha talqin qilinadi:

  • !DOCTYPE note - hujjatning ildiz elementi note ekanini belgilaydi
  • !ELEMENT note - note elementi "to, from, heading, body" elementlarini o‘z ichiga olishi kerakligini belgilaydi
  • !ELEMENT to - to elementini "#PCDATA" tipida deb belgilaydi
  • !ELEMENT from - from elementini "#PCDATA" tipida deb belgilaydi
  • !ELEMENT heading - heading elementini "#PCDATA" tipida deb belgilaydi
  • !ELEMENT body - body elementini "#PCDATA" tipida deb belgilaydi

Maslahat: #PCDATA — tahlil qilinadigan (parse qilinadigan) belgilar ma’lumotlari (parseable character data) degani.



Entity e’lon qilish uchun DTD’dan foydalanish

DOCTYPE e’lonidan hujjatda ishlatiladigan maxsus belgilar yoki stringlarni belgilash uchun ham foydalanish mumkin:

Misol

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE note [ <!ENTITY nbsp "&#xA0;"> <!ENTITY writer "Writer: Donald Duck."> <!ENTITY copyright "Copyright: W3Schools."> ]> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> <footer>&writer;&nbsp;&copyright;</footer> </note>
O‘zingiz sinab ko‘ring »

Maslahat: Entity uch qismdan iborat: u ampersand (&) bilan boshlanadi, keyin entity nomi keladi va nuqtali vergul (;) bilan tugaydi.


DTD’dan qachon foydalanish kerak?

DTD yordamida mustaqil guruhlar ma’lumot almashish uchun standart DTD’dan foydalanishga kelishib olishlari mumkin.

DTD yordamida tashqi manbalardan olgan ma’lumotlaringiz yaroqli ekanini tekshirishingiz mumkin.

Shuningdek, o‘z ma’lumotlaringizni tekshirish uchun ham DTD’dan foydalanishingiz mumkin.

Agar DTD’ni o‘rganmoqchi bo‘lsangiz, DTD darsligimizni o‘qing.


DTD’dan qachon foydalanmaslik kerak?

XML uchun DTD majburiy emas.

XML bilan tajriba o‘tkazayotganingizda yoki kichik XML fayllar bilan ishlayotganingizda DTD yaratish vaqtni behuda sarflash bo‘lishi mumkin.

Agar ilovalar ishlab chiqayotgan bo‘lsangiz, DTD qo‘shishdan oldin spetsifikatsiya barqarorlashishini kuting. Aks holda dasturingiz tekshiruv (validation) xatolari tufayli ishlamay qolishi mumkin.


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!