XML pro začátečníky - 1. část
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

XML pro začátečníky - 1. částXML pro začátečníky - 1. část

 

XML pro začátečníky - 1. část

Google       Google       26. 3. 2007       74 666×

  • Úvod do XML
  • Použití XML
  • Syntaktická pravidla XML

XML je v současnosti často diskutovaným tématem, a proto si myslím, že by bylo dobré se s ním blíže seznámit. Přiznávám se, že tento seriál není psán mým „perem“ nýbrž jej pouze překládám z www.w3schools.com. Tuto stránku vám mohu jedině doporučit. Látku z této stránky budu později rozšiřovat o obrázky, zdrojové kódy apod. Nyní se můžeme vrhnout na základy XML.

Úvod do XML

Co byste měli již znát?

Pro zvládnutí XML byste měli, alespoň na základní úrovni, ovládat:

  • (X)HTML
  • JavaScript nebo VBScript

Myslíte-li si, že vaše znalosti zde nejsou dostatečné, potom doporučuji navštívit některé z našich kurzů a seriálů.

Co je XML?

Zkratka XML znamená EXtensible Markup Language, což by se doslovně dalo přeložit jako rozšiřitelný značkovací jazyk. Teď několik faktů:

  • XML je značkovací jazyk stejně jako HTML.
  • XML byl sestrojen k popisu dat.
  • XML tagy nejsou předdefinované. Musíte si definovat své vlastní.
  • XML používá k popisu dat DTD nebo XML schémata.
  • XML je sestrojeno tak, aby bylo lehce čitelné.
  • XML je normou W3C (od 10. února 1998)

Více o XML standardu

Hlavní rozdíl mezi XML a HTML

XML bylo sestrojeno k popisu dat se zaměřením na to, co jsou data, zatímco HTML bylo sestrojeno k zobrazení dat se zaměřením na vzhled a úpravu. XML tedy rozhodně není náhradou za HTML.

XML nic nedělá!

Další důležitou věcí, možná trošku složitější na pochopení, je, že XML není sestrojeno, aby cokoliv dělalo, takže nic nedělá :-). XML bylo vytvořeno k uspořádání a uchování informací, nikoliv k jejich zobrazování či interpretaci. Kousek kódu pod textem představuje zprávu od Jany pro Tomáše uloženou jako XML:

<zprava>
<pro>Tomáš</pro>
<od>Jana</od>
<zahlavi>Připomínka</zahlavi>
<telo>Nezapomeň na mě tenhle víkend!</telo>
</zprava>

Zpráva má záhlaví, tělo zprávy, obsahuje také informace o odesílateli a příjemci. Stále ale zůstává XML dokumentem, který nic nedělá. Jsou to jenom čiré informace, psané jako XML. Někdo musí napsat kousek softwaru k zaslání, přijmutí a zobrazení zprávy.

XML je zdarma a rozšiřitelný

Tagy používané v HTML dokumentu jsou předdefinované. Autor tedy může v podstatě používat pouze tagy, které jsou předdefinované v HTML standardu (jako <p>, <h1>, atd.). Programátor v XML si musí „vyvinout“ tagy vlastní, které si může libovolně pojmenovat (nedoporučuji používat diakritiku). Takže tagy jako <pro> nebo <od> (viz nahoře) nejsou definované v žádném XML standardu, nýbrž jsem si je vymyslel.

XML je doplňkem k HTML

I když jsem se již zmínil, tak znovu opakuji, že XML není náhradou za HTML (tou může být XHTML). Současnost i budoucnost vývoje webů zatím vypadá pro XML nadějně, protože kombinace XML pro popis dat a HTML (respektive jeho náhrada) pro zobrazení se jeví jako ideální.

Moje nejlepší definice XML je tato: XML je multiplatformní, softwarově a hardwarově nezávislý jazyk pro přenos informací.

Jaká je budoucnost XML?

Účastnili jsme se vývoje XML od jeho vytvoření. Bylo uchvacující vidět, jak rychle se XML standard vyvíjel a jakou rychlostí se velký počet softwarových vývojářů přizpůsobil tomuto standardu. Pevně věříme, že XML bude pro budoucnost webu tak důležité, jako bylo HTML pro jeho založení, a že XML bude jasnou volbou pro manipulaci se všemi daty.

Použití XML

Asi po třetí zdůrazňuji, že XML bylo sestrojeno pro uchování, přenášení a výměnu dat a nikoliv k jejich zobrazování! Opravdu je klíčové toto vzít na vědomí.

XML umí oddělit data z HTML

HTML je používáno k zobrazování dat a data jsou uložena uvnitř HTML souboru. S XML můžete data uložit do zvláštního XML souboru. Touto cestou můžete docílit používání HTML k zobrazení dat a jejich grafické úpravě a můžete si být jisti, že změny v odděleném XML souboru nebudou vyžadovat změny v pracně vytvořeném HTML.

Kód s XML může být také uložen v HTML souboru jako „ostrůvek dat“. Ale stále platí tvrzení z konce předchozího odstavce.

XML je používáno k výměně dat

S XML můžete vyměňovat data i mezi dvěma naprosto nesourodými systémy. V současném počítačovém světě počítačové systémy a databáze obsahují data v nekompatibilním formátu. Jedním z časově nejnáročnějších úkolů pro vývojáře je vyměňovat taková data přes Internet. Převod dat do XML může tuto komplikovanost odstranit a vytvořit data, která mohou být čitelná pro velké množství odlišných typů aplikací.

XML a B2B

S XML mohou být finanční informace vyměňovány po celém světě jediným úhozem na klávesnici. V blízké budoucnosti se od kombinace XML a B2B hodně očekává. XML se chystá stát jasnou volbou pro výměnu finančních informací mezi obchody po celém světě a dost zajímavých B2B aplikací je právě ve vývoji.

XML může být použito ke sdílení dat

S XML prosté textové soubory mohou být použity ke sdílení dat, poněvadž XML je softwarově i hardwarově nezávislé. Je proto mnohem jednoduší komunikace mezi různými aplikacemi. Jednou se mi stalo, že jsem potřeboval uveřejnit můj seznam VHS na Internetu (neptejte se proč :D), ale problém byl, že jsem to musel všechno krásně opsat. Kdyby ovšem měl ten program seznam uložen ve formátu XML a nebo pouze zvládal export do XML, tak bych měl asi hodně ušetřené práce.

XML může být použito k uchování dat

V tom není snad žádná nesrozumitelnost. Jenom bych se vrátil k příkladu v předchozím bodu. Myslím, že kdyby se více vývojářů shodlo na uchování dat v XML, byl by mnohem jednodušší export dat apod.

S XML mohou být vaše data užitečnější

Vaše data uložená jako XML mohou být užitečnější, poněvadž k nim bude mít přístup více uživatelů a při více příležitostech. Uložíte-li data jako HTML, budou přístupná pouze jako webová stránka, ale pokud je uložíte jako XML, uděláte data dostupnější i pro zrakově postižené spoluobčany, kteří používají různá čtecí zařízení, a nebo pro lidi s jiným hendikepem. Budou přístupná i pro různé databáze (i do Acces databáze můžete exportovat data uložená jako XML, ale zkuste tam exportovat data uložená v HTML).

XML může být použito k vytvoření nového programovacího jazyka

XML je matičkou WAPu a WML používaného jako značkovací jazyk pro ruční zařízení, jako jsou mobilní telefony. Více o WML se dočtete na www.w3schools.com.

Když mají vývojáři nápad

Pokud přejde velký počet softwarových vývojářů na XML k uchování dat, dá se předpokládat, že ostatní je budou následovat. Tak to bývá vždy. Nadějí jsou textové editory, tabulkové procesory a databáze, které si mohou mezi sebou vyměňovat data bez jakýchkoliv převáděcích utilit. Můžeme se pouze modlit, aby vývojáři s naší vizí souhlasili.

Syntaktická pravidla XML

Syntaktická pravidla XML jsou velice jednoduchá k naučení a používání, ale také velmi přísná. Taktéž vytvořit software k manipulaci s XML není programátorsky nikterak obtížné.

Příklad XML dokumentu

<?xml version="1.0" encoding="ISO-8859-1"?>
<zprava>
<pro>Tomáš</pro>
<od>Jana</od>
<zahlavi>Připomínka</zahlavi>
<telo>Nezapomeň na mě tenhle víkend!</telo>
</zprava>

První řádka v dokumentu – XML deklarace – definuje verzi XML a kódování znaků, které si přejeme použít. V tomto případě se jedná o specifikaci XML 1.0 a používaná znaková sada je ISO-8859-1 (Latin-1/West European). Pro české znaky bychom museli použít ISO-8859-2 (= středoevropské jazyky).

Druhá řádka v dokumentu představuje rodičovský element v dokumentu (jako by říkal: „tento dokument je zpráva“):

<zprava>

Další 4 řádky představují 4 potomky (elementy podřízenému rodiči) – <od>, <pro>, <zahlavi>, <telo>:

<pro>Tomáš</pro>
<od>Jana</od>
<zahlavi>Připomínka</zahlavi>
<telo>Nezapomeň na mě tenhle víkend!</telo>

A poslední řádek definuje konec rodiče:

</zprava>

Tento kousek zdrojového kódu obsahuje zprávu od Jany pro Tomáše. Teď vás možná napadlo: „Kdybys mi to neřek', tak to nevím!“ Myslím, že kód v XML je výborně čitelný a téměř ihned (při smysluplných popiscích) zjistíte, jaká data kód popisuje (oproti Assembleru je to příjemná změna).

Prvky XML musí mít uzavírací tag

V HTML můžete občas vynechat uzavírací tag. Například následující kód je v HTML povolený:

<p>Toto je odstavec. 
<p>Toto je jiný odstavec.

V XML uzavírací tag ale vynechat nemůžete!

<p>Toto je odstavec.</p>
<p>Toto je jiný odstavec.</p>

Poznámka: Mohli jste si všimnout, že v předchozí příkladu neměla deklarace XML (<?xml version="1.0" encoding="ISO-8859-1"?>) uzavírací tag. To není chyba. Deklarace není částí samotného XML dokumentu. Není to značka XML, a nemusí mít tedy uzavírací tag.

Tagy v XML rozlišují velká a malá písmena

Toto je další z mnoha rozdílů XML a HTML. Poněvadž v HTML je úplně jedno, jestli napíšete <DIV> nebo <diV>, protože výsledek bude stejný. Naproti tomu v XML tag <dopis> je rozdílný od <Dopis>. Otevírací a uzavírací tagy musí být nutně psány se stejnými písmeny.

<Zprava> Toto je špatně</zprava>
<zprava> Toto je správně</zprava>

XML elementy musí být vhodně vložené

V HTML můžete některé elementy vkládat mezi sebe ne zrovna v ideálním (přehledném) pořadí, ale výsledek bude přesto správný.

<b><i> Tento text je tučný a kurzívou</b></i>

V XML bude korektně fungovat jenom následující:

<b><i> Tento text je tučný a kurzívou</i></b>

XML dokument musí mít hlavní element

Všechny XML dokumenty musí obsahovat tagový pár k definici rodičovského elementu (na začátku a na konci). Rodičovský element obsahuje podelementy (potomky) a ty pak mohou mít další potomky atd. Důležité je správné vložení a uzavření (viz předchozí podnadpis).

<rodic>
  <potomek>
    <podpotomek>...</podpotomek>
  </potomek>
</rodic>

Atributy v XML musí být uzavřeny do uvozovek

S XML není dovoleno vynechat uvozovací znaménka kolem hodnoty atributu. XML elementy mohou mít atributy stejně jako HTML. Prostudujte si dva XML dokumenty pod textem. První není správě a druhý ano.

<?xml version="1.0" encoding="ISO-8859-1"?>
<zprava datum=12/11/2002>
<pro>Tomáš</pro>
<od>Jana</od>
</zprava>
<?xml version="1.0" encoding="ISO-8859-1"?>
<zprava datum="12/11/2002">
<pro>Tomáš</pro>
<od>Jana</od>
</zprava>

V prvním příkladu není hodnota atributu datum uzavřena v uvozovkách a již to vyvolá chybu. Je proto nutné si dávat pozor.

XML zachovává tzv. bílé znaky

Toto je jedna z nevýhod (či výhod) HTML. V HTML věta

Ahoj           jmenuji se Tomáš.

bude zobrazena takto:

Ahoj jmenuji se Tomáš.

HTML vícenásobné, za sebou jdoucí, jdoucí bílé znaky redukuje na jediný . XML je zachovává a zobrazí vše opravdu tak, jak bylo zadáno.

V XML CR / LF je převedeno na LF

Víte co je psací stroj? Inu, psací stroj je mechanické zařízení, které se používalo v minulém století k výrobě tiskopisů. :-)

Poté, co jste napsali jednu řádku na psací stroji, museli jste ručně vrátit vozík vlevo na krajní pozici a ručně posunout papír nahoru (předpokládá se pralesní model).

V aplikacích pro Windows je nový řádek obvykle uložen párem znaků CR (vrátit vozík – Carriage Return) a LF (posun o řádku – Line Feed). V aplikacích pro Unix je standardně nová řádka uložena pouze znakem LF a aplikace pro Macintosh používají zase jen CR. A jak již říká nadpis, XML používá pouze znak LF.

Komentáře v XML

Komentář v XML napíšete stejně jako v HTML.

<!-- Toto je komentář -->

V čem psát XML dokumenty?

Pro manipulaci s XML můžete používat jakýkoliv textový editor a nebo můžete využít speciálního editoru se zvýrazněním syntaxe, kontrolou uzavírání tagů apod. Volba je pouze na vás.


První část tohoto nového seriálu je u konce. Možná, že jste při čtení článku nalezli nějaká zastaralá fakta apod. Je to možné, proto vás prosím o zapsání svých poznámek do komentářů. Děkuji.

Zdroj: http://www.w3schools.com/

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
0 hlasů
Google
Autor se zabývá webovými programovacími jazyky a Assemblerem. Rád pracuje v Příkazovém řádku a experimentuje s operačními systémy.
Web    

Nové články

Obrázek ke článku Stavebnice umělé inteligence 1

Stavebnice umělé inteligence 1

Článek popisuje první část stavebnice umělé inteligence. Obsahuje lineární a plošnou optimalizaci.  Demo verzi je možné použít pro výuku i zájmovou činnost. Profesionální verze je určena pro vývojáře, kteří chtějí integrovat popsané moduly do svých systémů.

Obrázek ke článku Hybridní inteligentní systémy 2

Hybridní inteligentní systémy 2

V technické praxi využíváme často kombinaci různých disciplín umělé inteligence a klasických výpočtů. Takovým systémům říkáme hybridní systémy. V tomto článku se zmíním o určitém typu hybridního systému, který je užitečný ve velmi složitých výrobních procesech.

Obrázek ke článku Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Vedení týmu v oboru informačních technologií se nijak zvlášť neliší od jiných oborů. Přesto však IT manažeři čelí výzvě v podobě velmi rychlého rozvoje a tím i rostoucími nároky na své lidi. Udržet pozornost, motivaci a efektivitu týmu vyžaduje opravdu pevné manažerské základy a zároveň otevřenost a flexibilitu pro stále nové výzvy.

Obrázek ke článku Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Za poslední rok se podoba práce zaměstnanců změnila k nepoznání. Především plošné zavedení home office, které mělo být zpočátku jen dočasným opatřením, je pro mnohé už více než rok každodenní realitou. Co ale dělat, když se při práci z domova ztrácí motivace, zaměstnanci přestávají komunikovat a dříve fungující tým se rozpadá na skupinu solitérů? Odborníci na personalistiku dali dohromady několik rad, jak udržet tým v chodu, i když pracovní podmínky nejsou ideální.

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý