Možná jste slyšeli o jazyce XML (Extensible Markup Language) a možná jste slyšeli mnoho důvodů, proč by ji vaše organizace měla používat. Ale co je přesně XML? Tento článek vysvětluje základy jazyka XML – co to je a jak funguje.
V tomto článku
Stručný přehled značek, značek a značek
Abyste porozuměli jazyku XML, pomáhá pochopit myšlenku označování dat. Lidé vytvořili dokumenty po celá století, a to tak dlouho, jak si je označili. Například učitelé školy si pořád označují studentské dokumenty. Říkají studentům, aby přesouvali odstavce, ujasnili věty, opraví pravopisné chyby a tak dále. Označení dokumentu je způsob, jakým definujeme strukturu, význam a vizuální vzhled informací v dokumentu. Pokud jste někdy použili funkci Sledování změn v Microsoft Office Wordu, použili jste počítačovanou formu označení.
Při výpočtech se "mark up" také vyvinulo na "revize". Revize je proces použití kódů, které se nazývají značky (nebo někdy tokeny) k definování struktury, vizuálního vzhledu a – v případě XML – významu všech dat.
Kód HTML pro tento článek je dobrým příkladem značek počítačů v práci. Pokud ji procházíte (v Microsoft Internet Exploreru, klikněte na stránku pravým tlačítkem myši a potom klikněte na Zobrazit zdroj),zobrazí se kombinace čitelného textu a značek jazyk HTML (HTML), jako jsou <p> a <h2>. Značky v dokumentech HTML a XML se snadno rozpozná, protože jsou obklopené hranatými závorkami. Ve zdrojovém kódu tohoto článku značky HTML dělají různé úlohy, například definují začátek a konec každého odstavce (<p> ... </p>) a označí umístění jednotlivých obrázků.
Takže co z něj dělá XML?
Dokumenty HTML a XML obsahují data, která jsou obklopená značkami, ale tady končí podobnosti mezi oběma jazyky. Značky ve formátu HTML definují vzhled a vzhled dat – nadpisy jsou tady, odstavec začíná tam a tak dále. Ve formátu XML značky definují strukturu a význam dat – jaká jsou data.
Když popíšete strukturu a význam dat, můžete tato data opakovaně použít libovolným způsobem. Pokud máte například blok dat o prodeji a každá položka v bloku je jasně označená, můžete do sestavy prodeje načíst jenom položky, které potřebujete, a načíst další položky do účetní databáze. Jinak řečeno, můžete pomocí jednoho systému vygenerovat data a označit je značkami XML a pak tato data zpracovat v libovolném počtu jiných systémů bez ohledu na hardwarovou platformu nebo operační systém. Tato přenositelnost je důvod, proč se XML stal jednou z nejoblíbenějších technologií pro výměnu dat.
Mějte přitom na paměti následující skutečnosti:
-
Místo jazyka XML nelze použít html. Data XML ale můžete zalamovat do značek HTML a zobrazit je na webové stránce.
-
Html je omezený na předdefinovanou sadu značek, které sdílejí všichni uživatelé.
-
Xml umožňuje vytvořit libovolnou značku, kterou potřebujete k popisu dat a struktury těchto dat. Řekněme třeba, že potřebujete ukládat a sdílet informace o domácích zvířatech. Můžete vytvořit následující 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>
Můžete vidět, že značky XML přesně vědí, na jaký druh dat se díváte. Například víte, že jde o data o kočce a můžete snadno najít jméno, věk a tak dále. Možnost vytvářet značky, které definují téměř libovolnou strukturu dat, je to, co dělá XML "rozšiřitelným".
Značky v této ukázce kódu ale nezaměňujte se značkami v souboru HTML. Pokud třeba vložíte strukturu XML do souboru HTML a zobrazíte soubor v prohlížeči, budou výsledky vypadat nějak takhle:
Izzy Siamese 6 yes no Izz138bod Colin Wilcox
Prohlížeč ignoruje značky XML a zobrazuje jenom data.
Slovo o dobře vytvořených datech
Možná uslyšíte, že někdo z vašeho IT oddělení zmínil "dobře vytvořený" XML. Dobře formátovaný soubor XML odpovídá sadě velmi přísných pravidel, která upravují XML. Pokud soubor není v souladu s těmito pravidly, xml přestane fungovat. Například v předchozí ukázce kódu má každá úvodní značka závěrečnou značku, takže vzorek dodržuje jedno z pravidel pro správný tvar. Pokud odeberete značku a pokusíte se otevřít tento soubor v některém z Office, zobrazí se chybová zpráva a program vám zastaví používání souboru.
Nemusíte nutně znát pravidla pro vytváření ve správném formátu XML (i když jsou snadno srozumitelná), ale musíte si uvědomit, že data XML můžete sdílet mezi programy a systémy jenom v případě, že jsou tato data dobře vytvořená. Pokud soubor XML nejde otevřít, je pravděpodobné, že tento soubor není ve správném formátu.
Xml je také nezávislý na platformě, což znamená, že každý program, který je vytvořen pro použití XML, může číst a zpracovávat data XML bez ohledu na hardware nebo operační systém. Například se správnými značkami XML můžete k otevření a práci s daty z hlavního počítače použít desktopovou aplikaci. A bez ohledu na to, kdo vytvoří text dat XML, můžete se stejnými daty pracovat v několika Office aplikacích. Vzhledem k tomu, že je tak přenosný, stal se XML jednou z nejoblíbenějších technologií pro výměnu dat mezi databázemi a uživatelskými desktopy.
Kromě označených, dobře formátovaných dat používají systémy XML obvykle dvě další součásti: schémata a transformace. Následující části vysvětlují, jak tyto další součásti fungují.
Rychlý přehled schémat
Nenechte se zastrašit termínem "schéma". Schéma je jenom soubor XML, který obsahuje pravidla pro to, co může a nemůže být v datovém souboru XML. Soubory schématu obvykle používají příponu názvu souboru .xsd, zatímco datové soubory XML .xml příponu.
Schémata umožňují programům ověřovat data. Poskytují rámec pro strukturování dat a zajišťují, aby byla smysluhodná pro tvůrce a všechny ostatní uživatele. Pokud například uživatel zadá neplatná data, například text do pole data, může program uživatele vyzvat k zadání správných dat. Pokud data v souboru XML odpovídají pravidlům v daném schématu, může každý program, který podporuje xml, použít toto schéma ke čtení, interpretaci a zpracování dat. Jak je vidět na následujícím obrázku, Excel data <CAT> pomocí schématu CAT.
Schémata se stávají složitými a výuka, jak je vytvořit, je nad rámec tohoto článku. (Kromě toho pravděpodobně máte IT oddělení, které ví, jak na to.) Pomáhá ale vědět, jak schémata vypadají. Následující schéma definuje pravidla pro <CAT> ... </CAT> značky.
<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íte si dělat starosti s pochopením všeho, co je ve vzorku. Mějte na paměti tyto skutečnosti:
-
Řádkové položky v ukázkovém schématu se nazývají deklarace. Pokud potřebujete další informace o zvířeti, jako je jeho barva nebo označení, je pravděpodobné, že vaše IT oddělení do schématu přidá deklaraci. Systém XML můžete změnit podle potřeby vaší firmy.
-
Deklarace poskytují nesmírnou kontrolu nad strukturou dat. Například deklarace <xsd:sequence> znamená, že značky, například <NAME> a <BREED> , musí být v pořadí, ve které jsou uvedené výše. Deklarace mohou také řídit typy dat, které mohou uživatelé zadávat. Například výše uvedené schéma vyžaduje kladné číslo pro věk kočky a logické hodnoty (PRAVDA nebo NEPRAVDA) pro značky ALTERED a DECLAWED.
-
Pokud data v souboru XML vyhovují pravidlům poskytnutým schématem, jsou tato data prý platná. Proces kontroly datového souboru XML proti schématu se nazývá (logicky dost) ověření. Velkou výhodou používání schémat je, že můžou pomoct zabránit poškození dat. Díky tomu je také snadné najít poškozená data, protože když dojde k potížím, xml se zastaví.
Rychlý přehled transformací
Jak už jsme zmínili dříve, XML také nabízí výkonné způsoby, jak data používat nebo opakovaně používat. Mechanismus opakovaného použití dat se nazývá transformace XSLT (Extensible Stylesheet Language Transformation) nebo jednoduše transformace.
Vy (ok, vaše IT oddělení) můžete taky použít transformace k výměně dat mezi back-end systémy, jako jsou databáze. Řekněme třeba, že databáze A ukládá data o prodeji ve struktuře tabulky, která funguje dobře pro prodejní oddělení. Databáze B ukládá data o výnosech a výdajích do struktury tabulky, která je přizpůsobená účetnímu oddělení. Databáze B může použít transformaci k přijetí dat z A a k zápisu dat do správných tabulek.
Kombinace datového souboru, schématu a transformace představuje základní systém XML. Na následujícím obrázku je vidět, jak tyto systémy obvykle fungují. Datový soubor se ověřuje podle schématu a transformací se vykreslí libovolným počtem použitelných způsobů. V takovém případě transformace nasadí data do tabulky na webové stránce.
Následující ukázka kódu ukazuje jeden způsob, jak napsat transformaci. Načte data <CAT> do tabulky na webové stránce. Bod ukázky vám zase neukáže, jak napsat transformaci, ale ukázat vám jeden formulář, který může transformovat.
<?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>
Tato ukázka ukazuje, jak může jeden typ transformace vypadat, když je kódovaný, ale nezapomeňte, že stačí popsat, co potřebujete z dat v prosté angličtině. Můžete třeba přejít na oddělení IT a říci, že za poslední dva roky potřebujete vytisknout data o prodeji pro určité oblasti, "a potřebuji, aby vypadala takto". Vaše IT oddělení pak může napsat (nebo změnit) transformaci, aby to udělalo.
To všechno ještě pohodlnější je to, že Microsoft a rostoucí počet dalších dodavatelů vytvářejí transformace pro nejrůznější úlohy. V budoucnu je pravděpodobné, že si budete moct stáhnout transformaci, která buď vyhovuje vašim potřebám, nebo kterou si můžete přizpůsobit podle svého účelu. To znamená, že xml bude v průběhu času stát méně.
Náhled xmlu v Microsoft Office Systému
Profesionální edice Office poskytují rozsáhlou podporu XML. Počínaje systémem Microsoft Office 2007 Microsoft Office používá formáty souborů xml, například .docx, .xlsx a .pptx. Vzhledem k tomu, že xml ukládá data v textovém formátu místo vlastnického binárního formátu, mohou vaši zákazníci definovat vlastní schémata a data používat více způsoby, aniž by museli platit licenční poplatky. Další informace o nových formátech najdete v tématu Otevření formátů XML a přípon názvů souborů. Mezi další výhody patří:
-
Menší velikosti souborů Nový formát používá technologie ZIP a další technologie komprese ke zmenšování velikosti souboru až o 75 procent ve srovnání s binárními formáty používanými v dřívějších verzích Office.
-
Snadnější obnovení informací a vyšší zabezpečení. Xml je čitelný pro člověka, takže pokud se soubor poškodí, můžete ho otevřít v Microsoft Poznámkový blok nebo v jiné čtečce textu a obnovit aspoň některé z vašich informací. Nové soubory jsou také bezpečnější, protože nesmí obsahovat jazyk Visual Basic for Application (VBA). Pokud k vytvoření šablon použijete nový formát, všechny ovládací technologie ActiveX a makra jazyka VBA se nacházejí v samostatné, bezpečnější části souboru. Kromě toho můžete k odebrání osobních dat použít nástroje, jako je kontrola metadat. Další informace o používání Kontroly metadat najdete v článku Odebrání skrytých dat a osobních údajů pomocí kontroly dokumentů.
Zatím je to dobré, ale co když máte data XML bez schématu? Tyto Office, které podporují XML, mají své vlastní přístupy, které vám pomáhají pracovat s daty. Pokud například Excel soubor XML, který ho ještě nemá, schéma odvodí. Excel pak můžete tato data načítat do tabulky XML. K řazení, filtrování nebo přidávání výpočtů do dat můžete použít seznamy a tabulky XML.
Povolení nástrojů XML v Office
Karta Vývojář se ve výchozím nastavení nezobrazuje, ale pokud chcete v aplikaci Office, musíte ji přidat na pás karet.
-
V Office 2016, Office 2013 nebo Office 2010: Zobrazit kartu Vývojář.
-
V Office 2007: Zobrazení karty Vývojář nebo spuštění v režimu vývojáře