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.