Možno ste už počuli o jazyku XML (Extensible Markup Language) aj o mnohých dôvodoch, prečo by ho vaša organizácia mala používať. Ale čo presne je XML? Základné informácie o XML – o tom, čo to je a ako funguje – nájdete v tomto článku.
Obsah článku
Krátky pohľad na značkovanie a značky
Ak chcete porozumieť XML, pomôže vám, ak porozumiete značkovaniu údajov. Ľudia vytvárajú dokumenty už celé storočia a práve tak dlho tieto dokumenty aj značkujú. Napríklad učitelia pravidelne značkujú písomné práce. Upozorňujú študentov na potrebu presunúť odseky, zjednodušiť vety, opraviť preklepy a podobne. Značkovanie dokumentu je spôsob určovania štruktúry, významu a vzhľadu informácií v dokumente. Ak ste už niekedy použili funkciu Sledovať zmeny v Microsoft Office Worde, použili ste digitálnu formu značkovania.
Vo výpočtovej technike sa teda takéto označovanie nazýva značkovanie. Značkovanie je proces určovania štruktúry, vzhľadu a – v prípade XML – aj významu ľubovoľných údajov pomocou kódov nazývaných značky (alebo aj tokeny).
V tomto článku nám ako dobrý príklad digitálneho značkovania v praxi poslúži kód HTML. Pri jeho prehľadávaní (v Microsoft Internet Exploreri kliknite pravým tlačidlom myši na stránku a potom na položku Zobraziť zdroj) sa zobrazí kombinácia čitateľného textu a značiek HTML, napríklad <p> a <h2>. Značky v dokumentoch HTML a XML ľahko rozpoznáte podľa toho, že sú ohraničené lomenými zátvorkami. V zdrojovom kóde pre tento článok plnia značky HTML rôzne funkcie, určujú napríklad začiatok a koniec jednotlivých odsekov (<p> ... </p>) a označujú umiestnenie jednotlivých obrázkov.
Čo je podstatou XML?
Dokumenty HTML a XML obsahujú údaje ohraničené značkami, ale tam podobnosť medzi týmito dvomi jazykmi končí. V HTML značky určujú vzhľad a prostredie údajov – nadpisy budú tu, odsek začne tam a podobne. V XML značky určujú štruktúru a význam údajov – o aké údaje ide.
Keď popíšete štruktúru a význam údajov, umožníte tým opätovné použitie týchto údajov rôznym spôsobom. Ak máte napríklad blok údajov o predaji a každá položka v bloku je jasne vymedzená, môžete do správy o predaji načítať len tie položky, ktoré potrebujete, a ostatné položky môžete načítať do účtovníckej databázy. Inak povedané, údaje môžete vygenerovať a označiť značkami XML v jednom systéme a potom ich môžete spracovať v iných systémoch bez ohľadu na používaný hardvér alebo operačný systém. Vďaka svojej prenosnosti sa jazyk XML stal jednou z najobľúbenejších technológií na výmenu údajov.
Pri ďalšom postupe pamätajte na tieto skutočnosti:
-
Namiesto XML nie je možné použiť HTML. XML údaje však možno ohraničiť značkami HTML a zobraziť ich na webovej stránke.
-
HTML je obmedzený preddefinovaným počtom značiek, ktoré sú spoločné pre všetkých používateľov.
-
XML umožňuje vytvoriť ľubovoľnú značku potrebnú na popis a štruktúrovanie údajov. Povedzme napríklad, že potrebujete uložiť a zdieľať informácie o domácich zvieratách. Môžete vytvoriť tento kód XML:
<?xml version="1.0"?> <CAT> <NAME>Izzy</NAME> <BREED>Siamese</BREED> <AGE>6</AGE> <ALTERED>yes</ALTERED> <DECLAWED>no</DECLAWED> <LICENSE>Izz138bod</LICENSE> <OWNER>Colin Wilcox</OWNER> </CAT>
Vidíte, že značky XML umožňujú presnú znalosť toho, ktoré údaje sa zobrazujú. Viete napríklad, že tieto údaje sa týkajú mačky, a môžete ľahko vyhľadať meno mačky, vek a podobne. Keďže XML dokáže vytvárať značky určujúce takmer každú štruktúru údajov, hovoríme, že je „rozšíriteľný“.
Nezameňte si však značky v tejto ukážke kódu so značkami v súbore HTML. Ak napríklad prilepíte štruktúru XML do súboru HTML a zobrazíte súbor v prehliadači, výsledky budú vyzerať približne takto:
Izzy Siamese 6 yes no Izz138bod Colin Wilcox
Prehliadač odignoruje značky XML a zobrazí len údaje.
Pár slov o správne štruktúrovaných údajoch
Možno začujete, ako niekto z IT oddelenia spomína „správne štruktúrovaný“ súbor XML. Správne štruktúrovaný súbor XML spĺňa súbor veľmi prísnych pravidiel upravujúcich XML. Ak súbor tieto pravidlá nespĺňa, XML prestane fungovať. Napríklad v predchádzajúcej ukážke kódu má každá začiatočná značka aj koncovú značku, takže ukážka spĺňa jedno z pravidiel správneho štruktúrovania. Ak značku odstránite a pokúsite sa otvoriť súbor v jednom z programov balíka Office, zobrazí sa chybové hlásenie a program vám zabrániť použiť súbor.
Nemusíte nevyhnutne poznať pravidlá na vytvorenie správne štruktúrovaných XML (hoci sú zrozumiteľné), ale musíte pamätať na to, že XML údaje možno s inými programami a systémami zdieľať len vtedy, ak sú správne štruktúrované. Ak sa vám nedarí otvoriť súbor XML, zrejme nie je správne štruktúrovaný.
XML navyše nie je závislý od určitej platformy, čo znamená, že údaje XML dokáže prečítať a spracovať každý program určený na prácu s nimi bez ohľadu na používaný hardvér alebo operačný systém. Ak máte napríklad správne značky XML, môžete údaje zo sálového počítača otvoriť a pracovať s nimi pomocou počítačového programu. A bez ohľadu na to, kto vytvorí množinu údajov XML, môžete s týmito údajmi pracovať vo viacerých programoch balíka Office. Vďaka dobrej prenosnosti sa XML stal jednou z najobľúbenejších technológií na výmenu údajov medzi databázami a počítačmi používateľov.
Okrem označkovaných a správne štruktúrovaných údajov systémy XML zvyčajne používajú aj dve ďalšie súčasti: schémy a transformácie. Fungovanie týchto súčastí je vysvetlené v nasledujúcich častiach.
Stručný pohľad na schémy
Nenechajte sa zastrašiť výrazom „schéma“. Schéma je len súbor XML, ktorý obsahuje pravidlá týkajúce sa povoleného a nepovoleného obsahu údajového súboru XML. Súbory schémy zvyčajne používajú príponu súboru .xsd, kým údajové súbory XML používajú príponu .xml.
Schémy umožňujú programom overiť údaje. Predstavujú rámec pre štruktúrovanie údajov a starajú sa o to, aby dávali zmysel tvorcovi aj ďalším používateľom. Ak sa stane, že používateľ zadá neplatné údaje, napríklad text do údajového poľa, program môže používateľa vyzvať na zadanie správnych údajov. Pokiaľ sú údaje v súbore XML v súlade s pravidlami v danej schéme, na čítanie, interpretovanie a spracovanie údajov bude môcť danú schému použiť každý program, ktorý podporuje XML. Napríklad Excel, ako je znázornené na nasledujúcom obrázku, môže overiť údaje <CAT> (<mačka>) podľa schémy CAT (MAČKA).
Schémy môžu byť komplexné a rozsah tohto článku nám neumožňuje učiť vás, ako schému vytvoriť. (Aj tak máte zrejme IT oddelenie, ktoré to vie.) Napriek tomu je však dobré vedieť, ako schémy vyzerajú. Nasledujúca schéma určuje pravidlá pre súbor značiek <CAT> ... </CAT> (<MAČKA> ... </MAČKA>).
<xsd:element name="CAT">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="NAME" type="xsd:string"/>
<xsd:element name="BREED" type="xsd:string"/>
<xsd:element name="AGE" type="xsd:positiveInteger"/>
<xsd:element name="ALTERED" type="xsd:boolean"/>
<xsd:element name="DECLAWED" type="xsd:boolean"/>
<xsd:element name="LICENSE" type="xsd:string"/>
<xsd:element name="OWNER" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
Nemusí vás trápiť, ak neporozumiete každej časti ukážky. Stačí mať na pamäti tieto fakty:
-
Položky v riadku ukážky schémy sa nazývajú deklarácie. Ak by ste potrebovali aj iné informácie o zvierati, napríklad jeho farbu alebo znaky, vaše IT oddelenie by zrejme do schémy pridalo deklaráciu. Systém XML možno meniť podľa potrieb vášho podniku.
-
Deklarácie vám poskytujú značnú kontrolu nad štruktúrou údajov. Napríklad deklarácia <xsd:sequence> znamená, že značky, napríklad <NAME> a <BREED>, sa musia vyskytovať v takom poradí, v akom sú uvedené vyššie. Deklarácie môžu určovať aj typy údajov, ktoré môžu používatelia zadávať. Napríklad vyššie uvedená schéma vyžaduje kladné číslo pre vek mačky a booleovské hodnoty (TRUE alebo FALSE) pre značky ALTERED (STERILIZOVANÁ) a DECLAWED (ZBAVENÁ PAZÚROV).
-
Keď sú údaje v súbore XML v súlade s pravidlom určeným v schéme, údaje sa považujú za platné. Proces kontroly údajového súboru XML podľa schémy sa (logicky) nazýva overovanie. Veľkou výhodou používania schém je, že môžu zabrániť používaniu poškodených údajov. Tiež umožňujú ľahko vyhľadať poškodené údaje, pretože keď XML narazí na problém, zastane.
Stručný pohľad na transformácie
Ako sme už spomenuli, XML tiež umožňuje účinne a opätovne používať údaje. Mechanizmus zabezpečujúci opätovné používanie údajov sa nazýva Extensible Stylesheet Language Transformation (XSLT) alebo jednoducho transformácia.
Transformácie môžete (vy alebo skôr vaše IT oddelenie) použiť aj na výmenu údajov medzi serverovými systémami, ako sú napríklad databázy. Povedzme napríklad, že databáza A ukladá údaje o predaji do tabuľkovej štruktúry, ktorá vyhovuje oddeleniu predaja. Databáza B ukladá údaje o príjmoch a výdavkoch do tabuľkovej štruktúry, ktorá je prispôsobená účtovnému oddeleniu. Databáza B môže prijať údaje z databázy A a zapísať ich do správnych tabuliek pomocou transformácie.
Základný systém XML tvorí kombinácia údajového súboru, schémy a transformácie. To, ako takéto systémy obyčajne fungujú, si ukážeme na nasledujúcom príklade. Údajový súbor sa overí podľa schémy a potom sa pomocou transformácie vykreslí ľubovoľným počtom použiteľných spôsobov. V tomto prípade transformácia nasadí údaje do tabuľky na webovej stránke.
Nasledujúca ukážka kódu zobrazuje jeden zo spôsobov zápisu transformácie. Načíta údaje <CAT> (<MAČKA>) do tabuľky na webovej stránke. Znova platí, že cieľom ukážky nie je ukázať, ako zapísať transformáciu, ale ukázať vám jednu z možných foriem transformácie.
<?xml version="1.0"?>
<xsl:stylesheet version="1.0">
<TABLE>
<TR>
<TH>Name</TH>
<TH>Breed</TH>
<TH>Age</TH>
<TH>Altered</TH>
<TH>Declawed</TH>
<TH>License</TH>
<TH>Owner</TH>
</TR>
<xsl:for-each select="CAT">
<TR ALIGN="LEFT" VALIGN="TOP">
<TD>
<xsl:value-of select="NAME"/>
</TD>
<TD>
<xsl:value-of select="BREED"/>
</TD>
<TD>
<xsl:value-of select="AGE"/>
</TD>
<TD>
<xsl:value-of select="ALTERED"/>
</TD>
<TD>
<xsl:value-of select="DECLAWED"/>
</TD>
<TD>
<xsl:value-of select="LICENSE"/>
</TD>
<TD>
<xsl:value-of select="OWNER"/>
</TD>
</TR>
</xsl:for-each>
</TABLE>
Táto ukážka znázorňuje, ako môže vyzerať jeden typ transformácie, keď je kódovaný, ale pamätajte, že z údajov v jednoduchej angličtine stačí popísať, čo potrebujete. Môžete napríklad zájsť na IT oddelenie a povedať, že potrebujete vytlačiť údaje o predaji v konkrétnych oblastiach za uplynulé dva roky a že „potrebujete, aby to vyzeralo takto“. IT oddelenie potom môže zapísať (alebo zmeniť) transformáciu, ktorá sa o to postará.
Celé to uľahčuje aj fakt, že spoločnosť Microsoft a stále viac iných dodávateľov vytvára transformácie pre najrôznejšie úlohy. V budúcnosti si zrejme budete môcť stiahnuť transformáciu, ktorá zodpovedá vašim potrebám, alebo takú, ktorú si budete môcť upraviť tak, aby vyhovovala vašim zámerom. To znamená, že časom bude používanie XML lacnejšie.
Náhľad na XML v systéme Microsoft Office
Profesionálne vydania balíka Office poskytujú pre XML rozsiahlu podporu. Microsoft Office používa formáty súborov založené na formáte XML, napríklad .docx, .xlsx a .pptx. Keďže XML ukladá údaje v textovom formáte, a nie v súkromnom binárnom formáte, vaši zákazníci si môžu určiť vlastné schémy a môžu vaše údaje používať viacerými spôsobmi, a to bez poplatkov. Ďalšie informácie o nových formátoch nájdete v téme Formáty Open XML a prípony súborov. Ďalšie výhody:
-
Menšia veľkosť súborov. Nový formát používa ZIP a iné technológie kompresie na zmenšenie veľkosti súboru až o 75 percent v porovnaní s binárnymi formátmi, ktoré sa používajú v starších verziách balíka Office.
-
Jednoduchšie obnovenie informácií a väčšia bezpečnosť. Keďže jazyk XML je čitateľný pre ľudí, pri poškodení súboru môžete súbor otvoriť v Poznámkovom bloku alebo v inom textovom programe a obnoviť aspoň niečo zo svojich informácií. Nové súbory sú zároveň bezpečnejšie, pretože nemôžu obsahovať kód VBA (Visual Basic for Applications). Ak pri vytváraní šablón použijete nový formát, všetky ovládacie prvky ActiveX a makrá VBA budú umiestnené v samostatnej, bezpečnejšej časti súboru. Okrem toho môžete použiť nástroje, ako je napríklad Kontrola dokumentov, na odstránenie osobných údajov. Ďalšie informácie o používaní Kontroly dokumentov nájdete v článku Odstránenie skrytých údajov a osobných informácií kontrolou dokumentov.
Zatiaľ to vyzerá dobre, ale čo ak máte údaje XML bez schémy? Programy balíka Office, ktoré podporujú XML, majú vlastné postupy, ktoré uľahčujú prácu s údajmi. Ak napríklad v Exceli otvoríte súbor XML, ktorý ešte nemá schému, Excel si ju odvodí. Excel vám potom dá na výber, či chcete tieto údaje načítať do tabuľky XML. Zoznamy a tabuľky XML možno použiť na zoraďovanie, filtrovanie alebo pridávanie výpočtov k údajom.
Povolenie nástrojov XML v Office
Karta Vývojár sa predvolene nezobrazuje, ak však chcete v Office používať príkazy jazyka XML, bude potrebné pridať ju na pás s nástrojmi. Pozrite si tému Zobrazenie karty Vývojár.