Modellezés XML-lel

XML modellezési nyelvek

Az XML, akárcsak az elődje, az SGML, lehetővé teszi, hogy az elemeket saját magunk nevezhessük el. A következő példában használhattuk volna a <pers> elemet a <personName> helyett és <townName> elemet a <town> helyett.

1
2
3
4
5
<personName>Robert Smith</personName> 
<street>Castle street</street> 
<houseNr>123</houseNr>
<town>Dublin</town>
<telephoneNr>0891232245</telephoneNr>

A fenti példa így is kinézhet:

1
2
3
4
5
<pers>Robert Smith</pers> 
<streetName>Castle street</streetName> 
<house>123</house>
<townName>Dublin</townName>
<telephone>0891232245</telephone>


Az XML kódolás sikeresen leírja a kódolt adatot és több tucat módját biztosítja az elemek elnevezésének is. A hasonló elemneveket használó emberek számára ez nem jelenthet különbséget, hiszen pontosan tudják, hogy a <pers>, <personName> vagy <persName> mind egy személy nevére utalnak. Azonban a számítógépek jellemzően karakter láncokat (string) párosítanak, így a <pers>, <personName> és a <persName> elemek három olyan különböző dolgot képviselnek a gép számára, mint a <pers>,<dog> és <fish> elemek.

Az elemek elnevezésének és a szintaxisnak egységesítése érdekében az SGML a Document Type Definition (DTD) nevű nyelvet használta. A DTD-k azonban az XML-hez is használhatók. A DTD olyan szabályok csoportja, amelyek meghatározzák, hogy egy SGML/XML dokumentumban mely elemek használhatók, milyen gyakorisággal, és milyen attribútumokat tartalmazhatnak.

A DTD-k egy XML dokumentum szerkezetének absztrakt modelljét képviselik, miközben biztosítják a felhasználónak vagy felhasználói közösségnek azt a mechanizmust, amellyel az általuk kódolt adatok számára megfelelő elemnevek készletét dolgozhatják ki. A W3C, a HTML és XML szabványokat felügyelő és fejlesztő szervezet is kidolgozott egy szabályalapú nyelvet, kifejezetten az XML szintaxisban írt XML dokumentumok számára. Bár a DTD-k továbbra is használhatók XML-lel, a sokkal erősebb és rugalmasabb XML Séma és RNG használata elterjedtebb. A későbbiek folyamán bemutatjuk a DTD szintaxisát, mivel ez könnyebben tanulható és használható, mint a sémanyelvek, ugyanakkor a modellezés általános elvei igen hasonlók.