Teglar va atributlar nomlari kabi metadata hujjatning o‘zida joylashgan (ma'lumotlar tuzilishi to‘g'risidagi metadata alohida tizim jadvallarida mavjud).
Hujjatda daraxt tuzilishi mavjud.
Hujjatning elementlari joylashtirilishi va atributlardan iborat bo‘lishi mumkin (ustunlar atom qiymatlariga ega bo‘lishi kerak).
Bir xil tegli bir nechta elementlarga ruxsat beriladi (bir xil nomli bir nechta ustunlarga ruxsat berilmaydi).
Elementlar ketma-ketlikni hosil qiladi va ma'lum bir pozitsiyaga ega (bir nechta atributlar to‘plami, ya'ni tartibga solinmagan to‘plam).
So‘rovlar tillariga murojaat qilsak, SQL bir necha normallashtirilgan jadvallardan ma'lumotlarni birlashmalar orqali olishga yo‘naltirilgan ma'lumotlarning nisbiy modelini amalga oshiradi. XML holatida, ko‘proq bitta hujjatning ierarxik tuzilishidagi elementlarni ta'kidlash haqida. Shunday qilib, SQL-ning ifodali kuchi XML uchun foydasiz va XML hujjatlarining ma'lumotlar modeli hech qanday tarzda ishlatilmaydi. Mavjud so‘rovlar tillarini o‘rganayotganda SQL-ning semantik cheklovlari aniqroq bo‘ladi.
XML ma'lumot to‘plami va XML ism maydonlari. XML-da so‘rovlar qurilishini muhokama qilishni davom ettirishdan oldin, boshqa barcha standartlar va tavsiyalarga asoslangan W3C XML Faoliyatida ikkita asosiy standartni eslatib o‘tish kerak.
XML ma'lumot to‘plami yaxshi tashkil etilgan XML hujjatlarida mavjud bo‘lgan ma'lumotni tavsiflovchi mavhum ma'lumotlar to‘plamini belgilaydi. XML Infoset faqat Ism maydoni spetsifikatsiyasiga mos keladigan hujjatlar uchun belgilanadi. XML Infoset tashqi ma'lumot taqdim etish interfeysini aniqlamaydi va afzal ko‘rmaydi, xoh u daraxt tuzilishi, na voqea yoki so‘rovlarga asoslangan interfeys. Ma'lumotlar to‘plamidagi ma'lumotlar biron-bir tarzda yoki boshqa usulda mavjud bo‘lgandan so‘ng, XML Infoset spetsifikatsiyasining talablari qondirilgan deb hisoblanadi.
Axborot to‘plamida har biri xususiyatlarga ega bo‘lgan o‘n besh xil turli xil ma'lumotlar elementlari mavjud. Axborot elementlari orasida quyidagilar mavjud: hujjat, element, atribut, ishlov berish bo‘yicha ko‘rsatma, DTD, CDATA bo‘limining boshi va oxiri, shuningdek harflar belgisi elementi. Belgilar to‘g'risidagi ma'lumot elementi hujjat elementidagi va CDATA bo‘limidagi har bir belgi uchun, shuningdek, normallashtirilgan atribut qiymatlari uchun
belgilanadi. Axborot elementlarining xususiyatlari orasida ushbu elementning bolalari mavjud (ba'zi ma'lumot elementlari, masalan, ishlov berish ko‘rsatmalari, bolalari yo‘q), ya'ni. Shunday qilib, ma'lumotlar to‘plami ta'kidlangan uchi ("hujjat" ma'lumotlar elementi) bilan butun yo‘naltirilgan grafik strukturani hosil qiladi. Shunday qilib, XML ma'lumot to‘plami XML hujjatidan olinishi mumkin bo‘lgan juda ko‘p ma'lumotlarni (bo‘sh ma'noda) tavsiflaydi va matn maydonlarining har qanday belgilariga murojaat qilish mumkin.
XML Ism maydonlari - bu XML spetsifikatsiyasi bilan uzviy bog'liq bo‘lgan juda muhim spetsifikatsiya. XML Ism maydonlari XML hujjatlarda nomlarni birlashtirish va nomlarni turli xil dastur modullari o‘rtasida ajratish (juda ko‘p bekor qilish o‘rniga) juda muhim vazifani hal qiladi. Ismlar bo‘shliqlari, shuningdek, nomlarning to‘qnashuvi muammosini hal qilish uchun mo‘ljallangan, chunki XML hujjatlarida odam o‘qiydigan teglardan foydalanish rag'batlantiriladi va XML hujjatlarining turli sohalarida (va hatto bitta maydon ichida) bir xil nomlarning muqarrar ravishda turli xil ma'nolar bilan paydo bo‘lishi aniq.
Nom maydonlari buni har bir nomni noyob resurs identifikatori (Unified Resource Identifier) bilan taqqoslash orqali amalga oshiradi. Biroq, nomlarda taqiqlangan belgilar URI-da ishlatilishi mumkinligi sababli, URI-ga haritaga kiritilgan qisqartirilgan ismlar bo‘shlig'i prefiksi kiritiladi. Prefiks va URI havolasi o‘rtasidagi bog'liqlik atribut sintaksisiga asoslangan hujjatning o‘zida tasvirlangan.
XML Ismlar bo‘shliqlari W3C tavsiyalarining eng yuqori darajasiga ega, shuning uchun barcha boshqa tavsiflar o’nga asoslanishi kerak.
So‘rov standartlari.Aslida, XML hujjatidan ma'lumotlarni olishni tavsiflovchi standart allaqachon mavjud. Bu boshqa W3C standartlaridan (XSL, XPointer, XLink), shuningdek, deyarli barcha mavjud XML so‘rovlari tillarini hujjatning alohida elementlariga kirish uchun asosiy texnologiya sifatida ishlatadigan XPath tavsiyalari. W3C a'zolaridan biri aytganidek: "... XPath-ga asoslanmagan XML ma'lumotlarini so‘rovni yaratish yo‘lini tasavvur qilish qiyin."
Rasmiy ravishda, XPath XML hujjatining alohida qismlariga murojaat qilish (ta'kidlash) tili sifatida aniqlanadi va uni qo‘llashning asl sohasi XSLT va XPointer protsessorlari bo‘lgan.
XPath ifoda sintaksisi hujjat tuzilishini yog'ochdan aks ettirishni nazarda tutadi. Biroq, bundan tashqari, hujjatning to‘liq manzili, ya'ni. Veb-saytning butun hujjat daraxti XML hujjati sifatida harakat qilishi mumkin. Bu XPath-da Internetdagi XML hujjatlar to‘plamiga murojaat qilish imkoniyatini yaratadi, chunki XPath veb-sayt darajasida va alohida XML hujjat darajasida hujjatlar va elementlarning yagona izchil namoyishini ifoda etadi.
Shunday qilib, XPath hujjatni tugunlardan tashkil topgan daraxt turidagi struktura sifatida ko‘rib chiqadi. XPath ma'lumotlar modeli ettita turli xil tugunlarni (elementar, atribut, matn va hk) o‘z ichiga oladi, ularning har biri to‘g'ridan-to‘g'ri tugun ichida joylashgan yoki avlodlarning qiymati bo‘yicha hisoblangan. Ba'zi tugun turlari nomga ega. XPath Ismlar maydonini to‘liq qo‘llab-quvvatlaydi. Shunday qilib, xost nomi mahalliy nom va ehtimol kengaytirilgan nom deb nomlangan to‘liq URIdan iborat juftlik sifatida modellashtirilgan. XPath shuningdek, Infoset ma'lumotlar modelida XPath ma'lumotlar modelini haritasi bor degan ma'noda Infoset-ni qo‘llab-quvvatlaydi.
Kontseptual darajada tugun mustaqil shaxs sifatida hujjat bo‘lishi mumkin, har qanday hujjat yoki atribut, ishlov berish bo‘yicha ko‘rsatma yoki sharh. Hujjatning o‘zi ildizning to‘g'ridan- to‘g'ri avlodlari bo‘lgan tugunlarning ro‘yxatini o‘z ichiga oladi. O‘z navbatida, bu tugunlar, shuningdek, tugunlarning ro‘yxatlarini va boshqalarni o‘z ichiga olishi mumkin. Ushbu universal yondashuv XPath-ni XML hujjati (yoki XML-sayt elementlari) elementlariga kirishni ta'minlash uchun oddiy, ammo kuchli vositaga aylantiradi. E'tibor bering, XPath faqat jismoniy saqlash formatini emas, balki faqat hujjatning mantiqiy tuzilishini tavsiflaydi.
XML hujjatining ierarxik tuzilishi va takrorlanadigan elementlar tufayli, XML ma'lumotlariga kirish mexanizmi ierarxik aloqalarni, ketma-ketlik aloqalarini va elementlarning joylashishini aniqlashni qo‘llab-quvvatlashi kerak. XPath ushbu munosabatlarga o‘tish uchun mos kvalifikatorlarga ega. Ularning to‘liq ro‘yxati va barcha funktsiyalar ro‘yxati [3] da keltirilgan. XPath turli xil sharoitlarda, taqqoslash va o‘zgartirishlarda sinovlarni bajaradigan bir qator funktsiyalarga ega. Xususan, XPath to‘rt xil ma'lumotlarni qo‘llab-
quvvatlaydi: tugunlar ro‘yxati, simli, raqamli va mantiqiy. XML hujjatining tarkibi harakterli ma'lumotlar bo‘lganligi sababli, XPath fu bilan ta'minlaydi.
So‘rovlar tillari.Tillar turli xil yaratish maqsadlariga ega, har xil ekspressiv kuchlarga ega, ammo tadqiqotchilar fikriga ko‘ra [5.16], ularning har biri muayyan turdagi so‘rovlarni bajarishda afzalliklarga ega.
Yarim tuzilgan ma'lumotlar va XML uchun so‘rovlar tillariga ikkita asosiy yondashuv mavjud, xususan: hujjatlarni qayta ishlash va ma'lumotlar bazasi nuqtai nazaridan. Turli xil qarashlar so‘rovlar va turli xil funktsiyalarni qurish uchun turli xil printsiplarga olib keladi (shuni ta'kidlash kerakki, tadqiqotchilar jamoasi XML ma'lumotlari bo‘yicha so‘rovlar tillariga yagona talablar qo‘yadilar [5.13] va ishlab chiquvchilar o‘zlarining quyi tizimlarining yangi versiyalarida to‘liq funktsional imkoniyatlarni berishga intilishadi).
Shunday qilib, tadqiqotning ikkita yo‘nalishi turli xil sohalarga ega. Ma'lumotlar bazasi hamjamiyati so‘rovlarni qayta ishlash nuqtai nazaridan ishlaydi. Tizimlarning ko‘p turlari mavjud: relyatsion, ierarxik, tarmoq, deduktiv, obyektga yo‘naltirilgan, yarim tuzilgan va boshqalar, ammo ko‘pgina printsiplar barcha turlarga xosdir. Ushbu hamjamiyatning vazifalari katta ma'lumotlar omborxonalariga, turli xil manbalardan integratsiyaga, eski tizimlardan ma'lumotlarni eksport qilishga va umumiy qabul qilingan ma'lumotlar almashish formatlariga o‘tishga qaratilgan.
Boshqa tomondan, hujjatlarni qayta ishlash sohasidagi tadqiqotchilar hamjamiyati katta hajmdagi hujjatlarni to‘liq matnli qidirish, tuzilgan hujjatlar bo‘yicha so‘rovlar, to‘liq matnli va tarkibiy so‘rovlarni birlashtirish va chiqish shakllarini turli xil taqdimotlari uchun hujjatlarni o‘zgartirish bilan shug'ullanadi
Birinchi avlod tillari Lorel
Lorel tili [4] dastlab Stanford universitetida Lorel yarim tuzilgan ma'lumotlarni boshqarish tizimi loyihasi doirasida ishlab chiqilgan va keyinchalik XML bilan ishlashga o‘zgartirilgan. Bu OQL-ga qaraganda ko‘proq xususiyatlarga ega, ammo sodda SQL uslubidagi sintaksis bilan do‘stona til. Lorelning asosiy afzalliklari va yangiliklari
bu turdagi konversiyani keng qo‘llash va umumiy yo‘lni ifodalash deb nomlangan qattiq bo‘lmagan ma'lumotlar strukturasi orqali so‘rov yo‘lini qurish uchun kuchli mexanizm. Lorel o‘ziga xos ma'lumotlar modelini [7] amalga oshiradi, bu obyekt ma'lumotlari modelining kengaytmasi (ODMG) bo‘lib, XML ma'lumotlari elementlariga mos keladigan tugunlari bilan grafik namoyishi mavjud. Lorel barcha bir nechta operatsiyalarni qo‘llab-quvvatlaydi, tanlangan ma'lumotlarning manba hujjatlarida taqdim etilishida tartiblash yoki saralashni ta'minlaydi. Bu bugo’ngi kunda foydalanuvchi tomonidan belgilangan ma'lumotlar turlariga ruxsat beradigan va ma'lumotlarni o‘zgartirish va yo‘q qilish uchun tuzilmalarni o‘z ichiga olgan bir nechta tillardan biridir.
Lorel tilining kuchli tomonlaridan biri shablonlardan foydalangan holda "noaniq" sxemalar bo‘yicha navigatsiya qilishning boy imkoniyatidir, bundan tashqari shablonlarni alohida qiymatlar yoki model grafikasida qirralarning nomlari bo‘yicha ham, yo‘llar bo‘yicha ham aniqlash mumkin (chekka nomlarning variantlari, havolaning majburiy / ixtiyoriy mavjudligi) yo‘llar, aniqlanmagan yo‘nalishdagi ulanishlar va boshqalar). Sintaksis tafsilotlariga kirmasdan, yo‘llarda naqshlardan foydalanishga misol.
Hidoyat.restaurant (.address)?. Zipkod Qo‘llanma.restaurant.#@P.comp%.name Hidoyat.restaurant (.nearby) * {R} .name
Birinchi ibora zipcode va restoran o‘rtasidagi ixtiyoriy qirrali yo‘lni belgilaydi. Ikkinchisi restoran va chekka o‘rtasida joylashgan, noma'lum sonli chekkalari bilan barcha yo‘llarni belgilaydi (belgi #) va substringdan boshlab chekka. Yo‘l o‘zgaruvchisi? #? Mezoniga javob beradigan barcha ma'lumotlar bilan bog'liq. Oxirgi ibora restoranning chetidan o‘tadigan barcha yo‘llarni, so‘ngra noma'lum tugagan yaqin atrofdagi va cheklanmagan chekkalarni belgilaydi. Obyekt o‘zgaruvchisi R obyekt bilan darhol chekka nomidan oldin bog'lanadi.
Tilning asosiy xususiyatlari: |