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
-
Windows App: Pracujte odkudkoliv, kdykoliv
3. listopadu 2024 -
Proč investovat do nejvýkonnějších VPS s AMD EPYC procesory
14. června 2024 -
Landing page: Jak vytvořit landing page s vysokým CTR
7. května 2024 -
Lék na phishing a apatii ve světě e-mailového marketingu
18. března 2024
Nejnovější
-
Výkonný a kompaktní: ASOME Max Studio s výjimečným poměrem cena/výkon
11. listopadu 2024 -
Šokující data od Microsoftu: Kyberútoky rostou o stovky procent!
8. listopadu 2024 -
Chcete jedinečnou doménu? Objevte koncovky FOOD, MEME a MUSIC!
7. listopadu 2024 -
OpenAI představilo novou funkci ChatGPT Search
6. listopadu 2024