V předchozích dílech jsme se začali věnovat formátu XML – eXtensible Markup Language. XML se rozsáhle používá k výměnám dat. Posledně jsme, zatím za určitého utrpení s doplňováním Excelu o další funkčnosti, nakonec uložili jeden souborek v XML formátu.
Vytvořený soubor KFK_export.xml vypadal (závisí na zvoleném zobrazovacím programu) např. takto:
Zato v obyčejném poznámkovém bloku vypadá takto:
Můžete si v případě zájmu stáhnout XML Notepad například z adresy:
http://www.microsoft.com/en-us/download/details.aspx?id=7973
Podkladová úloha: I pro XML si ponecháme příklad s Klubem Franze Kafky, protože se jeho zdánlivě jednoduchá datová struktura k tomuto účelu dobře hodí. Pracujeme se sešitem, v němž je formulář, jejž je třeba vyplňovat. Předseda klubu si nás již dříve pozval a oznámil nám, že musíme pro potřeby UNESCO exportovat některé údaje z žádostí našich členů do formátu XML. Stáhněte si sešit 2013-02 XML.xlsm. Sešit otevřete. Uvidíte zhruba toto:
Z minula máme nainstalován doplněk XmlTools a v Možnostech aplikace Excel jsme jej aktivovali. K exportu jsme si vytvořili samostatný soubor KFK_export.xlsm a do něj jsme exportovali „ručně“ data, která předseda klubu požadoval. Pak jsme využili menu Doplňky a zvolili základní parametry vytvářeného XML souboru. Nakonec jsme soubor uložili jako typ XML pod názvem KFK_export.xml, který je vidět výše. Tento krok stranou měl svůj důvod, ovšem cílové řešení je exportovat přímo z Formuláře, bez nutnosti vyrábět další excelový mezikrok. V následujícím textu budeme vycházet z toho, že chceme takové přímé řešení.
Jistě mnozí z čtenářů problematiku XML znají dosti podrobně, ale jiní v tom zatím tápou. Tyto články jsou určeny spíše těm tápajícím. Uveďme si proto aspoň některé důležité pojmy kolem XML.
Předně XML je jazyk. Má svou syntaxi a sémantiku, má „větnou stavbu“. Každý soubor v XML musí splňovat poměrně přesně tato gramatická pravidla. Na rozdíl od interpretrů HTML, které se z praktických důvodů dokáží vypořádat se zobrazením různě „zmršených“ HTML souborů, při interpretaci XML souboru je chyba obvykle důvodem konce zpracování. Ovšem za odolnost k chybám v zobrazovačích HTML se platí zvýšeným výkonem hardwaru a složitostí interpretujícího programu. Od XML se očekává, že bude fungovat i na méně výkonných zařízeních typu mobilního telefonu, a bezchybnost je požadována striktně.
Možná si vybavíte hlášku z prvního dílu, když jsme chtěli uložit soubor bez instalovaných doplňků:
Tato hláška vyjadřuje potřebu, aby Excel věděl, co vlastně chceme v XML uložit. A tato vědomost se nazývá mapování. Mapování se používá jak pro cestu z Excelu ven do XML, tak pro cestu z vnějšího XML souboru dovnitř do…