facebook LinkedIN LinkedIN - follow
IT SYSTEM 12/2002

Základy XML a jeho praktické využití

Jiří Löffelmann


XML je jednou z nejfrekventovanějších zkratek v oblasti současných informačních technologií. Problematika XML je podrobně rozebírána v řadě konferencí, rozsáhlých publikací i webovských portálů.


Co je XML
Zkratka XML znamená eXtensible Markup Language neboli rozšiřitelný značkovací jazyk. Slovo jazyk předjímá, že se jedná o strukturovaný formát, kterým je možné zpracovávat, uchovávat a předávat informace. To, že je značkovací, vyjadřuje způsob záznamu, který jednotlivé části informací umisťuje mezi speciální významové značky, tzv. tagy. XML spadá do rodiny tzv. značkovacích jazyků kam patří například i specializovaný jazyk HTML pro tvorbu webovských stránek. Přívlastek rozšiřitelný znamená, že na rozdíl například právě od HTML není jeho syntaxe pevná a předem daná, ale naopak velmi pružná a přizpůsobitelná. U HTML jsou významové značky dány příslušnou normou a jejich význam je přesný a jednoznačný, jak je patrné z ukázky č. 1:

*********************************ukázka 1*******************************************






<br /> New Page 1<br />


Stránka o značkovacím jazyku HTML




************************************************************************************

. značky a uvozují a ukončují celý HTML dokument
. značky a uvozují a ukončují hlavičku HTML dokumentu
. značky a uvozují a ukončují titulek (nadpis) HTML dokumentu
. značky a uvozují a ukončují tělo (vlastní obsah) HTML dokumentu
. značky

a

uvozují a ukončují jednotlivé paragrafy (odstavce vlastního textu) HTML

Je zřejmé, že uvedené tagy tvoří dvojice, které se liší u ukončujícího tagu prvním znakem, jež představuje lomítko. Takto konstruované tagy se nazývají párové. Jazyk HTML obsahuje ještě tzv. nepárové tagy. Prohlížeč webovských stránek interpretuje všechny tagy a obsah mezi nimi, tak jak se nám pak objeví na obrazovce.

Právě princip párových tagů tvoří základní koncept XML. To, čím je filozofie XML podle mého názoru tak revoluční, je možnost definovat velmi snadno své vlastní tagy a vytvářet tak libovolná schémata při zachování striktních formálních pravidel. Jednoduchá ukázka zápisu v XML zachycuje stav zboží ve skladu (viz ukázka 2) - na první pohled jsou patrná následující fakta:

*********************************ukázka 2*******************************************



58001
šroub M 8
4,50
A1


58002
matice M 10
2,30
B2


58003
podložka M 12
2,10
C3


************************************************************************************

. jazyk XML je přísně hierarchicky organizovaný (tzv. stromová struktura),
. jednotlivé údaje jsou uloženy mezi tagy shodného jména uzavřenými mezi tzv. ostré závorky (znak "menší než" a znak "větší než"), přičemž ukončující tag na rozdíl od uvozujícího tagu začíná vždy znakem lomítka,
. záznam XML obsahuje dohromady jak vlastní přenášené údaje, tak i jejich strukturu a popis,
. konstrukce struktury není nijak omezená - podobných popisů s libovolnou hloubkou rozpadu můžeme vytvořit nespočet a je nutné dodržet pouze několik základních pravidel pro zápis značek,
. kompletní záznam XML je prostý znakový soubor bez jakéhokoliv přídavného formátování (první řádka souvisí s kódováním), který lze vytvořit v libovolném textovém editoru (například Notepad),
. jazyk XML není omezen jakoukoliv platformou, jeho formát je obecně zpracovatelný,
. zápis XML je velmi srozumitelný a informačně bohatý, a to i bez použití jakéhokoliv softwaru - viz použitá ukázka.

Pokud domyslíme všechny důsledky, zjistíme, že se zde otvírá možnost elegantně předávat rozsáhlé datové struktury v obecně srozumitelném formátu, který je čitelný a převoditelný s minimálním úsilím. Tato obrovská výhoda musí být logicky něčím vyvážena (tak už to v životě chodí). XML je samozřejmě na první pohled vysoce redundantní, co se týče záznamu - každý jednotlivý údaj musí být uzavřen mezi stejné tagy, což je samozřejmě jednoduché u desítek záznamů, ale nikoliv u stovek tisíc nebo milionů záznamů. Na druhou stranu přenášení a uchovávání velkých objemů dat už dnes není zdaleka tak závažným problémem jako před několika lety a otevřenost a srozumitelnost XML tuto nevýhodu zcela určitě eliminuje.

Poznámka pro ty zvídavější. Zkuste přepsat nebo zkopírovat uvedenou ukázku do Notepadu a uložit ji jako soubor s příponou .xml (např. Pokus.xml). Pak tento soubor otevřete pomocí webovského prohlížeče (např. Internet Exploreru verze 5.0 a vyšší). Prohlížeč obsahuje zabudovaný modul pro verifikaci správnosti zápisu XML, který se nazývá parser. Pokud je vše v pořádku měla by se vám ukázat stromová struktura, kterou lze pomocí klikání myší elegantně procházet - viz obrázek 1.


Obr. 1: Prohlížení zápisu v XML pomocí Internet Exploreru

Pokud jsme se v předchozím odstavci zaměřili na XML jako na způsob uložení strukturovaných dat, okamžitě se nabízí srovnání s principem relační databáze - viz obrázek 2.

. Tabulka Zbozi ------------------------------------------ Polozka	Nazev		Cena	Regal ------------------------------------------ 58001	sroub M 8		4,50	A1 58002	matice M 10	2,30	B2 58003	podlozka M 12	2,10	C3

Obr. 2: Uložení údajů v tabulce relační databáze

Je obecně známé, že většina relačních databázových standardů ukládá informace ve svém vlastním formátu a potřebuje tedy i speciální software, který je tento formát schopen přečíst. Další významnou vlastností databáze je, že na rozdíl právě od XML striktně odděluje popis definované struktury a vlastní data. Pro relační databáze je rovněž charakteristická poměrně komplikovaná možnost vyjádření stromové závislosti. K zajištění převodu mezi jednotlivými databázovými formáty a zápisem v XML existuje celá řada konvertovacích nástrojů. Jedním z nich je xmlspy od firmy Altova. Podrobnější informace o produktu jsou k dispozici na webové adrese www.altova.com, případně www.xmlspy.com, kde je možné si stáhnout i trialovou verzi. Produkt je distribuován ve třech verzích Home, Professional a Enterprise Obsahuje řadu specializovaných funkcí, mezi nimiž nechybí právě import a export standardních formátů. Velmi jednoduše je možné například načíst data z formátu Microsoft Access do XML a naopak.


Obr. 3: Předchozí ukázka dat zobrazená v prostředí xmlspy verze 5


Obr. 4: Tatáž data automaticky převedená pomocí xmlspy do Microsoft Access

Xmlspy je schopen kromě Microsoft Access takto konvertovat data ještě pro textové soubory a standardy ODBC a ADO. Velmi silnou stránkou XML je i to, že je schopné popsat i méně strukturovaná data než jsou databáze, například text ve formátu Microsoft Word. XML umožňuje právě pomocí tagů uložit ty informace, které při tvorbě textu ve Wordu nastavujeme pomocí interaktivních dialogů a klikání myší. Ukázka č. 3 představuje wordovský dokument importovaný pomocí xmlspy do formátu XML.

*********************************ukázka 3*******************************************




Normální
{
font-family:Times New Roman;
font-size:12pt;
text-align: left;
}

Standardnípísmoodstavce
{
font-family:Times New Roman;
font-size:12pt;
}

p
{
display: block;
margin-bottom: 0.5 em;
}


Toto je text napsaný v textovém editoru Microsoft Word.



.

***************************************************************************************************

K čemu je XML určeno
Kromě funkce univerzálního formátu pro výměnu dat, na kterou se v tomto článku soustřeďujeme nachází XML využití i v následujících případech

. Elektronické publikování - zcela samostatná oblast, kde se XML využívá ke snadnému konvertování základního dokumentu do celé řady dalších formátů (soubor vhodný pro DTP, obecný PDF soubor, sada HTML stránek, podklad pro CD ROM),

. Webovské stránky - tvorba webovských stránek, kombinace jazyka HTML a XML do nového standardu XHTML,

. E-business - XML je ideální formát výměny dat pro e-businesové transakce. Jeho sjednocovací potenciál ho určuje jako nástupce dřívějšího standardu EDI (Electronic Data Interchange),

. Metadata - XML jako formát dat, kterými jsou popsána jiná data.

XML není majetkem žádného komerčního subjektu. Je to otevřený a veřejný standard, který byl vytvořen a je nadále spravován a rozvíjen konsorciem W3C - více na www.w3.org/xml.

XML, .NET a Web Matrix
.NET je nová a velmi významná aktivita firmy Microsoft, která se dá stručně popsat jako komplexní platforma pro vývoj a provoz aplikací na základě webovských služeb. Obsahuje jak vize a filozofii, tak i vývojové nástroje a prostředky pro běh aplikací. Zájemce o podrobný popis .NET odkazuji na celou řadu specializovaných článků a publikací. Podstatné v této souvislosti je to, že Microsoft vsadil svoji budoucnost (a nikdo nemůže pochybovat o tom, že .NET je budoucností Microsoftu) na XML. XML tvoří stěžejní pilíř filozofie .NET právě jako její základní komunikační standard. Následující text o podpoře XML v připravované Microsoft Office 11 byl oficiálně uveřejněn Microsoftem 18. listopadu 2002 Sada Office 11 může být vstupem pro řešení založená na jazyku XML a zákazníkem nadefinovaná schémata dokumentů ve formátu aplikací Word, Access a Excel. Uživatel tak může využít známého rozhraní a účinnějších nástrojů. Podpora jazyka XML u výstupových serverů a webových služeb zajišťuje, aby byly aplikace Office integrovány s úplných spektrem podnikových dat a mohly podporovat optimální chod klíčových podnikových procesů. Hlavní výhody plynou z jednodušší výměny informací mezi jednotlivými uživateli a mezi jednotlivými organizacemi:

" Jazyk XML v aplikaci Word - V aplikaci Microsoft Word mohou uživatelé používat označování jazyka XML a tím dát podobu a členění dokumentům, které obsahují značné množství textu s přizpůsobitelným nastavením vzhledu a formátu. Výhodou je přístup k plně funkčnímu editoru jazyka XML, možnost ukládat a otevírat libovolné soubory XML přímo v aplikaci, možnost přeměny aplikace XSL (Extensible Stylesheet Language) na pole, využití schématu XML a integrace Smart Documents - inteligentních dokumentů .

" Jazyk XML v aplikaci Excel - Microsoft Excel prostřednictvím XML podporuje tabulková a převážně číselná data, která je nejlépe uvádět v mřížce, a která se používají pro účely výpočtů a analýz. Navíc mají uživatelé možnost rozumět, číst a zpracovávat libovolná XML, vytvářet libovolná XML schémata, editovat XML data a používat strukturu XML u tabulek. Tyto úkony jsou zjednodušeny zabudovaným podoknem úkolů - Task Pane.

" Jazyk XML v aplikaci Access - Podpora XML v aplikaci Microsoft Access umožní export číselných a textových dat uložených ve vzájemně propojených databázích podle hierarchického schématu XML. Access zároveň podporuje XML tím, že uživatelé mohou provést vlastní přeměnu XSL poté, co proběhne import či export dat.

Dalším důkazem, že to Microsoft myslí s XML velmi vážně je uvolnění softwarového balíku Web Matrix (nabízí se dráždivé srovnání s umělým světem ovládaným slizkými agenty Smithy ze stejnojmenného filmu s Keenu Reevesem). Web Matrix je kompletní vývojový balík pro ASP.NET, který navíc obsahuje i personální webovský server. V kombinaci s odlehčenou verzí Microsoft SQL Serveru MSDE tvoří úplné vývojové prostředí určené k tvorbě aplikací pro platformu .NET. Je ke stažení na stránkách Microsoftu a šokující je to, že je free, což v překladu znamená zdarma (stejně tak jako MSDE). Je zajímavé, že tento významný počin, kterým uvolnění Web Matrixu bezesporu je, nebyl nijak zvlášť mediálně prezentován, stejně tak jako například starší a rovněž bezplatný nástroj pro automatizaci Windows - Windows Scripting Host.

XML a collaboration
Termín collaboration (kolaborace - spolupráce) má v naší historii velmi negativní podtón. V terminologii informačních systémů je to ovšem v poslední době často skloňovaný výraz pro sdílení informací a spolupráci podnikových subjektů, a to někdy i zdánlivě konkurenčních. Klasickým případem je poskytnutí aktuálních informací o vlastních objednávkách do informačních systémů svých dodavatelů - princip SCM. Právě v této oblasti nabízí XML obrovské možnosti. Už dnes existuje celá řada předdefinovaných šablon z nejrůznějších oblastí (od trhu s pracovními příležitostmi, přes pojišťování, dopravu až po nejrůznější typy výrob). Velké množství z nich můžete nalézt například na www.xml.org. Úspěch XML na tomto poli je ovšem zásadně podmíněn ochotou jednotlivých subjektů otevřít a případně přizpůsobit vnitropodnikové standardy svým partnerům.

Závěr
I po tomto velmi zběžném a netechnologicky orientovaném seznámení s XML je zjevné, že se jedná o významný milník z oblasti přenosu a ukládání strukturovaných dat. V podnikových informačních systémech se bude v nejbližší době uplatňovat zejména jako formát výměny dat mezi různorodými aplikacemi a e-bussinesovými transakcemi. Napovídá tomu také fakt, že většina nových verzí významných informačních systémů už má implementovánu podporu pro konverzi formátu XML.

Literatura
Neil Bradley : XML kompletní průvodce
Jiří Kosek : XML pro každého

Chcete získat časopis IT Systems s tímto a mnoha dalšími články z oblasti informačních systémů a řízení podnikové informatiky? Objednejte si předplatné nebo konkrétní vydání časopisu IT Systems z našeho archivu.


Inzerce

Modernizace IS je příležitost přehodnotit způsob práce

IT Systems 4/2025V aktuálním vydání IT Systems bych chtěl upozornit především na přílohu věnovanou kybernetické bezpečnosti. Jde o problematiku, které se věnujeme prakticky v každém vydání. Neustále se totiž vyvíjí a rozšiřuje. Tematická příloha Cyber Security je příležitostí podívat se podrobněji, jakým kybernetickým hrozbám dnes musíme čelit a jak se před nimi můžeme chránit. Kromě kybernetické bezpečnosti jsme se zaměřili také na digitalizaci průmyslu.