Ovqat resepti


-LABORATORIYA ISHI. XML TEXNOLOGIYALARIDAN FOYDALANISH


Download 0.95 Mb.
bet102/104
Sana04.04.2023
Hajmi0.95 Mb.
#1324488
1   ...   96   97   98   99   100   101   102   103   104
Bog'liq
f17c5dc6cfc54c35d02030b2b706cfef «DASTURIY INJENERING” FANINING O’QUV – USLUBIY MAJMUA (Moddle tizimi asosida)

9-LABORATORIYA ISHI. XML TEXNOLOGIYALARIDAN FOYDALANISH

XML hujjatdagi sxema deganimizda hujjat atributlari va elementlarini aniqlashda ularga qo’yiladigan qator cheklashlarni (ularning ketma-ketligi tartibi, elementlar ro’yxatini aniqlash) tushunar edik.


DTD (Document Type Definition – hujjat turini aniqlash) ham sxema bo’lib, ma’lumotlar almashinishida ularga qo’yiladigan cheklashlarni bildirib, hujjatlarda ishlatiladigan ma’lumotlar strukturasini nazorat qiladi.
Biz aytgan edikki, XML yaratilishida uning asosi sifatida SGML (Standart Generalized Markup Language – standartnыy obobщyeniy yazыk razmetki) tili aniqlangan. Xuddi shunday DTD ham SGML tili uchun yaratilgan. XML dastlab yaratilganda uni “DTD siz SGML” tili deb ham aytishgan.
DTD sxemasi – hujjat belgilashlarida atribut va elementlar joylashishida (raspolojeniye) va ketma-ketligida shablon vazifasini o’tadi.
XML hujjatini daraxtsimon struktura ko’rinishida tavsilashni bilamiz. Xudi shunday DTD strukturasini ham daraxtsimon kshrinishda tasvirlashimiz mumkin. Ammo bu ikki tasvirlashda ma’lum farqlar bor.
DTD strukturasi o’zicha elementlarni takrorlamaydi, ammo uning strukturasi XML hujjatining elementlarini takrorlaydi.
Quyidagi XML hujjatini o’rganib chiqaylik:



For Immediate Release
All Potential Students
Devon Shepherd
Public Course offerings in August
ACME training public courses.
For more information, please visit
http://ACME-Train.com/unisersity


Instruction to XML
Advenced XML
XMetal Core Configuration


Bu misoldagi courses elementi o’zining course elementlariga ega, elementi bir qancha id va instructor atributlariga ega.
DTD elementlarining daraxtsimon ko’rinishida bu atributlar bir marta ko’rsatilib, masxux operator “+” bilan ko’rsatiladi, va bu atributlar bir turga aloqadorligini ko’rsatadi.
courses.xml faylining daraxtsimon ko’rinishi:

courses.xml fayli DTD strukturasining daraxtsimon ko’rinishi:

Bu yerda “+” operatori bir turdagi bitta yoki bir qancha elementlarning mavjudligini bildiradi.


DTD strukturasi asosiy elementlari turlarini tavsiflash sintaksisi
DTD sxemasidagi atribut va elementlar mazmunini tavsiflash ana shu atribut va element mazmunining modelini aniqlashni bildiradi.
Har qanday XML hujjati DTD sxemasida tavsiflanganda uning har bir elementining turini tavsiflash bilan to’ldiriladi.
Element turlarini tavsiflash quyidagi ko’rinishga ega:
ELEMENT element_nomi (mazmun modeli)>
O’zbekchasi:
Ishdan uyga qaytishda sut olishni unitmang
XML hujjatining oddiy elementi berilgan bo’lsin:

Remember to by milk on the way home from work
Bu yerda note elementi faqat matndan iborat. Matn elementi DTD sxemasida #PCDATA maxsus termini bilan tavsiflanadi.
PCDATA – odatdagi matndan iborat ma’lumot bo’lib, XML parseri tomonidan to’g’ri o’qiladi.
Demak, sizning hujjatingizda #PCDATA so’zi uchrasa, bu hujjatdagi barcha matnga taalluqli deb hisoblanadi.
Agarda DTD hujjatdagi matn XML parseri tomonidan qayta ishlanishi lozim bo’lmasa, CDATA termini ishlatiladi.
DTD sxemasida struktura to’g’riligi nazorat qilinganligi uchun har bir mazmun modeli qoidasi mavjud.
Har bir element turli xil turga ega bo’lishi mumkin va DTD hujjatlarida turlicha tavsiflanadi.
DTD hujjatlarida ichki va tashqi sxemalar bo’lishi mumkin.
Eslatma: #PCDATA kalit so’zi DTD sxemalarida faqat katta harflar bilan yozidadi.
Quyida DTD sxemasi qo’llanilgan XML hujjati ko’rsatilgan:



]>
Ishdan uyga qaytishda sut olishni unutmang
Bu misoldagi 1-qator odatdagi XML hujjat tavsifi.
2-qatorda XML hujjatni DTD sxemasi bilan bog’lash tavsifi keltirilgan. 2-qatordagi tavsif XML parseriga kvadrat qavs ichidagi barcha ma’lumotlar DTD ichki sxemasiga taaluqli ekanligini bildiradi.
3-qatorda note elementining turini aniqlash keltirilgan, xususan note elementi faqat matndan iborat.
Eslatma: DTD sxemasining DOCTYPE va ELEMENT kabi kalit so’zlari faqat katta harflar bilan yozidadi.
4-qator DTD ichki sxemasining yopilishini bildiradi.
5-qator note elementining mazmunidan iborat.
Agar element o’zida boshqa elementni saqlasa nima qilish kerak?
Masalan:


On the way home from work

Bunday holda DTD sxemasini yaratish uchun XML hujjatining note elementi boshqa elementni saqlanishini ko’rsatish kerak:



#PCDATA)>
]>

On the way home from work

DTD sxemasida bo’sh elementni tavsiflash
Odatda bo’sh elementlar atributlarga qiymatlar berishda qo’llaniladi. Quyida XML hujjatida bo’sh elementni tavsiflash ko’rsatiladi:



On the way home from work

Bu yerda number bo’sh element. Bu bo’sh element DTD sxemasida quyidagicha kzrsatiladi:


#PCDATA)>


]>


On the way home from work

3-qatorda note elementi o’zida boshqa number va message elementlarini saqlashi ko’rsatilgan.
Bunda “vergul” orqali elementlar ketma-ketligi ko’rsatiladi. Elementlar ketma-ketligi buzilsa xato hisoblanadi. EMPTY kalit so’zi elementning bo’sh ekanligini bildiradi.


DTD sxemasida ANY kalit so’zi
Ko’pgina hollarda Sizga ma’lumki aniq element bo’sh emas, ammo u qanday mazmun modeliga qo’llanilishi aniq emas. Ana shunday hollarda element ANY kalit so’zi orqali tavsiflanadi. Quyidagi XML hujjat berilgan bo’lsin:



On the way home from work


note elementi ixtiyoriy turda ma’lumotlarni saqlashi uchun ANY kalit so’zidan foydalanamiz.


ANY >

#PCDATA)>

]>


On the way home from work


3-qatorda note elementi ixtiyoriy qiymatni qabul qilishi ko’rsatilgan bo’lsa ham, XML hujjati to’g’ri bo’lishi uchun har bir element alohida tavsiflangan.
Eslatma. XML hujjatida DTD sxemasida tavsiflanmagan element nusxalaridan foydalanish mumkin emas.


Aralash mazmunli modellar
Shunday holatlar bo’lishi mumkinki, element turli turdagi elementlarni o’zida saqlashi mumkin. Bunday elementlar aralash mazmunli modellar deyiladi.
Quyida XML hujjatining o’zak elementi matn ma’lumotiga ega bo’lib, yana boshqa elementlarni ham o’zida saqlagan:

This is an important note

On the way home from work


DTD sxemasida tavsiflaymiz:


#PCDATA|number|message|date)*>

#PCDATA)>

]>
This is an important note

On the way home from work


Bu yerda “|” belgisi “yoki” ma’nosini bildiradi. “*” esa, qavs ichidagi elementlar ixtiyoriy ishlatilishi yoki birorta marta ham ishlatilmasligi mumkin.
Shunga asosan quyidagi XML hujjat ham to’g’ri hisoblanadi:


#PCDATA|number|message|date)*>

#PCDATA)>

]>
This is an important note
Now we can no longer control

Stuff
On the way home from work

bur yerda ayrim elementlar bir necha marta ishlatilayapti, date elementi esa ishlatilmayapti.
Eslatma: note – «zametka» so’zini bildiradi.


Download 0.95 Mb.

Do'stlaringiz bilan baham:
1   ...   96   97   98   99   100   101   102   103   104




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling