Ubrzavanje usvajanja XML rječnika

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

 

Želite ubrzati usvajanje XML rječnika? Jedan od načina je da snage od 800 funti gorile prisili sve da ga koriste. Ali to će uskoro rezultirati sramotom i pobunom. Bolji je način stvaranje nečega što će ljudi stvarno htjeti koristiti i ne zahtijeva od njih veliku investiciju u vremenu ili novcu i omogućuje im da odmah počnu međusobno djelovati. Evo kako:

  1. Kada izradite XML rječnik, navedite ne samo značenje oznake, već i njegovo ponašanje u aplikacijama koje ga obrađuju.
  2. Navedite pravila o usklađenosti.
  3. Stvorite testni paket.
  4. Izradite aplikaciju koja provodi ponašanje.
  5. Potvrdite prijavu protiv testnog paketa.
  6. Neka aplikacija bude dostupna svijetu.

U idealnom slučaju, izradit će se nekoliko implementacija aplikacije (svaki s istim ponašanjem, naravno!). Na taj način korisnici mogu odabrati implementaciju temeljenu na njegovoj izvedbi ili veličini ili na kojemu je programskom jeziku implementiran.

To je to! Učini to i vaš XML rječnik brzo se usvaja.

Primjer: Razmislite o XSLT rječniku. XSLT specifikacija određuje ne samo značenje svakog elementa i atributa nego i njihovo ponašanje. XSLT specifikacija sadrži pravila usklađenosti. Tu je XSLT test paket. Izrađen je program zvan XSLT procesor koji provodi ponašanje navedeno u XSLT specifikaciji. U stvari, stvorene su više implementacija aplikacije: Xalan, Saxon, Sableton i drugi.

Dopustite mi da razradim nešto više o tome što mislim pod “određivanjem ponašanja”. Ponovo razmotrite XSLT. XSLT specifikacija navodi da element <xsl: for-each> identificira zbirku čvorova. To je značenje. Također navodi da primjena koja se mora uskladiti mora se ponavljati na svakom čvoru koji je označen odabranim atributom (svaki za svaki element ima odabrani atribut) i izvršiti elemente unutar <xsl: for-each>. To je ponašanje. Stoga XSLT specifikacija određuje kako se aplikacija mora ponašati na elementu <xsl: for-each>. Isto vrijedi i za cijeli XSLT rječnik.

XML Shema specifikacija određuje ponašanje XML Shema validatora. Na primjer, određuje da za potvrdu elementa u XML shemi, validator mora provjeriti da dokument XML instance sadrži ispravni broj pojavljivanja elementa i njegov sadržaj ima ispravan tip. Stoga, on određuje kako se validator mora ponašati na XML Schema vokabularu. Dakle, kako bi “odredio ponašanje” znači opisati “za ovaj element (ili atribut) u vokabularu, aplikacija mora to učiniti, ovo i to.”

Pogreška koju ljudi naprave prilikom izrade XML rječnika je da ne propisuju svoje ponašanje. Ostavljaju ga “svijetu” da shvate što bi trebalo biti ponašanje. Klasičan je primjer HTML. Razvojni programeri preglednika morali su odlučiti što bi trebalo biti ponašanje. Imali su široko različite ideje o pravilnom ponašanju. Posljedica toga je da se IE, Firefox i drugi preglednici ponašaju drugačije. Trebalo je 10 godina prije nego što su konačno uskočili na zajedničko razumijevanje ponašanja. Je li HTML specifikacija navedila ponašanje, pod uvjetom da su pravila usklađenosti i testni paket, imali smo identične ponašanje preglednika prije 10 godina.

Jedna stvar koju morate uzeti u obzir prilikom navođenja ponašanja je ovo: hoće li vaš XML rječnik biti upisan u aplikaciju kao jedan XML dokument ili kao dva XML dokumenta? (Ili više?) Uzmimo neke primjere da vidimo što mislim:

  • Preglednik aplikacija proces jedan dokument (HTML dokument)
  • XML Schema za provjeru koje obrađuju dva dokumenta (XML Schema dokumenta i XML dokument)
  • XSLT procesor obraditi dva dokumenta (XSLT dokumenta i XML dokument)

U ovim primjerima aplikacije su: preglednik, XML Schema validator i XSLT procesor. Ove aplikacije obrađuju XML rječnik. Ovisno o XML rječniku, aplikacija može zahtijevati jedan ulazni dokument ili dva ulazna dokumenta (ili više).

Interoperabilnost podataka

Često sam čuo da je rekao, “Kako bi se postigla interoperabilnost podataka, svaka aplikacija mora na isti način interpretirati/razumjeti XML rječnik”.

Koji bolji način osigurati iste interpretacije/razumijevanja nego koristiti istu aplikaciju!

Korištenjem iste aplikacije možemo imati savršenu interoperabilnost podataka. NAPOMENA: Kada kažem “istu aplikaciju” mislim na skup implementacija. Dakle, Xalan, Saxon i Sabletron su sve iste aplikacije – svi su oni XSLT procesori. Upotreba iste aplikacije ne znači, na primjer, da svatko upotrebljava Xalan. Jedna osoba može koristiti Xalan, a drugi koristi Saxon, i još jedan Sabletron. To je u redu; svi imaju isto ponašanje; svi oni slijede pravila XSLT sukladnosti; svi oni prolaze XSLT test paket.

Evo primjera kako ilustrirati kako se interoperabilnost podataka postiže kroz zajedničko korištenje iste aplikacije.

Primjer: razmislite o XSLT-u. Mogu stvoriti XSLT dokument i pokrenuti ga na mom XSLT procesoru. Mogu vam poslati XSLT dokument i pokrenuti ga na XSLT procesoru. Imamo isto ponašanje. Savršeno se slažemo o tome što znači element <xsl: for-each> i kako se treba ponašati. Isto vrijedi za sve ostale elemente i atribute u XSLT vocabularu. Uspješno smo surađivali. Što je to omogućilo? Odgovor: Ono što je omogućilo interoperabilnost jest činjenica da koristimo istu aplikaciju. (Ponovno moram naglasiti da to ne znači da koristimo istu implementaciju aplikacije, možda koristite Xalan i ja mogu koristiti Saxon, to je u redu, oni su oba XSLT procesora.)

Mogu stvoriti drugi XSLT dokument i poslati ga vama. Opet, imamo savršenu interoperabilnost. I treći XSLT dokument. I tako dalje. XSLT procesor aplikacija olakšava beskrajne različite XSLT transformacije stvoriti, razmjenjivati i izvršiti uz savršeno razumijevanje/interoperabilnost.

Rekapitulacija

Ovdje su glavne točke:

  1. Kada stvoriti XML vokabular, odrediti ponašanje XML rječnika. Navedite zahtjeve skladu. Napravite probni paket. Provesti skladu aplikacije, svaki sa istim ponašanjem (implementacije može varirati u veličini, izvedbi, programski jezik, itd). Svatko koristiti implementacije.
  2. interoperabilnost podataka nije postignuta kroz zajedničko razumijevanje XML rječnika. interoperabilnost podataka se postiže kroz zajedničko korištenje XML vokabulara u primjeni.
  3. Stvaranje XML vokabular bez navođenja njegovo ponašanje je loša ideja. To je recept za odgođeno interoperabilnost podataka u najboljem slučaju, nije interoperabilnost podataka u najgorem slučaju.
Computer science
Scherk-Collinsov generator skulptura

Source: http://people.eecs.berkeley.edu/~sequin/SCULPTS/scherk.html Carlo H. Séquin Neke od Brent Collinsovih nedavnih skulptura od drva mogu se razumjeti geometrijski kao prstenovi sedlastih površina nastalih zbog toroidalnog savijanja skraćene minimalne površine Scherka. Razvijen je računalni program za vizualizaciju različitih konfiguracija takvih sedlastih prstena s različitim brojem rupa i različitim količinama pletiva. Eksperimentiranje s različitim …

Computer science
Izvorno sučelje Fortran-77 CGI

Source: http://www.nber.org/sys-admin/fortran-cgi/ Želimo proslijediti ulazne parametre i učitati datoteku iz web preglednika u f77 fortran program na Apache web poslužitelju, ali nismo uspjeli pronaći mnogo korisnih informacija o tome. Naš je cilj koristiti knjižnice, Perl i ništa osim standardnog f77 kao što dolazi s FreeBSD-om. Postoje neka ograničenja zbog nedostatka općenitosti …

Computer science
Vanderbiltova ultra meka pseudopotencijalna lokacija

Source: http://www.physics.rutgers.edu/~dhv/uspp/ To je primarno mjesto za distribuciju „Ultraupotrebljen Sčesto Pseudo Potencijal” (USPP) generacije kodom iz grupe David Vanderbilt Sveučilišta Rutgers. Sadržaj Pregledavanje i preuzimanje USPP paket Fortran izvori za pseudopotencijal generacije Pretvorba u šapi formatu koristeći USPP2PAW Pseudopotencijal knjižnice Preuzimanja Početak Dokumentacija Korisnik zajednica Arhiva ranijih verzija Povratne informacije Priznanje Pregledavanje i …