I běžní uživatelé se čím dále častěji mohou setkat se soubory ve formátu XML. Stručně si popíšeme, co to XML je, a ukážeme si jeden z mnoha programů na prohlížení a úpravu XML souborů.
Co je to XML soubor
XML (Extensible Markup Language) je standardizovaný formát pro výměnu dat. Databáze si v XML souborech data většinou neuchovávají, ale umožňují je do něj exportovat za účelem jejich sdílení např. s jinou databází. XML soubor tedy může sloužit jako jakýsi převodní můstek mezi dvěma systémy pro zpracování dat, což je možné především díky jeho všeobecné známosti a poměrně jednoduché vnitřní struktuře.
Uveďme si několik konkrétních situací, ve kterých se lze setkat se souborem XML:
- Potřebujeme přenést ceník z jedné databáze do druhé. Databáze spolu neumí přímo komunikovat, a tak z první databáze data vyexportujeme do XML souboru a tento soubor naimportujeme do druhé databáze.
- Z účetního programu vyexportujeme v XML formátu podklady k daňovému přiznání, které následně podáme přes datovou schránku.
- Z webu České národní banky si necháme automaticky stahovat XML soubor s aktuálními kurzy cizích měn, které využíváme pro kalkulaci cen.
XML soubor je v podstatě textový dokument s příponou xml. Řekněme, že budeme evidovat údaje o zaměstnancích – jméno, příjmení a datum narození. Podoba XML souboru uchovávajícího tyto údaje by mohla být např. následující:
Jak vidíme, tak jednotlivé údaje jsou zapsány mezi značky (tzv. tagy) ohraničené lomenými závorkami. Značky s údajem tvoří tzv. element. Tak např. otevírací značka <jmeno> a koncová značka </jmeno> tvoří element s údajem o jméně zaměstnance. Jiné elementy se mohou skládat i jen z jedné značky.
Elementy se do sebe mohou vnořovat. V našem případě jsou elementy „jmeno“, „prijmeni“ a „datum narozeni“ vnořeny do nadřazeného elementu „zamestnanec“. Všechny elementy typu „zamestnanec“ jsou pak vnořeny do jediného kořenového elementu „seznam“.
Elementy typu „zamestnanec“ obsahují i tzv. atribut – v našem případě atribut „id“ s osobním číslem zaměstnance. Pro funkčnost XML souboru je důležité, aby byla u všech elementů zachována navržená struktura. Tato struktura může být určena v samostatném souboru, jakési šabloně – tzv. schématu. V našem případě by schéma (resp. jeho klíčová část) mohlo vypadat např. takto:
Naše schéma určuje názvy elementů a jejich datové typy. Nástroje pro zpracování XML souborů si strukturu souboru načtou z přiloženého schématu. Když schéma přiloženo není, tak si ho případně sami vytvoří ze struktury samotných dat.
Instalace programu firstobject XML Editor
K prohlížení XML souborů je možné využít velké množství programů – od obyčejného Poznámkového bloku (viz screeny výše), přes webové prohlížeče až ke specializovaným nástrojům. Pokud potřebujeme XML soubory jen číst a případně lehce upravovat, tak lze doporučit např. program firstobject XML Editor, který si lze zdarma stáhnout ze stránek http://www.firstobject.com/dn_editor.htm.
Program je již sice starší, ale zato velmi jednoduchý a přehledný. Trochu komplikovanější může být ale přimět Windows, aby v něm XML soubory otevíral. Nejpohodlnější bude na některý XML soubor kliknout pravým tlačítkem myši a v nabídce Otevřít v programu zadat příkaz Zvolit jinou aplikaci.
Následně zaškrtneme volbu K otevírání souborů .xml vždycky používat tuto aplikaci a ve spodní části nabídky klikneme na příkaz Další aplikace.
Dále opět ve spodní části nabídky zadáme příkaz Najít jinou aplikaci v tomto počítači.
Následně se již jen proklikáme do složky C:\Program Files (x86)\firstobject a klikneme v ní dvakrát na soubor foxe.exe.
Po provedení tohoto nastavení se již budou všechny XML soubory otevírat v nainstalovaném programu firstobject XML Editor.
Prohlížení a úprava XML souborů
Okno programu se skládá ze dvou panelů. V pravém panelu vidíme samotný obsah XML souboru s modře zvýrazněnými značkami jazyka XML. Atributy jsou zvýrazněny červeně. V levém panelu je tento obsah seskupen do stromové struktury, ve které můžeme pomocí tlačítek se znaky plus a mínus jednotlivé elementy rozbalovat či sbalovat. Klikneme-li myší do levého panelu, tak lze následně stiskem klávesy * rozbalit všechny elementy a stiskem klávesy / je naopak všechny sbalit.
Rozbalíme-li si v levém panelu elementy až na úroveň konkrétních hodnot a na některou z nich klikneme, tak se v pravém panelu označí příslušná část XML souboru. Potřebujeme-li hodnoty upravovat, tak to můžeme provést jak v levém, tak v pravém panelu. Bezpečnější je úpravu provádět v levém panelu, protože tam nehrozí narušení struktury souboru – stačí jen kliknout na hodnotu a přepsat ji.
Způsob úpravy v pravém panelu se nijak neliší od práce v textových editorech. Změna provedená v pravém panelu se v levém panelu zobrazí až poté, co do něj klikneme anebo i bez toho po stisku klávesy F5 (nebo zadání příkazu Tools > Refresh). To, že došlo ke změně v pravém panelu, která zatím nebyla přenesena do levého panelu je indikováno šedým podbarvením levého panelu.
Při úpravě v pravém panelu je potřeba být velmi opatrný, ať při přepisování hodnot např. omylem nesmažeme některou z lomených závorek, do nichž jsou uzavřeny značky elementů, ať nesmažeme uvozovky, které uzavírají hodnotu atributu apod. Když bychom tímto nebo jiným podobným způsobem narušili strukturu souboru, tak na to budeme upozorněni i změnou podoby ikony daného elementu v levém panelu. Změna ikony se stejně jako ostatní změny projeví až po kliknutí do levého panelu anebo po stisku klávesy F5.
K prohledání obsahu souboru můžeme využít obvyklou zkratku Ctrl+F (nebo příkaz Edit > Find). Stačí do kolonky Find what zapsat hledaný text a potvrdit ho např. klávesou Enter. Další výskyty téhož textu lze zobrazovat stiskem klávesy F3 (anebo příkazem Edit > Find Next).
K hromadnému nahrazování textů pak poslouží zkratka Ctrl+H (či příkaz Edit > Replace). Do kolonky Find what zapíšeme text, který chceme nahradit a do kolonky Replace with nový text. Hromadné nahrazení potvrdíme tlačítkem Replace All.
Změny provedené v XML souboru uložíme příkazem File > Save anebo zkratkou Ctrl+S.