XML, XLINK, névtér, DTD, séma, CSS, XHTML ... Ha Ön még kezdő az XML technológiában, bizony nehéz megtudni, hogy hol is érdemes elkezdeni az ismerkedést. Az alábbi, 10 pontból álló összefoglaló megpróbál a kezdők segítségére lenni, hogy annyi alapvető tudás birtokába juthassanak, aminek segítségével már megláthatják a fán túl az erdőt.
Strukturált adatok alatt olyan dolgokat értünk, mint egy táblázat, címjegyzék, konfigurációs paraméterek, üzleti tranzakciók vagy műszaki rajzok. Az XML szabályok gyűjteménye (ezeket felfoghatjuk szamárvezetőknek vagy konvencióknak), melyek segítségével olyan szöveges formátumokat állíthatunk elő, amelyek alkalmasak adatok strukturált leírására. Az XML nem egy programozási nyelv, és a használatához vagy megtanulásához nem szükséges programozónak lenni. Az XML a számítógép számára megkönnyíti az adatok generálását, olvasását és biztosítja, hogy az adatszerkezet egyértelmű legyen. Az XML elkerüli a programozási nyelvekben gyakran előforduló csapdákat: az XML bővíthető, platform-független és támogatja a nemzetköziesítést és a lokalizációt. Az XML teljes egészében az Unicode-on alapul.
A HTML-hez hasonlóan az XML is tagokat (szavak '<' és '>' jelek között) és attribútumokat (név="érték" formátumban) használ. Azonban míg a HTML előre definiálja, hogy az egyes tagok és attribútumok mit jelentsenek, s hogy a tagok közötti szöveg a böngészőben miképp jelenjen meg, addig az XML a tagokat csak az egyes adatcsoportok elválasztására használja, az adatok értelmezését meghagyja az alkalmazások számára, amelyek az XML-t olvassák. Másképp megfogalmazva: ha egy "<p>" tagot látunk egy XML fájlban, akkor ez nem feltétlenül jelenti egy új paragrafus kezdetét. A kontextustól függően ez jelölhet pénznemet, pártot, paramétert, p... (és egyáltalán, ki mondta, hogy a jelölt adatnak "p" betűvel kell kezdődnie?)
A táblázatokat, címjegyzékeket és egyéb strukturált adatot előállító programok az adatokat időről-időre lemezre kell, hogy mentsék valamilyen bináris vagy szöveges formátumban. A szöveges formátum előnye, hogy - amennyiben szükséges - akár ember által is elolvasható anélkül, hogy az azt előállító programot le kéne futtatni; a megtekintéséhez elegendő egy tetszőleges szövegszerkesztő használata. A szöveges formátum egy másik előnye, hogy a fejlesztők sokkal könnyebben tudják megtalálni benne az esetleges hibákat. A HTML-hez hasonlóan az XML fájlok sem azért készültek, hogy az embereknek el kelljen olvasni azokat, de ha szükséges, mégis megtehetik. A HTML-től eltérően az XML szabályai sokkal szigorúbbak. Egy lefelejtett lezáró tag vagy egy attribútum hiányzó idézőjelei az XML fájlt használhatatlanná teszik, míg a HTML-ben ilyen "könnyelműségek" megengedettek, sőt, esetenként kifejezetten engedélyezettek. A hivatalos XML-specifikáció nem engedi meg, hogy egy alkalmazás próbálkozás útján vagy más módon megpróbáljon kijavítani egy elrontott XML fájlt; ha a fájl rossz, az alkalmazásnak meg kell állnia a hiba észlelésekor, és jeleznie kell a hibát.
Mivel az XML egy szöveges formátum, és tagokat használ az adatok körülhatárolásához, ezért értelemszerűen egy XML fájl mindig nagyobb lesz, mint egy hasonló adatokat tartalmazó bináris fájl. Ez a tervezők tudatos döntésének eredménye. A szöveges formátum előnyei nyilvánvalóak (lásd a 3. pontot) és a hátrányai más szempontból kompenzálhatók. A tárolókapacitás ma már jóval olcsóbb, mint egykor, és a zip, gzip vagy hasonló tömörítő programok már elég gyorsan és nagymértékben képesek e fájlok tömörítésére. Továbbmenve, a kommunikációs protokollok, mint például a modern protokollok közül a HTTP/1.1, a Web alapprotokollja, képesek az adatokat röptében is tömöríteni, ily módon a bináris adatokkal összemérhető nagyságrendben tudnak a sávszélességgel takarékoskodni.
Az XML 1.0 definiálja a tag és az attribútum fogalmát. Az XML 1.0-án túl létrejött az XML család" is, ami olyan modulok gyűjteménye, melyek fontos és gyakran előforduló XML-hez kapcsolódó problémákhoz nyújtanak segítséget. Az XLink egy olyan szabvány, mely leírja, hogy miként kell XML fájlokba linkeket elhelyezni. Az XPointer és XFragments szintaxissal az XML dokumentumon belül található részekre lehet hivatkozni. Az XPointer egy kicsit az URL-re hasonlít, azzal a különbséggel, hogy nem egy Weben található dokumentumra mutat, hanem egy XML fájlon belül található adatrészre. A CSS, a stílusleíró nyelv az XML-hez ugyanúgy használható, mint a HTML-hez. Az XSL egy továbbfejlesztett nyelv stílusnyelvek leírására. Ez az XSLT-n alapul, ami egy transzformációs nyelv, mely XML fájlok átrendezésére, tagok és attribútumok beszúrására, törlésére szolgál. A DOM funkcióhívások egy halmazát szabványosítja, melyek segítségével XML (és HTML) fájlokat manipulálhatunk különböző programozási nyelvekből. Az XML Séma 1 és 2 szabványok segítségével a fejlesztők leírhatják a saját XML alapú formátumaik struktúráját. Ezeken kívül még számos egyéb modul és eszköz létezik már, vagy áll fejlesztés alatt. Kísérjék figyelemmel a W3C technikai tudósítások oldalát!
Az XML fejlesztése 1996-ban kezdődött, és 1998 februárja óta már hivatalos W3C ajánlás, amiből esetleg arra is lehet következtetni, hogy ez egy meglehetősen kiforratlan technológia. Valójában azonban ez mégsem olyan új technológia. Az XML előtt volt az SGML, melyet a 80-as évek elején kezdtek el fejleszteni, 1986 óta ISO standard, és nagyméretű dokumentációs projektekben használták eddig. A HTML fejlesztése 1990-ben kezdődött. Az XML fejlesztői csupán annyit csináltak, hogy vették az SGML legjobb részeit, hozzávéve a HTML-lel kapcsolatos tapasztalataikat, és előállítottak valamit, ami semmivel sem kevésbé hatékony, mint az SGML, ám mégis jóval szabályosabb és egyszerűbben használható. Az evolúciót azonban néha igen nehéz megkülönböztetni a revolúciótól. Azt kell, hogy mondjuk, hogy míg az SGML leginkább csak technikai dokumentációk leírására volt alkalmas és más adat strukturálására alig, addig az XML pont ellenkezőleg.
Létezik egy különösen fontos XML applikáció, mely egy dokumentum-formátum is egyben: a W3C XHTML szabványa, mely a HTML utóda. Az XHTML a HTML megannyi elemét örökölte, ám a szintaxisa kissé megváltozott, hogy megfeleljen az XML szabályainak. Egy olyan dokumentum, ami "XML alapú" örökli az XML szintaxisát és egyben szigorításokat is bevezet bizonyos helyeken (pl. az XHTML-ben használható a "<p>", de az "<r>" nem); az XHTML ezen kívül jelentést is társít a szintaxishoz (vagyis az XHTML kimondja, hogy a "<p>" a "paragrafus" jelölésére szolgál és nem mondjuk a pénznem vagy paraméter megadására).
Az XML lehetőséget nyújt arra, hogy új dokumentum-formátumokat meglévő formátumok újrahasznosításával hozzunk létre. Mivel két, egymástól függetlenül fejlesztett formátum esetlegesen használhatja ugyanazokat a tagokat vagy attribútumokat ugyanazokkal a nevekkel, ezekre ügyelni kell a formátumok kombinálásakor (a "<p>" paragrafust jelent ebben a formátumban, vagy pénznemet a másikban?) Az elnevezési problémák kiküszöbölése céljából az XML az ún. névtér mechanizmust hívja segítségül. Az XSL és az RDF jó példái olyan XML formátumoknak, amelyek névtereket használnak. Az XML Séma szabványt úgy tervezték, hogy a névtereket az XML struktúrák definíciójában is érvényesíteni lehessen, megkönnyítve ezzel, hogy két séma összekapcsolásával létrehozzunk egy harmadikat, amely leírja a kombinált dokumentum formátumát.
A W3C Resource Description Framework-je (RDF - Erőforrásleíró Keretrendszer) egy olyan szöveges formátum, amely az erőforrások és metaadatok leírását támogató alkalmazások számára készült. Ilyenek lehetnek a zenei műsorrendek, fotókollekciók vagy bibliográfiák. Például, az RDF segítségével lehetővé válik személyek azonosítása egy webes fotóalbumban oly módon, hogy az adatokat egy személyes telefonkönyvhöz kapcsolódóan adjuk meg. Így a levelező programunk automatikusan képes lesz levelet küldeni azoknak, akiknek megtalálható a képe a weben. Miként a HTML dokumentumokat, menürendszereket és formulákat tartalmazó applikációkat összekapcsolva elindította az eredeti Webet, úgy az RDF alkalmazásokat és ügynökprogramokat fog egy egységes Szemantikus Webbé formálni. Ahogy az embereknek is egyet kell érteniük a beszéd közben használt szavak jelentésében, hasonló módon a számítógépeknek is ugyanazt a nyelvet kell "beszélniük", és a kifejezéseiknek mindannyiuk számára ugyanazt kell jelentenie, hogy hatékonyan tudjanak egymással kommunikálni. Bizonyos területek kifejezéseinek (például vásárlás, vagy gyártástechnológia) formális leírását ontológiáknak nevezzük, s ezek szükségszerű részeit képezik a Szemantikus Webnek. Az RDF, az ontológiák és a jelentések számítógép számára értelmezhető ábrázolása áll a Szemantikus Web kutatási terület középpontjában.
XML-t választva egy projekt alaptechnológiájának Ön egy nagy és egyre növekvő számú eszközt és fejlesztői kapacitást kínáló közösség tagjává válhat, ahol az Ön számára fontos szaktudás vagy eszköz valószínűleg már ma is rendelkezésre áll. Ha Ön az XML-t választja, az kicsit olyan, mint amikor az SQL-t választja adatbázis technológiának: az adatbázist és a hozzá kapcsolódó programokat, melyek az adatbázison dolgoznak továbbra is Önnek is kell elkészítenie, de egy sor eszköz és hozzáértő fejlesztő lehet ebben a segítségére. És mivel az XML licenszmentes, az Ön applikációja bátran használhatja azt, és ezért senkinek semmit nem kell fizetnie. A nagy és növekvő támogatottság azt is jelenti, hogy Ön nincs egy kizárólagos forgalmazóhoz kötve. Az XML nem mindig a legjobb megoldás, de mindig érdemes elgondolkodni rajta!
Copyright
© 1994-2003 W3C
® (MIT, ERCIM, Keio), All
Rights Reserved. W3C liability, trademark, document use
and software
licensing rules apply.