XSD atributlari


Barcha atributlar oddiy tiplar sifatida e’lon qilinadi.


ULASHISH

Atribut nima?

Oddiy elementlar atributlarga ega bo‘la olmaydi. Agar elementda atributlar bo‘lsa, u murakkab tipga ega hisoblanadi. Ammo atributning o‘zi doimo oddiy tip sifatida e’lon qilinadi.


Atribut qanday aniqlanadi?

Atributni aniqlash sintaksisi:

<xs:attribute name="xxx" type="yyy"/>

bu yerda xxx — atribut nomi, yyy esa atributning ma’lumot tipini belgilaydi.

XML Schema’da ko‘plab o‘rnatilgan ma’lumot tiplari bor. Eng keng tarqalgan tiplar:

  • xs:string
  • xs:decimal
  • xs:integer
  • xs:boolean
  • xs:date
  • xs:time

Misol

Mana atributga ega XML elementi:

<lastname lang="EN">Smith</lastname>

Va mana unga mos atribut ta’rifi:

<xs:attribute name="lang" type="xs:string"/>

Atributlar uchun standart va qat’iy qiymatlar

Atributlar uchun standart qiymat YOKI qat’iy qiymat belgilanishi mumkin.

Boshqa qiymat ko‘rsatilmaganda atributga avtomatik ravishda standart qiymat beriladi.

Quyidagi misolda standart qiymat — "EN":

<xs:attribute name="lang" type="xs:string" default="EN"/>

Qat’iy qiymat ham atributga avtomatik ravishda beriladi va siz boshqa qiymat ko‘rsata olmaysiz.

Quyidagi misolda qat’iy qiymat — "EN":

<xs:attribute name="lang" type="xs:string" fixed="EN"/>


Ixtiyoriy va majburiy atributlar

Atributlar standart holatda ixtiyoriy. Atribut majburiy ekanini belgilash uchun "use" atributidan foydalaning:

<xs:attribute name="lang" type="xs:string" use="required"/>

Kontentga qo‘yiladigan cheklovlar

XML elementi yoki atributi uchun ma’lumot tipi aniqlanganda, u element yoki atribut kontentiga cheklovlar qo‘yadi.

Agar XML elementi "xs:date" tipida bo‘lsa va "Hello World" kabi stringni o‘z ichiga olsa, element tekshiruvdan (validation) o‘tmaydi.

XML sxemalari yordamida XML elementlaringiz va atributlaringizga o‘z cheklovlaringizni ham qo‘shishingiz mumkin. Bu cheklovlar fasetlar (facets) deb ataladi. Fasetlar haqida keyingi bobda batafsil o‘qishingiz mumkin.


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!