Ubrzanje Usvajanje XML Rječnici

Izvornik: Accelerating Adoption of XML Vocabularies

Želite da ubrza usvajanje XML vokabular? Jedan od načina je da ima 800 £ gorila snagu svima da ga koriste. Ali to će se uskoro rezultirati ogorčenje i pobunu. Bolji način je da se stvori nešto što će ljudi zaista žele da koriste i ne zahtijeva od njih veliku investiciju u vrijeme ili novac i omogućuje im odmah početi interoperabilnosti. Evo kako:

  1. Kada napravite XML vokabular, navedite ne samo značenje markup, ali i njegovo ponašanje u aplikacijama koje se obrađuju.
  2. Navedite skladu pravila.
  3. Stvoriti testova.
  4. Napravite aplikacija koja implementira ponašanje.
  5. Potvrdite prijavu protiv testova.
  6. Učiniti aplikacija dostupna na svijetu.

U idealnom slučaju, nekoliko implementacije aplikacija će biti kreiran (svaka sa istim ponašanjem, naravno!). Na taj način korisnici mogu odabrati implementacije na osnovu njegovog učinka ili veličinu ili koje programski jezik je implementiran u.

To je to! Da li ovo i vaš XML vokabular može biti brzo usvojen.

Primjer: Uzmite u obzir XSLT vokabular. Specifikacija XSLT određuje ne samo značenje svakog elementa i atributa, ali i njihovo ponašanje. Specifikacija XSLT sadrži skladu pravila. Postoji XSLT testova. Aplikacija tzv XSLT procesor-je stvoren koji implementira ponašanje navedeno u specifikaciji XSLT. U stvari, više implementacije aplikacije su stvoreni: Xalan, Saxon, Sableton, i drugi.

Dozvolite mi da razraditi malo više na ono što mislim pod “određuje ponašanje.” Razmislite o još jednom XSLT. Specifikacija XSLT kaže da je <xsl: for-svaki> element identificira kolekciju čvorova. To je smisao. On također kaže da je aplikacija u skladu mora iteraciju nad svakom čvoru prepoznati po izaberite atribut (i za-svaki element ima odaberite atribut) i izvršiti elemenata unutar <xsl: for-svaki>. To je ponašanje. Dakle, specifikacija XSLT određuje kako se aplikacija mora ponašati na <XSL: za-svaki> elementa. Isto važi i za cijeli XSLT vokabular.

Specifikacije XML Schema radi dobar posao određivanja ponašanja XML Schema validatori. Na primjer, to se navodi da, za element deklaraciju u XML Schema, a validator mora provjeriti da XML instanca dokument sadrži tačan broj pojavljivanja elementa i njen sadržaj je od odgovarajućeg tipa. Prema tome, navodi kako se ponašati na validator mora XML Schema vokabular. Dakle, da se “odrediti ponašanje” znači da opiše “za taj element (ili atribut) u vokabular, aplikacija mora učiniti ovo, ovo, i ovo.”

Greška ljudi čine kada se stvara XML vokabular je da oni ne odredite njegovo ponašanje. Ostavljaju ga na “svijet” da shvati šta bi trebalo da bude ponašanje. Klasičan primjer za to je HTML. Programeri preglednika morao odlučiti što bi trebalo da bude ponašanje. Oni su naširoko različite ideje o pravilnom ponašanju. Posljedica je bila da IE, Firefox, i drugi pretraživači sve ponašali drugačije. Bilo je potrebno 10 godina prije nego što konačno se okupilo na zajedničkom razumijevanju ponašanja. Da je HTML specifikaciji naveo ponašanje, pod uslovom da pravila skladu i testova, onda bismo imali identično ponašaju preglednicima prije 10 godina.

Jedna stvar koju morate uzeti u obzir kada se određuje ponašanje je ovo: da li će vaš XML vokabular se unosi u aplikaciju kao jedan XML dokument ili kao dva XML dokumenata? (? Ili još) Uzmimo nekoliko primjera da vidimo šta mislim:

  • Aplikacije preglednika proces jedan dokument (HTML dokument)
  • XML Schema validatori obrađuju dva dokumenta (XML Schema dokument i XML dokument)
  • XSLT procesor obrađuje dva dokumenta (XSLT dokument i XML dokument)

U ovim primjerima su prijave: browser, XML Schema validator, i XSLT procesor. Ove aplikacije obradi XML vokabular. Ovisno o XML vokabular, aplikacija može zahtijevati jedan ulazni dokument ili dva ulaza dokumenta (ili više).

Data Interoperability

Često sam čuo, rekao je, “Da bi se postigla interoperabilnost podataka svaki zahtjev mora interpretirati / shvatiti XML vokabular na isti način.”

Koji je bolji način da se osigura isti tumačenje / razumijevanja nego da koriste iste aplikacije!

Koristeći iste aplikacije možemo imati savršenu podataka interoperabilnost. NAPOMENA: Kad kažem “iste aplikacije” Mislim skup implementacije. Stoga, Xalan, Saxon, a Sabletron su svi isti aplikacija-svi su XSLT procesora. Koristeći isti zahtjev ne znači, na primjer, da svi koriste Xalan.Jedna osoba može koristiti Xalan, drugi koristi Saxon, i još Sabletron. To je uredu; svi oni imaju isto ponašanje; svi oni poštuju pravila XSLT skladu; svi oni prolaze XSLT testova.

Evo primjer za ilustraciju kako se podaci interoperabilnost postiže kroz zajedničko korištenje iste aplikacije.

Primjer: Razmislite XSLT. Ja mogu stvoriti XSLT dokument i pokrenuti na mom XSLT procesor. Ja mogu poslati XSLT dokument, a vi možete pokrenuti i na XSLT procesor. Mi smo se isto ponašanje. Slažemo se savršeno na ono što je <xsl: for-svaki> element znači i kako treba da se ponašaju. Isto važi i za sve ostale elemente i atribute u XSLT vokabulara. Uspješno smo interoperated. Šta omogućen ovo? Odgovor: Koje je omogućio interoperabilnost je činjenica da smo se koriste istu aplikaciju. (Opet, moram naglasiti da to ne znači da mi koristimo isti implementaciju aplikacije, možda koristite Xalan i ja mogu koristiti Saxon, to je u redu.; Oba su XSLT procesora)

Ja mogu stvoriti drugi XSLT dokument i poslati ga na vas. Opet, imamo savršen interoperabilnost. I treći XSLT dokument. I tako dalje. Aplikacija XSLT procesor olakšava beskrajne različitim XSLT transformacije biti kreirana, razmijenili i pogubljen sa savršenim razumijevanje / interoperabilnost.

Rekapitulacija

Ovdje su glavne točke:

  1. Kada kreirate XML vokabular, odrediti ponašanje XML vokabulara. Navedite zahtjeve skladu. Stvoriti testova. Provesti skladu aplikacija, od kojih svaki ima isto ponašanje (i implementacija može varirati u veličini, performanse, programski jezik, itd). Svako koristiti implementacije.
  2. Podaci interoperabilnost se ne postiže kroz zajedničko razumijevanje XML vokabulara. Podaci interoperabilnost postiže kroz zajedničko korištenje aplikacija XML vokabular je.
  3. Kreiranje XML vokabular bez navođenja njegovo ponašanje je loša ideja. To je recept za odloženo podataka interoperabilnosti u najboljem slučaju, nije podaci interoperabilnosti u najgorem slučaju.

No Comments

Leave a Reply