XML so’zlashuvlarini tezlashtirishni tezlashtirish

Source: http://xfront.com/accelerating-adoption-of-XML-vocabularies/

Sizning XML so’z qabul jadallashtirish istaysizmi? Bir yo’li, uni ishlatish uchun 800 funt gorilla kuch hammani ega hisoblanadi. Lekin tez orada jahl va qo’zg’olon olib keladi. A yaxshi yo’l bilan insonlar foydalanish istagi paydo bo’ladi va ularning vaqt va pul katta sarmoya talab qilmaydi va ularni darhol interoperating boshlash imkonini beradi narsa yaratish. Bu erda qanday gap:

  1. Agar XML so’z yaratish bo’lsa, ustama ma’nosini balki uni qayta ishlash ilovalar o’z xatti nafaqat ko’rsating.
  2. muvofiqlik qoidalarini belgilash.
  3. bir sinov to’plami yaratish.
  4. xatti amalga oshiradi dastur yaratish.
  5. test Suite qarshi ariza tekshirish.
  6. dunyoga dastur mavjud qiling.

Ideal, ariza bir necha amaliy dasturlar (albatta, shu xatti bilan har!) Tashkil etiladi. Bu yo’l foydalanuvchilar ishlash yoki hajmi yoki dasturlash u amalga oshirildi til asosida amalga oshirilishini tanlashingiz mumkin.

Bo’ldi shu! Buning va XML lug’at tez qabul qilinishi mumkin.

Misol: XSLT so’zlarini ko’rib chiqing. XSLT spetsifikatsiyasi faqat har bir element va atributning ma’nosini emas, balki ularning xatti-harakatini ham belgilaydi. XSLT spetsifikatsiyasi muvofiqlik qoidalarini o’z ichiga oladi. XSLT test to’plami mavjud. XSLT protsessorida bayon qilingan xatti-harakatni amalga oshiruvchi XSLT protsessori yaratilgan. Aslida, dasturning bir nechta ilovalari yaratildi: Xalan, Saxon, Sableton va boshqalar.

“Xulq-atvorni belgilash” degani nimani anglatishi haqida biroz gapirib beray. Qayta o’ylab ko’ring XSLT. XSLT spetsifikatsiyasi shundan iboratki, <xsl: for-every> elementi tugun to’plamini aniqlaydi. Bu degani. Bundan tashqari, mos keluvchi dastur tanlangan atribut bilan belgilangan har bir tugunni (yani, har bir element uchun tanlangan atributga ega) yinelemeli va <xsl: for-every> elementlari ichida bajarilishi kerakligini aytadi. Bu xatti-harakatlar. Shunday qilib, XSLT spetsifikatsiyasi ilovaning <xsl: for-every> elementida qanday ishlashi kerakligini belgilaydi. XSLTning barcha so’z birikmalariga oid ma’lumotlar.

XML sxemasining spetsifikatsiyasi XML sxemasi tekshiruvchilari xatti-harakatlarini aniqlashning yaxshi ishi. Misol uchun, XML sxemasi elementi deklaratsiyasi uchun, bir validator XML namunasi hujjatining elementning to’g’ri sonini o’z ichiga olganligini va uning mazmuni to’g’ri turdagi ekanligini tekshirish kerakligini aniqlaydi. Shunday qilib, validatorning XML sxema so’zlarida qanday ishlashi kerakligini aniqlaydi. Shunday qilib, “xatti-harakatni belgilash” so’zning “bu elementi (yoki xususiyati) uchun” ni ta’riflashni anglatadi, shuning uchun ilova buni amalga oshirishi kerak.

Odamlar XML so’z birikmasini yaratishda xatoga yo’l qo’yish, uning xatti-harakatlarini aniqlay olmaydilar. Qanday xatti-harakatlar bo’lishi kerakligini aniqlash uchun uni “dunyo” ga qoldiradilar. Buning klassik namunasi HTML. Brauzer ishlab chiquvchilari xatti-harakatlarning qanday bo’lishi kerakligi haqida qaror qabul qilishlari kerak edi. Ular to’g’ri xulq-atvor haqida turli xil fikrlarga ega edilar. Natijada, IE, Firefox va boshqa brauzerlar boshqacha yo’l tutishdi. Ular nihoyat xulq-atvori umumiy tushunchaga qo’shilishdan oldin 10 yil vaqt oldi. Agar HTML spetsifikatsiyasi xatti-harakatni, moslik qoidalarini va sinovli to’plamni ko’rsatgan bo’lsa, bundan o’n yil burun brauzerlarni o’zida mujassam etgan bo’lardik.

Xatti ko’rsatilgan qachon siz ko’rib kerak bir narsa shu: Sizning XML vocabulary bir XML hujjat sifatida yoki ikki XML hujjatlar sifatida qo’llash oziklanadi bo’ladi? (Yoki yana) ning nima demoqchi ko’rish uchun ayrim misollarni ko’rib chiqaylik:

  • Brauzer ilovalar jarayoni bir hujjat (HTML hujjat)
  • XML chizmalari tekshiruvchisi ikki hujjat (XML chizmalari hujjat va bir XML hujjat) qayta ishlash
  • XSLT Protsessorlar ikki hujjat (XSLT hujjat va XML hujjat) qayta ishlash

Bu misollarda dasturlar: brauzer, XML chizmalari validator va XSLT protsessor. Ushbu dasturlar, bir XML so’z qayta ishlash. XML lug’atga qarab, dastur bir usuli hujjatni yoki ikki usuli hujjatlarni (yoki undan ko’p) talab qilishi mumkin.

Ma’lumotlarni birga

Men tez-tez eshitganman, “Ma’lumotlararo muvofiqlikni ta’minlash uchun har bir murojaat XML so’zlashuvini shu kabi izohlashi kerak.”

Xuddi shu dasturni ishlatishdan ko’ra bir xil talqinni/tushunchani ta’minlashning eng yaxshi usuli!

Xuddi shu dasturni qo’llash orqali biz mukammal ma’lumotlarni o’zaro muvofiqlashtira olamiz. QAYD: “Menga bir xil dastur” deb aytganda, men bir qator dasturni nazarda tutaman. Shunday qilib, Xalan, Sakson va Sobletron – barchasi bir xil dastur – ular XSLT protsessorlari. Xuddi shu dasturni qo’llash, masalan, har bir Xalanni ishlatishini bildirmaydi. Bir kishi Xalanni, ikkinchisi saksonni va yana bir Sabletronni ishlatishi mumkin. Hammasi joyida; ularning barchasi bir xil xatti-harakatga ega; ularning barchasi XSLT muvofiqligi qoidalariga amal qilishadi; ularning barchasi XSLT test sinovlaridan o’tishadi.

Bir xil dasturni birgalikda ishlatish yo’li bilan ma’lumotlar o’zaro muvofiqligini ta’minlashga misol qilib keling.

Misol: XSLT ni ko’rib chiqing. Men XSLT hujjatini yaratib, XSLT protsessorim ustida ishlay olaman. Sizga XSLT hujjatini jo’natishim mumkin va uni XSLT protsessorida ishlatishingiz mumkin. Biz ham xuddi shunday xulqni olamiz. Biz <xsl: for-every> elementi nimani anglatishini va u qanday yo’l tutish kerakligini mukammal ravishda qabul qilamiz. XSLT so’zlaridagi boshqa barcha elementlar va atributlar uchun. Biz muvaffaqiyatli hamkorlik qildik. Bunga nima yordam berdi? Javob: Birgalikda ishlashga imkon beradigan narsa – biz shu dasturdan foydalanayotganimiz. (Yana shuni ta’kidlash kerakki, biz dasturning bir xil ilovasini qo’llayotganligimizni anglatmasligimiz kerak, siz Xalan dan foydalanishingiz mumkin va men saksonni ishlatishim mumkin, bu yaxshi, ular ham XSLT protsessorlari.)

Ikkinchi XSLT hujjatini yaratib, uni sizga yuboraman. Shunga qaramay bizda mukammal muvofiqlik mavjud. Uchinchi XSLT hujjati. Va hokazo. XSLT protsessor dasturi mutlaqo farqli XSLT konvertatsiyasini yaratishga, almashishga va bajarishga imkon beradi.

Yig’ilish

Bu erda asosiy nuqtalari bor:

  1. Agar XML so’z yaratish bo’lsa, XML so’z xatti belgilash. muvofiqlik talablarini belgilash. bir sinov to’plami yaratish. ilovalarni muvofiq amalga oshirish, shu xatti bilan har bir (tatbiqiy hajmi, bajarish, dasturlash tilida, va hokazo farq qilishi mumkin). Har kim dasturlar foydalaning.
  2. Ma’lumotlarni birga XML so’z bilan o’rtoqlashdi aql orqali erishiladi emas. Ma’lumotlarni birga XML vocabulary arizasi birgalikda foydalanish orqali erishiladi.
  3. Uning xatti ko’rsatilgan holda XML so’z yaratish yomon fikr emas. Bu eng yaxshi kechiktirilgan Ma’lumotlarni birga, bir taklifni, yomon ma’lumotlar birga ishlashni olmadi.