Nejprve malá poznámka k minulému dílu. Jak se objevilo v reakcích na něj, dobré stránky o XML v češtině má Jiří Kosek na www.kosek.cz. Stejně tak existuje spousta jiných různě kvalitních stránek o XML u nás i po světě. ZVON však patří podle mě do opravdové špičky a jeho tutoriály jsou jednou z nejlepších možností jak se XML a spol. nenásilně naučit. Kdybych měl náladu to sepisovat, věnoval bych jeden díl odkazům na nejlepší stránky o XML, ale tu náladu zatím nemám :(. www.kosek.cz však rozhodně doporučuji.
A nyní k dnešnímu programu. Jak jsme se dozvěděli v prvním dílu tohoto seriálu je XML spíše formátem pro vytváření formátů, než formátem jako takovým. V dnešním dílu si povíme právě o některých formátech, které jsou na XML založeny.
Používané XML formáty mohou být v zásadě rozděleny na dvě skupiny podle toho kdo daný standard navrhl. Některé formáty jsou dílem W3 konsorcia (autora XML samotného) a díky jeho autoritě jsou tedy jako standardy přijímány takřka samozřejmě. Nejprve se tedy podíváme na některé z nich.
SVG
SVG je zkratka anglického Scalable Vector Graphics. Jedná se tedy o formát pro popis vektorové grafiky a také animací na ní založených. Hlavní použití by měl najít zejména na webu jako standardní formát pro popis vektorové grafiky.
V současné době je tento formát teprve na postupu, neboť jeho širšímu použití zatím brání nedostatek programů s implementací jeho podpory. Pro uživatele Linuxu jsou k disposici např.:
- batik – program napsaný v Javě, který umí SVG zobrazit a také převádět do jiných formátů.
- FOP – také v Javě – je nástroj pro konverzi XML do PDF pomocí XSLT (viz. příště), který obsahuje také podporu pro SVG.
- KIllustrator obsahuje v dnešní podobě možnost exportu do SVG.
- Na podpoře SVG se pracuje také v Mozille zatím však není defaultně zahrnuta do posledních milestonů.
MathML
Jak sám název napovídá jde o formát určený pro popis matematických výrazů, rovnic apod. I tento formát již má svou podporu v Mozille. Protože se však v této oblasti příliš nepohybuji, odkazuji případné zájemce např. sem.
XHTML
Tomuto formátu bych rád věnoval trochu větší pozornost. Ti z Vás kdo znají HTML i XML (nebo o něm četli alespoň předchozí článek) si asi všimli, že tyto formáty nejsou úplně kompatibilní – tj. pro zpracování HTML nelze použít stejné nástroje jako pro XML, protože jejich syntaxe není úplně stejná. Jde především o možnost absence koncového tagu u některých HTML tagů, což je v XML nepřípustné. Dále musí být hodnoty atributů uváděny vždy v uvozovkách apod.
Tuto nekompatibilitu odstraňuje XHTML, které je přepisem HTML do XML formátu. Z <br> se tedy stalo <br/> z <p> </p>, <li> </li> apod. už nesmí chybět koncový tag apod. Tyto zdánlivě nepatrné změny mohou být velmi užitečné zejména při zpracování a „údržbě“ HTML dokumentů.
pozn. – V nedávné době se na internetu mihla zpráva, že XHTML Basic se stalo doporučením W3C. XHTML Basic je podmnožinou XHTML – jakási minimální část XHTML, která by měla najít použití především v mobilních zařízeních, která si nemohou plnou implementaci XHTML dovolit (viz. dále).
Do druhé skupiny XML formátů patří formáty vytvářené jako standardy jinými skupinami než W3C a nebo vývojáři jednotlivých programů jako formáty pro ukládání dat. Za zmínku z této oblasti určitě stojí:
WML
(Odkaz v titulku odkazuje na stránku kde je specifikace WML ke stažení v PDF formátu). WML (W = wireless = bezdrátový) je (podobně jako XHTML Basic) formát určený pro vytváření „stránek“ pro mobilní zařízení – tedy zařízení s malým displejem, pamětí a pomalým procesorem (mobilní telefony a spol.). Vyznačuje se jednoduchostí a značnou specializací právě na tato zařízení.
KOffice
KOffice používá jako standardní formát pro ukládání souborů právě formát založený na XML (resp. tarball obsahující XML soubory). Zajisté velmi úctyhodný počin a rozumný krok směrem ke snadné převoditelnosti formátů.
Gnome Office
Podobná situace jako u KOffice je i u Gnome Office (alespoň podle jejich stránek, protože v reálu jsem to nezkoušel).
OpenOffice
A to nejlepší nakonec! Asi si říkáte proč je XML podpora v OpenOffice lepší než třeba v KOffice. Pokud se podíváte na www.openoffice.org zjistíte, že jedním z klíčových poslání této nadace je vyvinout a implementovat kompletní XML formát pro popis Office dokumentů, který by se mohl stát normou pro všechny podobné programy. Pokud by se tento záměr podařil bylo by na světě zase o pár problémů méně.
Představte si, že Vám poštou přijde dokument napsaný v MS Office 2004 ™ na Win 2004 De Luxe ™ a Vy ho v pohodě otevřete a přečtete v např. Gnome Office 2.0 pod Linuxem – no nebylo by to fajn? :)
Příště se podíváme, jak psát, kontrolovat a konvertovat XML dokumenty pomocí Emacs, DTD a XSLT. Zmíníme se také o možnosti spojení XML s CSS.