Az
XML sémák DTD fájlokból történő előállítása a DTD fájlokból származó elemekkel
és attribútumokkal automatikusan feltöltésre kerülő XML sémák létrehozását
teszi lehetővé. Ezzel időt takaríthat meg, ha egy XML fájl ellenőrzéséhez a DTD
fájl helyett inkább XML sémát kíván használni, ugyanakkor a DTD fájlban már
beállításra került szabályokat is alkalmazni szeretné.
Erről a feladatról
Az alábbi utasítások az Erőforrás perspektívához készültek, de számos más perspektívában is felhasználhatók.
Az XML sémafájlok DTD fájlokból való előállításához tegye a következőket:
Eljárás
- A Navigátor nézetben kattintson a jobb egérgombbal a DTD fájlra, majd
válassza az előugró menü menüpontját.
- Válassza ki azt a projektet vagy mappát, amely a sémát fogja tartalmazni.
- Fogadja el az alapértelmezett nevet vagy adjon meg egy újat és kattintson
a Tovább gombra.
- Ha olyan XML sémát kíván létrehozni, mely a DTD fájl mellett az összes
általa hivatkozott DTD fájlt is tartalmazza, akkor kattintson
Az összes DTD fájlt tartalmazó XML séma létrehozása
választógombra.
- Ha ellenkező esetben egyéni sémát kíván készíteni a DTD fájl, valamint az
összes által hivatkozott DTD fájl számára, akkor kattintson az XML
séma létrehozása minden egyes DTD fájlhoz választógombra. Ha ezt a lehetőséget választja, akkor minden XML séma ugyanazzal a névvel
fog rendelkezni, mint az a hivatkozott DTD fájl, melyből a séma előállításra
került. Ha például a DTD fájl neve Udvozlet.dtd, mely a Hello.dtd és a
Viszlat.dtd fájlra hivatkozik, akkor előállításra kerül egy Udvozlet.dtd
fájlból készített séma (mely a számára megadott névvel fog rendelkezni),
valamint Hello.xsd és Viszlat.xsd néven még további két séma.
- Kattintson a Befejezés gombra.
Eredmények
A sémák a Navigátor nézetben jelennek meg.
Ugyanazzal a névvel
fognak rendelkezni, mint az a DTD fájl, melyből előállításra kerültek (ha az
XML séma készítésekor elfogadta a Fájlnév mezőben
szereplő alapértelmezett értéket).
A DTD fájlban található entitások nem
fognak szerepelni az XML sémában (mivel az entitások nem támogatottak az XML
sémákban). Ennek ellenére minden entitásra hivatkozó elem vagy attribútum
át fogja vinni a kérdéses értéket az XML sémába.
Példa
Példa: Egy "Copyright" nevű entitást tartalmazó "Jogi" nevű DTD
definícióval rendelkezik. Az entitás értéke a következő: "Copyright 2004.
SajátCég Könyvkiadó". A DTD definíció egy Copyright entitásra hivatkozó
"SajatCopyright" elemmel rendelkezik. Az XML séma létrehozása után a Copyright
entitás nem jelenik meg az XML sémában, azonban a rendszer átviszi az entitás
értékét (vagyis a SajatCopyright elem értéke a következő lesz: Copyright
2004. SajátCég Könyvkiadó).
A DTD fájlban meglévő összes elem és
attribútum megtalálható lesz az XML sémafájlban.
A DTD fájlban (#PCDATA)
tartalommodellel rendelkező (és attribútumok nélküli) elemek üresen jelennek
meg az XML sémaszerkesztőben.
Ezek olyan jelölést kapnak, mely szerint
string Beépített egyszerű típussal
rendelkeznek.
Vagyis ez azt jelenti, hogy a (#PCDATA) értékű DTD elemek
string XML séma primitív típusú XML sémaelemekre kerülnek
leképezésre.
Megjegyzés: Ha héber vagy arab elemeket tartalmazó DTD fájlból
készít XML sémát, akkor előfordulhat, hogy bizonyos elemnevek a nekik megfelelő
hexadecimális héber vagy arab kódolási értékekkel kerülnek kódolásra. A
probléma elkerülése érdekében a séma előállítása előtt módosítsa az eredeti DTD
vagy XML sémafájl kódolási attribútumát UTF-8 értékre. Ez azt jelenti, hogy az
XML deklarációnak a következőnek kell lennie: <?xml version="1.0"
encoding="UTF-8"?> Az érintett kódolási értékek a következők:
ISO-8859-8-I, ISO-8859-8, Windows-1256 és ISO-8859-6.