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.