Az XML-t bemutató sorozatunkban ezúttal az érvényes XML dokumentum létrehozásával, ellenőrzésével és értelmezésével, a dokumentum típus definíció (DTD) létrehozásával, az elemtípusok és jellemzők deklarációjával, valamint a névterek és egyedek deklarálásával és használatával ismerkedünk meg.
Érvényes XML dokumentum létrehozása, ellenőrzése és értelme
Mielőtt megismerkednénk a dokumentum típus definíció
létrehozására használandó nyelv szintaktikájával, határozzuk meg, mely
dokumentumok nevezhetők érvényesnek.
Érvényes XML dokumentumnak nevezzük azon jólformázott XML
dokumentumokat, melyek logikai felépítése és tartalma teljes mértékben
megegyezik az XML dokumentumban meghatározott (vagy külső fájlban
meghatározott és az XML dokumentumhoz csatolt) szabályoknak. Ezen
szabályok megfogalmazhatóak (megírhatóak) Dokumentum Típus
Definíció (rövidebb nevén DTD) vagy XML-séma (cikksorozat
következő részében fogjuk tárgyalni) segítségével.
Az XML
dokumentumok érvényességének ellenőrzését maga a böngésző nem végzi el a
dokumentum értelmezésekor, csupán jólformázottsági ellenőrzést hajt
végre a dokumentumon és az esetleges DTD-n (amennyiben tartalmaz ilyet a
dokumentum). Az XML dokumentum érvényességének ellenőrzése a feldolgozó
program (például egy weblapszkript) feladata. Az esetleges érvényességi
hibák esetén hibaüzenetet kapunk, de a dokumentum feldolgozása
folytatódhat. A következőkben bemutatunk egy rövidke weblapszkriptet JavaScript
nyelvben megírva, amely segítségével nagyon egyszerűen megállapíthatjuk, hogy a
dokumentum érvényes-e vagy sem:
<HTML> <HEAD><TITLE>DTD szerinti érvényesség-ellenőrző</TITLE>
<!--Az SRC tulajdonságnak adjuk meg az ellenőrizendő XML dokumentum URL-jét: --> <XML ID="DSO_obj" SRC="Leltar Ervenyes.xml"></XML>
<H2>DTD-t használó érvényesség-ellenőrző</H2>
</BODY> </HTML>
A forrással kapcsolatban érjük be annyival, hogy az XML objektum SRC tulajdonságában adjuk
meg az ellenőrizni kívánt XML dokumentum elérési útját (URL). A weblap böngészőben való megnyitása
után hibajelentést kapunk az érvényességi hibákról, ellenkező esetben az "OK" üzenet
értesít arról, hogy a dokumentum érvényes! Ezen szkript magyarázatába azért nem kívánok belebonyolódni,
mivel a cikksorozat későbbi részeiben részletesen fogunk foglalkozni a DSO és weblapszkriptek használatával.
Bizonyára sokakban felmerült a kérdés, vajon mire is jó ez a sok felesleges munka? Vegyünk rögtön
egy példát: Gondolom sokak számára ismerős a wml kiterjesztés. Akiknek
mégsem, azoknak elárulom, hogy a WAP (mobil internet) oldalalak leírására
szolgáló jelölőnyelv. Egy WML dokumentum nem más, mint egy DTD-vel
ellátott XML dokumentum. Ilyen oldalat bárki bármikor írhat, viszont a
feldolgozó szoftver egy bizonyos adatstruktúrát vár el az összes
feldolgozandó dokumentumtól. A DTD segítségével biztosítva van, hogy a
megírt vagy feldolgozni kívánt dokumentum megfelel az elvártaknak.
Ráadásul az egyes DTD-k ismerete alapján bárki készíthet érvényes
dokumentumot vagy akár feldolgozó alkalmazást, vagyis a DTD nem más mint
egy tervrajz az XML dokumentumokhoz. A DTDnek tartalmazni kell az összes
elemet és jellemzőt, amelyet a dokumentum tartalmazhat.