Internet Derazalar Android
Kengaytirmoq

XSD sxemasini yarating. XSD fayllarini ochish

Ushbu faylni ocholmaydigan eng keng tarqalgan muammo noto'g'ri tayinlangan dastur. Uni Windows-da tuzatish uchun siz faylni o'ng tugmachasini bosing, kontekst menyusida sichqonchani "Ochiq" ni "Ochiq" ni keltiring va Select-Pastki menyuni tanlang. Natijada siz kompyuteringizda o'rnatilgan dasturlarning ro'yxatini ko'rasiz va siz mos keladigan narsani tanlashingiz mumkin. Shuningdek, biz qarama-qarshi elementni "barcha XSD fayllari uchun ishlating" katagiga tekshiramiz.

Bizning foydalanuvchilarimiz ham tez-tez uchraydigan yana bir muammo - XSD fayl shikastlangan. Bunday vaziyatda bunday vaziyat yuzaga kelishi mumkin. Masalan: Fayl server xatosi natijasida to'liq yuklab olinmadi, bu muammoni bartaraf etish uchun faylning boshlanishi va boshqalarga tegishli edi:

  • Internetdagi boshqa manbaga kerakli faylni topishga harakat qiling. Siz ko'proq mos versiyani topish omadingiz bo'lishi mumkin. Google qidiruv manzili: "Fayl fayllari: XSD". Shunchaki sizga kerak bo'lgan nomga "Fayl" so'zini almashtiring;
  • Sizdan yana manba faylini yuborishni so'rang, u uzatish paytida shikastlangan bo'lishi mumkin;

Oldingi maqolada XML haqida XML-hujjatlarni XML DTD sifatida tasdiqlash uchun shunday oqilona ko'rib chiqdik. Ushbu usul hanuzgacha XML ma'lumotlarni tekshirish uchun qo'llaniladi, ammo har kuni XML sxema deb nomlangan yangi texnologiyalar. XMLda sxemalar XML DTDda bo'lgan ko'plab kamchiliklar tomonidan o'rnatildi, shuning uchun hozirda hujjatni tekshirish uchun barcha ilg'or ishlab chiquvchilar faqat XML sxemaslarini qo'llaydilar.

XML sxema (XML sxema) ning afzalliklarini baholash uchun, keling, XML sxemalarida muvaffaqiyatli o'rnatilgan DTDning asosiy kamchiliklarini ko'rib chiqaylik. Men allaqachon ular haqida "" maqolada aytib o'tdim, ammo yaxshiroq tushunish uchun takrorlaymiz.

XML dtd-ning XML sxema oldidagi kamchiliklari

  1. XML Til sintaksisiga to'la. Ya'ni DTD XML emas. Shu munosabat bilan turli xil kodlash muammolari va XML hujjatlarini tekshirish amalga oshiriladi.
  2. Ma'lumotni tekshirish yo'q. XML DTDda faqat bitta ma'lumotlar turi bor. Shu munosabat bilan, masalan, raqamli maydondagi matn bu hujjat bo'lsa, hujjat tekshiriladi, chunki XML DTD ma'lumotlar turini tekshira olmaydi.
  3. Siz bitta XML hujjatiga mos kelolmaysiz, bir nechta DTD tavsifi. Ya'ni hujjatni tekshirishingiz mumkin, faqat bitta dtd tavsifi bo'lishi mumkin. Agar ulardan bir nechtasi bo'lsa, siz tavsiflarni qayta ko'rib chiqishingiz va bitta fayldagi hamma narsani birlashtirishingiz kerak, bu juda noqulay.

Bular XML DTD ning asosiy kamchiliklari edi, ular XML SHAMA XML Hujjatlari tavsifi.

XML sxema - XML \u200b\u200bhujjatlarining sanoat standartlari tavsifi

Qisqacha bo'lish uchun XML sxee quyidagilarni amalga oshiradi:

  1. Elementlar va atributlar (lug'at) nomlarini tavsiflaydi.
  2. Elementlar va atributlar o'rtasidagi munosabatlarni, shuningdek ularning tuzilishi (tarkibiy modeli) o'rtasidagi munosabatlarni tavsiflaydi.
  3. Ma'lumotlar turlarini tavsiflaydi.

Shuni ham ta'kidlashni istardimki, hozirda sxemalarni deyarli hamma narsani tavsiflash mumkin. Ya'ni, sxema faqat XML hujjatlarini, balki ma'lumotlar bazalarining tavsifini va boshqalarni tekshirish uchun ishlatilishi mumkin bo'lgan ma'lumotlarni tavsiflashning universal usuli hisoblanadi. Shunday qilib, sxemalarning doirasi hozir juda keng.

XML hujjatni tekshirish uchun XML sxema misol

Amaliyot shuni ko'rsatadiki, agar u darhol misollardan o'rganishni boshlasa, material yaxshiroq so'riladi. Shu zahotiyoq aytamizki, biz barcha nozikliklarni chuqurlashtiramiz, chunki material juda murakkab, ayniqsa uni matn shaklida o'qigan bo'lsangiz.

Oddiy XML sxema-ning namunasi

Ushbu sxemani ishlatishda siz quyidagi tarkibning XML hujjatini tekshirishingiz mumkin.

<книга xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation = "book.xsd"> <название>XML asoslari <цена>300

Shunday qilib, bizning XML sxemasiga qaytish. Siz buni payqaganingizdek, XML biz bilan allaqachon tanilgan XML sxemasini yaratish uchun ishlatiladi. Bu erda yagona farq shundaki, odatdagi XML-dan farqli o'laroq XML sxee-da elementlar allaqachon aniqlangan. Shu munosabat bilan, nomlar qo'llaniladi. Bunday holda, "XS" prefikslarini ishlatadigan "http://www.w3.org/2001/xmlschema" deb nomlanadi.

Shu zahotiyoq, siz ismingizni ham prefikslardan foydalanishingiz va ildiz elementi uchun nom bo'shlig'ini o'rnatishingiz mumkinligini payqayman. Shunday qilib, bu erda hech qanday farq yo'q. Bu vaziyatda qanday harakat qilishni hal qiladi. Men faqat "XS" yoki "XSD" prefikslari odatda qo'llaniladi.

Xo'sh, endi yuqorida ko'rsatilgan sxemani qanday shifrlashni aniqlaylik. Yuqorida aytib o'tilganidek, XML sxema lug'at va ma'lumotlar turlarining tavsifi. Bundan dan tortib, har bir elementni ajratamiz.

  • - "Kitob" turini "kitob" deb e'lon qilamiz.
  • - Biz "Kitob" nomi bilan keng qamrovli turni e'lon qilamiz (XS: Bucctype - investitsiya qilingan elementlardan iborat bo'lishi mumkin).
  • - Uya haqida e'lon. Ya'ni, turdagi ichki elementlar mavjud.
  • - "Ism" nomli buyumni e'lon qilamiz (Standard tipidagi satr »- XS: satr).
  • - Biz "Narx" ni (standart turdagi "raqam" deb e'lon qilamiz - XS: kasr).

Ko'rinib turibdiki, bu erda super omil yo'q. Agar siz bu haqda o'ylasangiz, unda hamma narsa juda oddiy.

XML sxemaning asosiy elementlari

Qisqacha bo'lish uchun, keyin XML sxemasi quyidagicha tasvirlanishi mumkin.

Sizning sxemaingiz

Buning misolidan ko'rinib turibdiki, har bir XML sxemasi "sxema" va majburiy nomdan iborat "http://www.w3.org/2001/xlschema". Keyingi bu sxema va haqiqiy sxemaning tavsifidir. Shu bilan birga, juda yuqori sifatli sxemalarda juda tez-tez, tavsif XML sxemadan ancha ko'p.

XML sxemadagi elementlarning tavsifi

Maqolaning boshida biz allaqachon eng oddiy xml sxemani misol deb bilganmiz. Unda biz elementlarni va alohida turlarni tasvirlaymiz. Shu bilan birga, men shu payt ketma-ketlik rol o'ynayotganini ta'kidlashni xohlayman. Sxema baribir ishlaydi.

Endi, keling, element ichidagi turdagi turni tasvirlashga asoslangan XML sxemani yozishning ikkinchi usulini ko'rib chiqaylik. Agar siz turli xil elementlar uchun bir xil tavsifni ishlatishni rejalashtirmasangiz, bu usul mos keladi. Aniqlik uchun misolni ko'rib chiqaylik.

Masalan, misoldan ko'rinib turibdiki, tegishli prefiks yordamida maxsus "element" maxsus dizayn yordamida e'lon qilinadi. Bunday holda, biz elementni (turdagi) ko'rsatmasdan, "ildiz" nomi bilan belgilaymiz, chunki element ichida tavsiflanganidek, bu turdagi (turdagi). Ya'ni buyumlarni tasvirlashning ikkita usuli mavjud.

1 yo'l

Turdagi tavsif

2 usuli

Element turining tavsifi

Siz birinchi usulni va ikkinchisini ishlatishingiz mumkin. Ularning barchasi bir xil ishlamoqda. Ushbu savol faqat shu holatda qulaylik bilan.

Keyingi, mahsulotni e'lon qilgandan so'ng, biz bu murakkab tur ekanligini ko'rsatamiz ( ) va ro'yxat ( ) Ichki elementlar. Bunday holda, bular "XS: satri" va "XS: butun sonli" turlari bilan ismi va yosh elementlari. XS prefiksi bu XML sxema standartida allaqachon tavsiflangan asosiy tur ekanligini anglatadi.

Ko'rinib turibdiki, hozirgacha hamma narsa juda oddiy. Shunga qaramay, biz barcha tafsilotlarni bajarmaymiz, chunki ushbu maqola XML sxemasi bilan tanishish va uning batafsil tadqiqot emas.

XML sxema va hujjatga muvofiq

XML sxemaning o'ziga xos xususiyati shundaki, u hujjatning o'zi emas, balki nom bo'shlig'i. Bu borada bu haqda hujjatda bu haqda hech narsa aytilmagan. Qo'ldiqning o'zi XML hujjatidagi ko'rsatmalarsiz sizga kerakli sxemaga mos keladi.

Agar ishlov beruvchini qaerda yotganini bilmasa, biz uni qaerdan qidirishni aniqlaymiz. Bu "sxemast" maxsus atribut yordamida amalga oshiriladi. Ushbu atribut boshqa nomsamorga tegishli bo'lgani uchun, atributni ishlatishdan oldin, bo'sh joyni belgilash kerak. Aniqlik uchun misolni ko'rib chiqaylik.

XML sxema.

XML hujjati

Endi har bir qatorni batafsil tahlil qilaylik.

  • maqsadNameSece \u003d "http://www.site.com" - bu XML sxemasini qaysi ismlar o'lchamini ko'rsating.
  • xMLNS: XSI \u003d "http://www.w3.org/2001/xlschemastans" - "Narxlar" atributi tasvirlangan.
  • xSI: sxemastanction \u003d "http://www.site.com/product.xsd" - agar parser qaerdaligini bilmasa, sxemani topishingiz mumkin. Agar XML hujjati biron bir NAZORATSSSPACKga tegishli bo'lmasa, "Notasmastirma -on" atribut bilan "Sxemax" atributlari bilan almashtirilsa, "notekischini aniqlash" bilan almashtiriladi.

Ana xolos. Sizga omad va XML o'rganishda muvaffaqiyatlar!

Ko'pincha, biznes jarayonlarini avtomatlashtirishda tuzilgan ma'lumotlar asosida elektron hujjatlarni tuzishni talab qiladi. Tuzilgan ma'lumotlar manbai odatda Direktsiyadorlik tizimining kataloglari hisoblanadi. Elektron hujjatlarni shakllantirish zarurati quyidagi sabablarga ko'ra uchraydi:

  • Elektron hujjat - bu ma'lumotlarni muvofiqlashtirish uchun qulay g'oya. Ma'lumotlar bir nechta ma'lumotlar manbalaridan ma'lumotlarni namoyish etish qobiliyati;
  • ERIlarni o'rnatish imkoniyati - muvofiqlashtirish natijalarini qo'shimcha himoya qilish;

Odatda, hujjatlarni shakllantirish, shakllantirishdan keyin, shakllanishdan so'ng, arxivga elektron hujjatlar sifatida saqlanishi mumkin. Ushbu yondashuvning kamchiliklari, mening fikrimcha, quyidagicha:

  • Hisobotning vizual qismini dasturlash zarurati bilan bog'liq bo'lgan rivojlanishning yuqori savdosi. Bu RTF va Excel / HTML-ning ONTRUM tizimida xabar beradi.
  • Hisobot andozalari rivojlanmoqda, chunki u tizim foydalanuvchilariga taqdimot muhitini o'zgartirishiga yo'l qo'ymaydi. Masalan, mijozlar ko'pincha tizim tomonidan yaratilgan hisobotlarga, logotipiga qo'shishni xohlashadi.

Men yuqorida tavsiflangan kamchiliklarni hal qiladigan Excel shabloniga asoslangan elektron hujjatlarni shakllantirishning alternativ versiyasidan foydalanishni taklif qilaman. Mexanizm shablon belgisi uchun biriktirilgan XSD ma'lumotlarini ishlatish uchun Excel xususiyatlariga asoslangan. 2003 yil Excel-dan foydalanish imkoniyati.

Men hujjat bayonotini bir misol keltiraman, 2007 yildagi XSD ulanishi opsiyasi ma'lumotnomani keltiraman: ishlab chiqaruvchi yorlig'i (lenta) \\ manbang \\ mln. Ma'lumotni tozalash tavsifi bo'lgan faylni tanlash uchun dialog oynasi ochiladi. Tumanni "XML manbai" bo'limiga ulangandan so'ng ulangan XSD sxema-ning elementlari paydo bo'ladi, bu shablonning istalgan kamerasiga o'tkazilishi mumkin:

XSD diagramma - bu ma'lumotlar elementlarini tavsiflovchi oddiy XML fayl. Yuqoridagi misol uchun XSD sxemasi quyidagicha:

Andoza sozlanganidan so'ng va ma'lumotlar maydonchalarining belgisi tizimda va sozlashda siz ekly bilan bog'lanishingiz mumkin bo'lgan parametrni amalga oshirish uchun saqlanishi mumkin. Dasturiy shablon asosida dasturiy hujjatni dasturiy hujjat yaratishi uchun quyidagilarni amalga oshirishingiz kerak:

1. XSD shablon ulangan ma'lumotlar bilan XML faylini tayyorlang. XSD misolida tasvirlangan sxema uchun XML ma'lumotlari quyidagicha ko'rinadi:

XML hujjatni ISBL-da shakllantirish MSXML.dll kutubxonasi yordamida amalga oshirilishi kerak:

... xabar_name \u003d "ekstrakt_name" xmldocument ("MSXMLLDDODOCENT" "" 1.0 "kodlash \u003d" Windows-1251 "ni" Ha " (Prokanlash) Roulement \u003d XMLDOCKENT.CREATEUNTLASH (Hisobot_name) XMLdookument (yostiqlash) ...

2. Hujjat shablonini oling va uni diskka olib chiqing.

... tebleDid \u003d konditsi ('xxx') temle \u003d edocts.getobjihyid (temlitsid) template.export (yolg'on) ...

3. Eksport qilinadigan shablonni Excel-da oching va unga ma'lumot uzatdi:

... Excel \u003d YoROWBOJJATSIYASI ("Excel.pPlaplection") kitob \u003d Excel.WorkBookce \u003d Book.XMPLP \u003d KITOB.XMPLPSMSM (XMLDOCKENT) .xml) kitob.Savve Book.clinn Excel.quit ...

4. Agar hujjatni faqat hujjatni Dess tizimini saqlash uchun saqlash yoki darhol saqlashingiz kerak bo'lsa.

"Hisobdagi ekstrakt" hujjati misoli:

Eksport shabloniga ma'lumotlarni eksport qilishdan tashqari, siz teskari harakatni amalga oshirishingiz mumkin - shablon market maydonlaridan import ma'lumotlarini olib chiqishingiz mumkin. Ular. Ushbu ish stsenariysida Ekscel shablon kompaniyasi Dirctum tizimiga kiritilishi mumkin bo'lgan ma'lumotlarni kiritish uchun elektron shakl sifatida ishlaydi.

Hamma narsa quruq, lyricssiz va hk.

Shunday qilib. Men vazifani keltirdim. XML fayl shaklida tashqi hisobot xizmati bilan 1C-ni keng qamrovli.

Uchinchi tomon xizmati fayllarni qabul qilishda o'z APIga ega, natijada ishlab chiqarishning ma'lum bir "partiya" kodini chiqaradi, shuni ko'rsatadiki, men xatolar bo'yicha barcha batafsil ma'lumotni oling.

XSD fayl fayli kichik, ammo ushbu sxema asosida ko'p ma'lumotlar turlari, to'liq shakllangan XML fayl 200 mb atrofida ni oladi.

Natijada, menda qo'llarimda "XSD" kengayishi bilan ma'lum bir fayl bor edi.

O'sha paytda menda nima bo'lganligi va qanday eganligimni ham bilmasdim.

Infostart juda foydali bo'ldi (busiz emas, albatta, rahmat sizga rahmat).

Avvaliga, men ushbu mini loyihani tugatgan bo'lsam, kelajakda kim kerak bo'lsa, menimcha, men XDO qoidalarini o'rganishni istaganlar uchun "Mast Xayev" deb yordam berish uchun havolalar:

Natija nima.

Iltimos, "suvga emas" va mohiyatni tomosha qiling.

Bu erda asosiy satrlar:

XSD sxemasidagi mulkning har qanday tafsilotlarini olish uchun men bunday kod dizaynidan foydalanaman,

Ammo men boshqa usullarni ko'rdim, bu erda, sizning biznesingiz.

7 dan 12 gacha bo'lgan rasmlarning natijasi

Bu tugagan faylda shunday ko'rinadi:

Va men payqadim (Xo'sh, mahalliy guru, ehtimol ko'p vaqt oldin biladigan narsa).

Bu qoidalarga o'xshaydi va belgi.

"Shartnoma ochish" mulkini ko'rib chiqing

Bu erda uning tavsifi:

Agar ushbu mulk "element" sifatida shakllangan bo'lsa, unda kod quyidagicha ko'rinadi:

Ular. Men parametrdagi qiymatni parametrga olib chiqaman, shunchaki "\u003d teng" va ketdi.

Agar mulk "element" sifatida shakllangan bo'lsa, lekin u "+" belgisi orqali qayd etiladi

Bu erda bo'lgani kabi

Keyin uning kodi biroz boshqacha ko'rinadi

Ular. Avval siz ushbu turni zavod orqali yaratishingiz, unga bo'ysunuvchi pastki subtypes va ma'lumotlaringizdan qiymatlarni tayinlashingiz kerak.

Va oxirida bu shunday bo'ladi.

Agar diagrammada ushbu mulk "element" shakli mavjud bo'lsa

Ushbu yozuv tugallangan faylda qayd etiladi:

Ular. Hamma narsa chaqiriladigan joyda yozib olinadi. "Teglar."

Ular. "FlodingTyPE" Xususiyatlari quyi elementga ega "ID", u erda "atribut"

Bunday holda, yozish paytida kod o'zgarmaydi:

Shuni ta'kidlashimki, ushbu kod.16-rasmga o'xshash

Kutib turing, natijasi biroz boshqacha bo'ladi:

Ular. Qiymat darhol tegning o'zi ichiga yoziladi.

"Jins" kabi xususiyati mavjud

Ushbu bob XML sxemalarni qanday yozishni ko'rsatadi. Siz shuningdek, sxemani turli yo'llar bilan yozib qo'yishi mumkinligini bilib olasiz.

XML hujjati

Keling, ushbu XML - "Yetkazuvchi.XML" deb nomlangan hujjatga qarang:

XMLNS: XSI \u003d "http://www.w3.org/2001/xmlschemas-
XSI: noumespaschemsalocation \u003d "exereroder.xsd"\u003e
Jon Smit

Ola Nordmann.

LangGT 23.

4000 stavener
Norvegiya.


EmPire Burlesque
Maxsus nashr.
1
10.90


Yuragingizni yashir.
1
9.90

Yuqoridagi XML hujjati ildiz elementi, "Yetkazisi", unda "buyurtma buyurtma" deb nomlangan majburiy atribut mavjud. "Yetkazuvchi" Elementda uchta turli xil bolalar elementlari mavjud: "Buyurtmach", "kema" va "mahsulot". "Mahsulot" element ikki marta ko'rinadi va unda "sarlavha", ixtiyoriy "nota" element, "narx" elementlari va "narx" elementlari mavjud.

Yuqoridagi satr: XMLNS: XSI \u003d "http://www.w3.org/2001/xlschemosi" deydi XML analizatori bu hujjat sxemada tekshirilishi kerak. Chiziq: XSI: noumespaskschemacation \u003d "Yetkazuvchi.xsd" sxema borligini ko'rsatadi va (Bu erda u xuddi shu papkada "Shiger.xml" sifatida .

XML sxemasini yaratish

Endi biz yuqoridagi XML hujjat uchun sxemani yaratmoqchimiz.

Biz "Yetkazuvchi.xsd" deb nomlagan yangi fayl ochilishidan boshlaymiz. Sxemani yaratish uchun biz shunchaki XML hujjatidagi tuzilishga amal qilishimiz va har bir elementni topsak, har bir elementni belgilashimiz mumkin. Biz Standart XML deklaratsiyasidan so'ng biz XS: Sxemani aniqlaydigan ayyorlikning elementi:



...

Yuqoridagi sxemada biz standart nomlar (x lar) dan foydalanamiz va uRi bu NemaCspece-dan foydalanamiz, u standart qiymatiga ega, http://www.w3.org/2001/2pschema-ning standart qiymatiga ega.

Keyin "Yetkazuvchi" elementni aniqlashimiz kerak. Ushbu element xususiyatga ega va boshqa elementlarni o'z ichiga oladi, shuning uchun biz buni murakkab tur sifatida ko'rib chiqamiz. Yetkazuvchining elementi elementlari element XS bilan o'ralgan XS bilan o'ralgan: quyi elementlarning buyurtma qilingan ketma-ketligini belgilaydigan ketma-ket elementi:




...


Keyin biz "Buyurtmachining" elementini oddiy tur sifatida belgilashimiz kerak (unda hech qanday xususiyat yoki boshqa elementlar mavjud emas). Tavzuni (XS: satr) prefiks prefiksi bilan, XML sxema bilan bog'liq bo'lgan Namors mastisti, bu diagrammadagi diagramma ma'lumotlarini oldindan belgilangan turini bildiradi:










Maxsus element uchun mumkin bo'lgan ko'rinishni, meskur va minocuratlar sifatlari bilan bog'liq bo'lgan chiqishlarning sonini aniqlashimiz mumkin. Maxocurs elementlar va minocurlar uchun maksimal holatlar sonini aniqlaydi, chunki mahsulot uchun minimal holatlar sonini belgilaydi. Mookars va Minocurlar uchun odatiy qiymat!

Endi biz "element" elementni aniqlay olamiz. Ushbu element "Yetkazuvchi" element ichida bir necha marta paydo bo'lishi mumkin. Bu "Belgilanmagan" elementning "elementi" elementlarining o'rnatilishi bilan belgilanadi, bu muallif xohlagan sari "elchi" element bo'lishi mumkinligini anglatadi. E'tibor bering, "eslatma" element majburiy emas. Biz buni minicurz muhitini nolga o'rnatish orqali aniqladik:










Endi biz elementni elementning "Yetkazuvchi" atributini e'lon qilishimiz mumkin. Bu majburiy atributdir, chunki biz foydalanishni aniqlaymiz \u003d "talab qilinadi".

Izoh: Atributal bayonotlari har doim oxirgi bo'lishi kerak:

"Yetkazuvchi.xsd" deb nomlangan sxema faylining to'liq ro'yxati:





























Sxemalarni ajrating

Oldingi dizayn usuli juda oddiy, ammo hujjatlar murakkab bo'lganda o'qish va saqlash qiyin bo'lishi mumkin.

Dizaynning quyidagi usullari barcha elementlar va atributlarning ta'rifiga asoslanadi, so'ngra ularga inmi atributlaridan foydalanib ularga murojaat qiladi.

Bu erda yangi sxema fayli dizayni ("Yetkazuvchi.xsd"):








































Noma'lum turlardan foydalaning

Uchinchi dizaynning usuli sinflar ta'riflarini qayta ishlatishga imkon beradigan sinflar yoki turlarni belgilaydi. Bu soddalashmalar va murakkablar elementlarini nomlash orqali amalga oshiriladi va keyin ularni element turining turdagi atributi orqali belgilash orqali amalga oshiriladi.

Bu erda sxema faylining uchinchi dizayni ("Yetkazuvchi.xsd"):

































Cheklov elementi ma'lumotlar turi W3C XML diagrammadan olingan ma'lumotlar bo'shatlaridan olinganligini bildiradi. Shunday qilib, quyidagi parcha element yoki atributning qiymati satr qiymati bo'lishi kerakligini anglatadi:

Cheklov elementlari ko'pincha buyumlarga cheklovlarni qo'llash uchun ishlatiladi. Yuqoridagi sxemadan quyidagi satrlarga qarang:





Bu element yoki atributning qiymati satr bo'lishi kerak, u satrda oltita belgidan iborat bo'lishi kerak va bu belgilar 0 dan 9 gacha bo'lgan raqam bo'lishi kerak.