Zßklady jazyka XML

Ji°φ Kosek


Obsah

Elementy
Atributy
ZnakovΘ entity
Ko°enov² element
Prohlφ₧enφ XML
K≤dovßnφ znak∙
Automatickß kontrola syntaxe
Komentß°e
Sekce CDATA
Instrukce pro zpracovßnφ
A co bude p°φÜt∞?
DalÜφ zdroje informacφ

Abyste mohli vytvß°et vlastnφ dokumenty v XML, musφte znßt syntaxi tohoto modernφho jazyka. Mßte-li n∞jakou zkuÜenost s jazykem HTML, nebude pro vßs jejφ zvlßdnutφ ₧ßdn² problΘm. Narozdφl od HTML je vÜak XML mnohem p°φsn∞jÜφ. Mnoho drobn²ch chyb, kterΘ jsme mohli ud∞lat v HTML k≤du, nßm XML neodpustφ. V dneÜnφm prvnφm dφle serißlu o XML vßs seznßmφme se syntaxi jazyka a s tφm, na co si p°i vytvß°enφ dokument∙ dßt pozor.

XML pat°φ mezi znaΦkovacφ jazyky (markup languages). D∙le₧itΘ Φßsti dokumentu se oznaΦujφ pomocφ znaΦek. V terminologii XML se jednotliv²m oznaΦen²m Φßstem dokumentu °φkß elementy. Elementy do sebe mohou b²t navzßjem vno°enΘ a tφm dle pot°eby zachycovat strukturu informacφ ulo₧en²ch v dokumentu.

Kdybychom nap°φklad do XML uklßdali obsah knihy, sklßdal by se dokument z element∙ kapitola. Ka₧d² element kapitola by pak obsahoval element nadpis a n∞kolik element∙ pro odstavce. P°φkladem z odliÜnΘ oblasti je ulo₧enφ databßzovΘ tabulky do XML dokumentu. Dokument bude obsahovat n∞kolik element∙ odpovφdajφcφch jednotliv²m zßznam∙m (°ßdkßm) tabulky. Ka₧d² z t∞chto element∙ pak samoz°ejm∞ bude obsahovat dalÜφ elementy pro jednotlivΘ polo₧ky tabulky. Ka₧d² XML dokument se d∞lφ postupn∞ na menÜφ a menÜφ Φßsti.

Elementy

Elementy se v textu vyznaΦujφ pomocφ tzv. tag∙. V∞tÜin∞ element∙ odpovφdajφ dva tagy û poΦßteΦnφ a ukonΦovacφ.

<para>Toto je obsah elementu para.</para>

NaÜe ukßzka obsahuje jeden element para. Jeho obsah je vyznaΦen pomocφ tag∙ <para> (poΦßteΦnφ tag) a </para> (ukonΦovacφ tag). Jen na okraj poznamenejme, ₧e v²Üe uvedenß ukßzka je asi nejjednoduÜÜφ XML dokument, kter² v∙bec m∙₧eme vytvo°it.

Nßzvy tag∙ se zapisujφ mezi znaky `<' a `>'. UkonΦovacφ tag mß p°ed sv²m nßzvem jeÜt∞ znak `/', aby se snadno odliÜil od poΦßteΦnφho.

Obrßzek 1. XML dokument se sklßdß jen z n∞kolika mßlo prvk∙

N∞kterΘ elementy nemusejφ mφt ₧ßdn² obsah. M∙₧eme je samoz°ejm∞ zapisovat tak, ₧e za poΦßteΦnφm tagem uvedeme hned ten ukonΦovacφ.

<para>Toto je obsah elementu para.<br></br> A tohle taky.</para>

Nenφ to vÜak p°φliÜ pohodlnΘ, a proto m∙₧eme v XML pou₧φt jeÜt∞ jednu variantu tagu, kterß °φkß, ₧e element nemß ₧ßdn² obsah. Za jmΘno elementu v poΦßteΦnφm tagu se uvede znak `/'. UkonΦovacφ tag se pak u₧ nepou₧ije.

<para>Toto je obsah elementu para.<br/> A tohle taky.</para>

Ka₧d² XML dokument musφ obsahovat pro vÜechny poΦßteΦnφ tagy odpovφdajφcφ ukonΦovacφ tag, nebo musφ b²t poΦßteΦnφ tag zapsßn jako element s prßzdn²m obsahem. Nßsledujφcφ ukßzky jsou ukßzkami Üpatn²ch dokument∙, kterΘ nevyhovujφ specifikaci XML.

<para>Toto je obsah elementu para.<br> A tohle taky.</para>

Tag <br> nenφ ukonΦen.

<para>Toto je obsah elementu para.<br/> A tohle taky.</oara>

PoΦßteΦnφ tag <para> nenφ ukonΦen a k ukonΦovacφmu tagu </oara> v dokumentu neexistuje odpovφdajφcφ poΦßteΦnφ tag. Chybou rovn∞₧ je, kdy₧ se elementy v dokumentu k°φ₧φ.

<b>Ukßzka <i>p°ek°φ₧enφ</b> element∙</i>
⌐ Ji°φ Kosek 2000-2001