Az XML szókincsek elfogadásának felgyorsítása

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

Roger L. Costello

Fel akarja gyorsítani az XML szókincs átvételét? Az egyik módszer az, hogy egy 800 font gorilla mindenkit arra kényszerít, hogy használja. De ez hamarosan neheztelést és lázadást eredményez. Jobb módszer egy olyan dolog létrehozása, amelyet az emberek valóban használni akarnak, és nem igényel számukra nagy idő- vagy pénzbefektetést, és lehetővé teszi számukra, hogy azonnal együttműködjenek. Itt van, hogyan:

  1. XML szókincsének létrehozásakor adja meg nemcsak a jelölés jelentését, hanem annak viselkedését is az azt feldolgozó alkalmazásokban.
  2. Adja meg a megfelelőségi szabályokat.
  3. Hozzon létre egy tesztcsomagot.
  4. Hozzon létre egy alkalmazást, amely megvalósítja a viselkedést.
  5. Ellenőrizze az alkalmazást a tesztcsomaggal szemben.
  6. Tegye elérhetővé az alkalmazást a világ számára.

Ideális esetben az alkalmazás több megvalósítását is létrehozzák (természetesen mindegyik azonos viselkedéssel!). Így a felhasználók kiválaszthatják a megvalósítást annak teljesítménye vagy mérete alapján, vagy hogy mely programozási nyelven valósították meg.

Ez az! Tegye ezt, és az XML szókincse gyorsan átvehető.

Példa: Vegye figyelembe az XSLT szókincsét. Az XSLT specifikáció nemcsak az egyes elemek és attribútumok jelentését, hanem viselkedésüket is meghatározza. Az XSLT specifikáció megfelelőségi szabályokat tartalmaz. Van egy XSLT tesztcsomag. Létrejött egy alkalmazás – az úgynevezett XSLT processzor -, amely végrehajtja az XSLT specifikációban meghatározott viselkedést. Valójában az alkalmazás több megvalósítását hozták létre: Xalan, Saxon, Sableton és mások.

Hadd fejtsek ki egy kicsit többet arról, hogy mit értek a “viselkedés meghatározása” alatt. Vegyük ismét fontolóra az XSLT. Az XSLT specifikáció szerint az <xsl:for-each> elem azonosítja a csomópontok gyűjteményét. Ez azt jelenti. Azt is mondja, hogy egy kompatibilis alkalmazásnak meg kell ismételnie a select attribútum által azonosított minden csomópontot (a for-each elem rendelkezik select attribútummal), és végrehajtania kell az elemeket az <xsl:for-each>. belül. Ez a viselkedés. Így az XSLT specifikáció meghatározza, hogyan kell viselkednie egy alkalmazásnak az <xsl:for-each> elemen. Ugyanez a teljes XSLT szókincsre vonatkozóan.

Az XML Schema specifikáció jó munkát végez az XML Schema érvényesítők viselkedésének meghatározásában. Például meghatározza, hogy egy XML Schema elemdeklarációjához az érvényesítőnek ellenőriznie kell, hogy az XML példánydokumentum megfelelő számú előfordulást tartalmaz-e az elemen, és annak tartalma megfelelő típusú-e. Így meghatározza, hogy az érvényesítőnek hogyan kell viselkednie az XML Schema szókincsén. Tehát a “viselkedés meghatározása” azt jelenti, hogy leírjuk “ennek az elemnek (vagy attribútumnak) a szókincsben, az alkalmazásnak ezt, ezt és ezt kell tennie”.

Az a hiba, amelyet az emberek elkövetnek egy XML szókincs létrehozásakor, az, hogy nem adják meg annak viselkedését. A “világ” feladata, hogy kitalálják, mi legyen a viselkedés. Klasszikus példa erre a HTML. A böngésző fejlesztőinek el kellett dönteniük, hogy mi legyen a viselkedés. Nagyon eltérő elképzeléseik voltak a helyes viselkedésről. A következmény az volt, hogy az IE, a Firefox és a többi böngésző mind másképp viselkedett. 10 évbe telt, mire végre összefogtak a viselkedés közös megértésében. Ha a HTML specifikáció megadta volna a viselkedést, megadta volna a megfelelőségi szabályokat és a tesztcsomagot, akkor 10 évvel ezelőtt azonos viselkedésű böngészőink lettek volna.

A viselkedés megadásakor egy dolgot kell figyelembe venni: az XML-szókincsét egy XML-dokumentumként vagy két XML-dokumentumként be fogja tölteni az alkalmazásba? (Vagy több?) Vegyünk néhány példát, hogy megnézzem, mire gondolok:

  • A böngészőalkalmazások egy dokumentumot (HTML dokumentumot) dolgoznak fel
  • Az XML séma érvényesítők két dokumentumot (egy XML séma dokumentumot és egy XML dokumentumot) dolgoznak fel
  • Az XSLT processzorok két dokumentumot (egy XSLT dokumentumot és egy XML dokumentumot) dolgoznak fel

Ezekben a példákban az alkalmazások a következők: böngésző, XML séma érvényesítő és XSLT processzor. Ezek az alkalmazások XML szókincset dolgoznak fel. Az XML szókincsétől függően egy alkalmazáshoz szükség lehet egy beviteli dokumentumra vagy két bemeneti dokumentumra (vagy többre).

Adatok interoperabilitása

Gyakran hallottam ezt mondani: “Az adatok interoperabilitásának elérése érdekében minden alkalmazásnak ugyanúgy kell értelmeznie/megértenie az XML szókincset.”

Mi lehet a jobb módja annak, hogy ugyanazt az értelmezést/megértést biztosítsuk, mint ugyanazt az alkalmazást használni!

Ugyanazon alkalmazás használatával tökéletes adatátjárhatóságot érhetünk el. MEGJEGYZÉS: Ha azt mondom, hogy “ugyanaz az alkalmazás”, akkor megvalósítások halmazára gondolok. Így Xalan, Saxon és Sabletron ugyanaz az alkalmazás – mindegyik XSLT processzor. Ugyanazon alkalmazás használata nem jelenti például azt, hogy mindenki Xalan-t használ. Egy személy használhatja a Xalan-t, egy másik a szászot, egy másik pedig a Sabletron-t. Rendben van; mindannyian azonos viselkedéssel bírnak; valamennyien betartják az XSLT megfelelőségi szabályokat; valamennyien átmennek az XSLT tesztcsomagon.

Íme egy példa annak bemutatására, hogyan érhető el az adatok interoperabilitása ugyanazon alkalmazás megosztott használatával.

Példa: Tekintsük az XSLT. Létrehozhatok egy XSLT dokumentumot, és az XSLT processzoromon futtathatom. Elküldhetem Önnek az XSLT dokumentumot, és Ön futtatja az XSLT processzorán. Ugyanezt a viselkedést tapasztaljuk. Tökéletesen egyetértünk abban, hogy mit jelent az <xsl:for-each> elem és hogyan kell viselkednie. Ugyanez vonatkozik az XSLT szókincs összes többi elemére és attribútumára. Sikeresen együttműködtünk. Mi tette ezt lehetővé? Válasz: Az interoperabilitást az tette lehetővé, hogy ugyanazt az alkalmazást használjuk. (Ismét hangsúlyoznom kell, hogy ez nem azt jelenti, hogy ugyanazt az alkalmazást alkalmazzuk; lehet, hogy Ön Xalan használ, én pedig Saxont; ez rendben van; mindketten XSLT processzorok.)

Hozhatok létre egy második XSLT dokumentumot, és elküldhetem Önnek. Ismét tökéletes átjárhatósággal rendelkezünk. És egy harmadik XSLT dokumentum. És így tovább. Az XSLT processzoralkalmazás megkönnyíti a végtelen különböző XSLT átalakítások létrehozását, cseréjét és végrehajtását tökéletes megértéssel/interoperabilitással.

Újrafutóz

Itt vannak a főbb szempontok:

  1. XML szókincs létrehozásakor adja meg az XML szókincs viselkedését. Adja meg a megfelelőségi követelményeket. Hozzon létre egy tesztcsomagot. Megfelelő alkalmazások megvalósítása, mindegyik azonos viselkedéssel (a megvalósítások mérete, teljesítménye, programozási nyelve stb. Változhat). Mindenki használja a megvalósításokat.
  2. Az adatok interoperabilitása nem érhető el az XML szókincs megosztott megértésével. Az adatok interoperabilitása az XML szókincs alkalmazásának megosztott használatával érhető el.
  3. Rossz ötlet egy XML szókincs létrehozása a viselkedés meghatározása nélkül. Ez a legjobb esetben a késleltetett adatátjárhatóság, a legrosszabb esetben a meghiúsult adatátjárhatóság receptje.

Utolsó frissítés: 2021. március 11

 

About The Author

admin

Comments are closed.