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

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       44 123×

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

Reklama
Reklama

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 Hackerský kongres přiveze v září do Prahy špičky světové kryptoanarchie

Hackerský kongres přiveze v září do Prahy špičky světové kryptoanarchie

Hackerský kongres HCPP16 pořádá od 30. září do 2. října nezisková organizace Paralelní Polis již potřetí, a to ve stejnojmenném bitcoinovém prostoru v pražských Holešovicích. Letos přiveze na třídenní konferenci přes 40 většinou zahraničních speakerů – lídrů z oblastí technologií, decentralizované ekonomiky, politických umění a aktivismu. Náměty jejich přednášek budou také hacking, kryptoměny, věda, svoboda nebo kryptoanarchie.

Reklama
Reklama
Obrázek ke článku ICT PRO školení zaměřené nejenom na ICT

ICT PRO školení zaměřené nejenom na ICT

Dovolte, abychom se představili. Jsme zaměstnanci společnosti ICT Pro, profesionálové v oblasti poskytování komplexních ICT služeb. Neboli služeb spojených s informačními a komunikačními technologiemi, které dnes - ve 21. století - tvoří  nedílnou součást běžného provozu všech moderních firem.

loadingtransparent (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý