Az XML (Extensible Markup
Language, Kiterjeszthető Leíró Nyelv)
a W3C által
ajánlott általános célú leíró nyelv, speciális
célú leíró nyelvek létrehozására. Az SGML
egyszerűsített részhalmaza, mely különböző adattípusok
leírására képes. Az elsődleges célja strukturált szöveg
és információ megosztása az Interneten keresztül.
Az XML-en alapuló nyelvek (például RDF, RSS, MathML,
XSIL, SVG) formális módon vannak leírva, így lehetővé
téve a programok számára a dokumentumok módosítását
és validálását a formátum előzetes ismerete nélkül.
Az XML Előnyei, hátrányai
Az XML azon tulajdonságai, melyek alkalmassá teszik
adattovábbításra:
mind ember, mind gép számára olvasható formátum
támogatja a Unicode-ot,
ami lehetővé teszi bármely információ bármely emberi
nyelven történő közlését
képes a legtöbb általános számítástudományi adatstruktúra
ábrázolására (rekord, lista, fa.)
öndokumentáló formátum, amely struktúra- és mezőneveket
ír le speciális értékekkel együtt
szigorú szintaktikus és elemzési követelményeket
támaszt, ami biztosítja, hogy a szükséges elemzési
algoritmus egyszerű, hatékony és ellentmondásmentes
maradjon
Az XML-t gyakran használják dokumentumtárolási és
feldolgozási formátumként, mind online mind offline
módon, és több előnnyel is jár:
internetes szabványokon alapuló erőteljes, logikailag
ellenőrizhető formátum
a hierarchikus struktúrája megfelel a legtöbb (de
nem mindegyik) dokumentum típusnak
egyszerű szöveg formátumban valósul meg, licencektől
és korlátozásoktól mentesen
platform-független, így viszonylag immúnis a technológiai
változásokkal szemben
az XML-t és elődjét, az SGML-t már több mint tíz
éve használják, így széles tapasztalat és eszközkészlet
áll rendelkezésre
Bizonyos alkalmazások szempontjából a következő hátrányokkal
rendelkezik:
A szintaxisa elég bőbeszédű és részben redundáns.
Ez nehezítheti az emberi olvashatóságot és az alkalmazások
hatékonyságát, valamint nagyobb tárolási költséggel
jár. Nehézzé teszi az XML alkalmazását korlátozott
sávszélesség esetén, bár bizonyos esetekben a tömörítés
csökkentheti a problémát. Ez részben igaz a telefonokon
és PDA-kon futó multimédiás alkalmazásokra, melyek
XML-t szeretnének használni képek és videók leírására.
A szintaxis számos homályos, felesleges tulajdonsággal
bír, ami az SGML hagyatéka.
Az alapvető elemzési követelmények
nem támogatják az adattípusok túl széles körét,
így néha a kívánt adat kinyerése a dokumentumból
plusz munkával jár az elemző részéről. Például
nincs lehetőség XML-ben a "3,14159" lebegőpontos
számként való megjelölésére hét karakterből álló
sztring helyett.
Nincs lehetőség a dokumentum egyes részeinek közvetlen
elérésére és frissítésére.
Egymást részben átfedő (nem hierarchikus) adatstruktúrák
modellezése külön erőfeszítést igényel.
Az XML relációs és objektum orientált paradigmához
kötése néha fáradságos.
Ahhoz, hogy egy XML dokumentum helyes legyen, a következő
követelményeknek kell megfelelnie:
Helyesen formázottság. Egy helyesen
formázott XML dokumentum megfelel minden XML szintaxis
szabálynak. Például ha egy nem üres elem rendelkezik
nyitó tag-gel, de nem rendelkezik záró tag-gel, akkor
nem helyesen formázott. Az a dokumentum, ami nem
helyesen formázott, nem tekinthető XML-nek. Az elemzőnek
meg kell tagadnia a feldolgozását.
Érvényesség. Egy érvényes dokumentum
olyan adatot tárol, ami megfelel a felhasználó által
definiált tartalmi szabálynak, ami leírja a helyes
adat értékeket és helyeket. Például ha a dokumentum
egy elemének olyan szöveget kell tartalmaznia, ami
egész számként értelmezhető, és ehelyett a szöveg "helló",
üres, vagy más elemeket tartalmaz, akkor a dokumentum
nem érvényes.