Slabikář XML – DTD: entity a notace
V minulém díle jsme se se dozvěděli něco o deklaraci atributů, dnes si vystvětlíme deklaraci entit a notací.
Entity
Nejprve si připomeneme, co je to entita. Je to prvek většinou zastupující určitou část textu, který se v dokumentu často opakuje. Z HTML známe např. entity >, <, &, ©, ™ atd.
V XML entity rozdělujeme na interní a externí.
Interní entity
Interní entity jsou entity, které zastupují nějaký text, a ten je určen přímo v XML dokumentu. Hodí se spíše na kratší, složitější texty, které se v dokumentu několikrát opakují. Deklarace interní entity vypadá takto:
<!ENTITY nazeventity "textkteryzastupuje">
Nyní si předvedeme ukázkový dokument, kde bude náš virtuální Operační systém Popokatepetl 3000 nahrazen textovou entitou &jmeno; :
|
V tomto dokumentu jsme poměrně zdlouhavý název nového operačního systému zapisovali pomocí entity a onen zdlouhavý název jsme napsali pouze jednou, do deklarace entity jmeno. Výsledně bude dokument vypadat úplně stejně, jako kdybychom použili následující kód:
|
Při použití entity ale nehrozí překlep při opakovaném opisování a zároveň se šetří místo.
Externí entity
Externí entity jsou entity, které zastupují nějaký jiný soubor. Podle toho, zda-li je to textový dokument, nebo binární soubor (např. obrázek), se externí entity dělí na textové a binární. Jejich deklarace se moc neliší, u binární entity musíme, narozdíl od té textové, určit ještě typ souboru, na který odkazuje. Deklarace binárních entit vypadá takto:
<!ENTITY nazevbinarnientity SYSTEM "jmenosouboru" NDATA "TYP">
Typ se pak definuje v notaci.
Deklarace externí textové entity vypadá následovně:
<!ENTITY nazevtextoveexternientity SYSTEM "jmenosouboru">
Takovéto entity se nejvíce využijí k zastupování delších kusů textu, zejména pokud je chceme používat ve více dokumentech najednou. Příklad je zde:
|
Soubor cenik.xml by pak mohl vypadat třeba takto:
|
Nesmíme zapomenout uvést v dokumentu, na který odkazujeme, jeho kódování, abychom v něm mohli psát české znaky.
Parametrické entity
Parametrické entity se používají především pro práci s textem v definici typu dokumentu. Jejich deklarace se liší přidáním jedné mezery a znaku „%“ před názvem entity:
<!ENTITY % nazevparametrickeentity SYSTEM "jmenosouboru">
V dokumentu pak napíšeme %nazeventity; místo &nazeventity; . Parametrické entity mohou být jak interní, tak externí. Typický příklad jejich použití:
|
Zavedením parametrických entit v tomto příkladu jsme značně zjednodušili zápis atributů k několika elementům.
Notace
Notací přiřazujeme určitému typu souboru program, který bude data ze souboru zpracovávat. To budeme potřebovat právě v binárních entitách. Deklarace notace vypadá takto:
<!NOTATION typ SYSTEM "program">
Když budeme vytvářet odkaz na binární entitu, definujeme v DTD element, který bude mít jeden atribut typu ENTITY. Ten bude odkazovat na deklarovanou entitu:
|
Místo tagu doplnek by se mělo zobrazit video ze souboru video.avi.
Mohlo by vás také zajímat
-
Moderní trendy ve webdesignu: Top trendy pro rok 2024
12. ledna 2024 -
Aukce CZ domén: Jak vydražit expirovanou CZ doménu?
12. června 2024 -
Nepodceňte UX na vašem webu: Proč na něm záleží?
10. dubna 2024
Nejnovější
-
Jak rozšířit úložiště Macu za pětinovou cenu?
16. prosince 2024 -
Nové trendy v doménách pro osobní projekty – DIY, LIVING a LIFESTYLE
9. prosince 2024 -
Jak chránit webové stránky před Web/AI Scrapingem
27. listopadu 2024 -
Jaký monitor je nejlepší k novému Macu Mini?
25. listopadu 2024