Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:
Web
XML - DTD (definice typu dokumentu) část čtvrtá
22. února 2001, 00.00 | Dnes si vysvětlíme co jsou entity, k čemu se
dají využít a jak je správně deklarovat v DTD.
Vítám vás u dalšího dílu seriálu o XML. Dnes si vysvětlíme co jsou entity, k čemu se dají využít a jak je správně deklarovat v DTD.
Při psaní XML dokumentů nastávají situace, kdy není vhodné celý dokument uložit do jednoho souboru. Důvodů k rozdělení na menší části může být mnoho, například když píšeme knihu a její jednotlivé kapitoly chceme mít pro přehlednost uloženy zvlášť, nebo když jednotlivé kapitoly knihy píše více autorů. Důvodem může být také potřeba použití části dokumentu v jiných dokumentech atd. Jak sami vidíte, příkladů využití se najde mnoho.
XML umožňuje informace obsažené v dokumentu rozdělit na menší části, kterým se říká entity. Každá entita má své jméno, pomocí kterého může být jednoznačně identifikována. XML podporuje několik druhů entit, které se liší svými vlastnostmi. Entity mohou obsahovat buď data ve formátu XML nebo v jiném formátu. Podle toho je dělíme na entity textové (formát XML) a entity binární (ostatní datové formáty). Dále můžeme entity rozlišovat podle toho, zda jsou uloženy přímo v hlaním dokumentu nebo v externím souboru. Podle tohoto rozlišení máme entity interní textové, externí textové a externí binární. Myslíte si, že jsem zapoměl na interní binární entity? Není tomu tak, interní binární entity neexistují, protože bychom velice těžko uložili nějaká binární data do XML dokumentu.
Entita je definována v DTD a do dokumentu se vkládá pomocí odkazů na požadovanou entitu. V textu může být použito několik odkazů na stejnou entitu a její obsah nahradí každý výskyt odkazu. U deklarací entit je jedno, zda jsou umístěny v lokálním či externím DTD dokumentu. Obecná deklarace vypadá následovně:
|
Takto definovanou entitu pak můžeme v textu použít pomocí odkazu, který má tvar:
|
Nyní si rozebereme jednotlivé druhy entit:
1. INTERNÍ TEXTOVÉ ENTITY
Tento drun entit nalezne uplatnění především tam, kde v dokumentu často opakujeme nějaký text. Představme si například, že píšeme recenzi nějaké knihy a v textu se často opakuje jméno autora, tak toto jméno můžeme nahradit entitou, kterou budeme vkládat do textu místo opisování celého jména. Dokument by v tom případě mohl vypadat např. takto:
|
2. EXTERNÍ TEXTOVÉ ENTITY
Princip použití externích textových entit je totožný jako u interních. Na rozdíl od interních entit však při jejich deklaraci nespecifikujeme přímo text, jenž entita zastupuje, ale pouze odkazujeme na soubor, který požadovaná data obsahuje. Používání tohoto druhu entit je výhodné především při vkládání dlouhých textů, nebo když jednu entitu chceme použít ve více dokumentech. Obecná deklarace v DTD vypadá následovně:
|
URL souboru může být relativní nebo absolutní, to už záleží na vašem uvážení. Na takovouto entitu se v dokumentu odkazuje stejně jako na entity interní v předcházejícím příkladu. Slovo SYSTEM je systemový identifikátor, který upozorňuje že se zde nachází URL adresa externího souboru.
3. EXTERNÍ BINÁRNÍ ENTITY
Deklarace binárních entit je obdobná jako externích entit textových. Za systémovým identifikátorem (SYSTEM) je však potřeba uvést typ dat binární entity. Pomocí tohoto typu (tzv. notace) aplikace pozná, jak má s uvedenými daty naložit. Deklarace může vypadat např. takto:
|
V příkladě jsme deklarovali entitu obrazek, která odpovídá soubou obrazek.gif, jenž je umístěný v adresáři pictures. Aplikace zpracovávající dokument může odhadnout formát dat podle uvedené přípony souboru, ale to není vždy spolehlivé, a proto se typ dat udává v uvozovkách za klíčovým slovem NDATA. Takto definovanou entitu nelze vložit přímo do textu dokumentu. Můžeme na ní ale odkázat pomocí atributu, který má typ ENTITY nebo ENTITIES:
|
Tímto příkladem se s vámi loučím a u dalšího dílu seriálu o XML se těším nashledanou.
Obsah seriálu (více o seriálu):
- XML aneb nový formát pro nové tisíciletí
- Zápis správné syntaxe XML dokumentů
- XML - DTD (definice typu dokumentu) část první
- XML - DTD (definice typu dokumentu) část druhá
- DTD (definice typu dokumentu) část třetí
- XML - DTD (definice typu dokumentu) část čtvrtá
-
25. listopadu 2012
-
30. srpna 2002
-
10. října 2002
-
4. listopadu 2002
-
12. září 2002
-
25. listopadu 2012
-
28. července 1998
-
31. července 1998
-
28. srpna 1998
-
6. prosince 2000
-
27. prosince 2007
-
4. května 2007