XSD bilan tanishuv


ULASHISH

XML sxemasi nima?

XML sxemasi XML hujjatning tuzilishini tavsiflaydi.

XML Schema tili XML Schema Definition (XSD) deb ham ataladi.

XSD misoli

<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="note">   <xs:complexType>     <xs:sequence>       <xs:element name="to" type="xs:string"/>       <xs:element name="from" type="xs:string"/>       <xs:element name="heading" type="xs:string"/>       <xs:element name="body" type="xs:string"/>     </xs:sequence>   </xs:complexType> </xs:element> </xs:schema>

XML sxemasining maqsadi — XML hujjatning ruxsat etilgan tarkibiy qismlarini aniqlash:

  • hujjatda kelishi mumkin bo‘lgan elementlar va atributlar
  • bola elementlar soni (va tartibi)
  • elementlar va atributlar uchun ma’lumot tiplari
  • elementlar va atributlar uchun standart va qat’iy qiymatlar

Nega XML Schema’ni o‘rganish kerak?

XML olamida yuzlab standartlashtirilgan XML formatlari har kuni ishlatiladi.

Bu XML standartlarining ko‘pchiligi XML sxemalari orqali aniqlangan.

XML Schema — DTD’ning XML’ga asoslangan (va kuchliroq) muqobili.



XML sxemalari ma’lumot tiplarini qo‘llab-quvvatlaydi

XML sxemalarining eng katta afzalliklaridan biri — ma’lumot tiplarini qo‘llab-quvvatlashi.

  • Hujjatning ruxsat etilgan kontentini tavsiflash osonroq
  • Ma’lumotlarning to‘g‘riligini tekshirish osonroq
  • Ma’lumot fasetlarini (ma’lumotlarga qo‘yiladigan cheklovlarni) aniqlash osonroq
  • Ma’lumot andozalarini (ma’lumot formatlarini) aniqlash osonroq
  • Ma’lumotlarni turli ma’lumot tiplari o‘rtasida konvertatsiya qilish osonroq

XML sxemalari XML sintaksisidan foydalanadi

XML sxemalarining yana bir katta afzalligi — ular XML’da yoziladi.

  • Yangi tilni o‘rganishingiz shart emas
  • Sxema fayllaringizni tahrirlash uchun XML muharriringizdan foydalanishingiz mumkin
  • Sxema fayllaringizni tahlil qilish (parse) uchun XML parseringizdan foydalanishingiz mumkin
  • Sxemangizni XML DOM yordamida boshqarishingiz mumkin
  • Sxemangizni XSLT yordamida o‘zgartirishingiz mumkin

XML sxemalari kengaytiriluvchan, chunki ular XML’da yoziladi.

Kengaytiriluvchan sxema ta’rifi yordamida quyidagilarni qilish mumkin:

  • Sxemangizdan boshqa sxemalarda qayta foydalanish
  • Standart tiplardan hosil qilingan o‘z ma’lumot tiplaringizni yaratish
  • Bitta hujjatda bir nechta sxemaga havola qilish

XML sxemalari ma’lumot almashinuvini xavfsiz qiladi

Ma’lumotlar jo‘natuvchidan qabul qiluvchiga yuborilganda ikkala tomon ham kontent haqida bir xil "kutilmalarga" ega bo‘lishi juda muhim.

XML sxemalari yordamida jo‘natuvchi ma’lumotlarni qabul qiluvchi tushunadigan tarzda tavsiflay oladi.

"03-11-2004" kabi sana ba’zi mamlakatlarda 3-noyabr, boshqa mamlakatlarda esa 11-mart deb talqin qilinadi.

Biroq quyidagi kabi ma’lumot tipiga ega XML elementi:

<date type="date">2004-03-11</date>

kontentni o‘zaro bir xil tushunishni ta’minlaydi, chunki "date" XML ma’lumot tipi "YYYY-MM-DD" formatini talab qiladi.


To‘g‘ri tuzilganlik (well-formed) yetarli emas

To‘g‘ri tuzilgan (well-formed) XML hujjat — XML sintaksis qoidalariga mos keladigan hujjat, masalan:

  • u XML e’loni bilan boshlanishi kerak
  • unda bitta yagona ildiz element bo‘lishi kerak
  • boshlovchi teglarning mos yakunlovchi teglari bo‘lishi kerak
  • elementlar katta-kichik harflarni farqlaydi
  • barcha elementlar yopilishi kerak
  • barcha elementlar to‘g‘ri ichma-ich joylashtirilgan bo‘lishi kerak
  • barcha atribut qiymatlari qo‘shtirnoq ichida bo‘lishi kerak
  • maxsus belgilar uchun entity’lardan foydalanish kerak

Hujjatlar to‘g‘ri tuzilgan bo‘lsa ham, ularda xatolar bo‘lishi mumkin va bu xatolar jiddiy oqibatlarga olib kelishi mumkin.

Quyidagi vaziyatni tasavvur qiling: siz 5 ta lazer printer o‘rniga 5 gross lazer printerga buyurtma berasiz. XML sxemalari yordamida bunday xatolarning aksariyatini tekshiruvchi (validating) dasturingiz aniqlay oladi.


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!