Akta X 0502

3. 3. 2005
Doba čtení: 3 minuty

Sdílet

Je XML po sedmi letech zralé na redesign? Zastánci CSS a XSL se přou, kdo umí lépe tisknout XML. W3C vychrlilo přehršel aktualizovaných specifikací.

Dočkáme se XML 2.0?

V únoru XML oslavilo sedmé narozeniny, žádné oslavy se však nekonaly. Výročí zaznamenalo jen pár blogerů. Za sedm let technologie XML rozhodně vyzrály, ale současně v samotném jádře XML narůstá pnutí. XML 1.0 je postaveno na základech svých předchůdců GML a SGML, jejichž historie sahá až do konce šedesátých let. Kdo nahlédne do specifikace, zjistí, že její tři čtvrtiny se týkají DTD, několika druhů entit a notací; tedy záležitostí, které minimálně 90 % uživatelů XML k ničemu nepotřebuje. Kdo dnes chce validovat, nejspíš místo DTD sáhne po jazyku XML Schema nebo Relax NG. Pro vkládání dokumentů místo externích entit použijeme XInclude. Jedinečné identifikátory uzlů už není třeba deklarovat v DTD, máme xml:id.

Některé z těchto technologií „nové generace“ ještě voní novotou a zatím nejsou podporovány všemi implementacemi, ale to na podstatě věci nic nemění. Co není dnes, bude zítra nebo za rok. XML se čím dál tím víc staví zády k dědictví SGML. Možná, že přichází čas pro změny hlubší, než byly kosmetické úpravy XML 1.1. O případném zásadním redesignu XML se čas od času mluví, většinou pod označením XML 2.0. Diskuse z XML-DEV z poslední doby shrnuje Micah Dubinko. Navrhované změny spadají do dvou kategorií:

  1. Odstranit nebo podstatně zredukovat závislost na DTD.
  2. Umožnit efektivnější přenos, jinými slovy nabídnout alternativní, zřejmě binární serializaci.

Měnit stabilní a široce používanou technologii je přinejmenším ošidná záležitost, o tom ani není nutné se příliš šířit. Na druhou stranu, W3C našlo odvahu udělat tlustou čáru za SGML a vyplatilo se to. Ani XML 1.x není vytesáno do kamene. Docela určitě ho budeme používat dalších sedm let a ještě mnohem déle, ale to není důvod uzavírat se před něčím novým a lepším.

XSL vs. CSS

Koncem ledna se na XML.com objevil článek od Håkona Wium Lie a Michaela Daye (z pracovní skupiny W3C pro CSS, první jmenovaný je CTO Opery) se sugestivním názvem Printing XML: Why CSS Is Better than XSL. Na příkladech popisuje, o kolik je snadnější formátovat a tisknout XML s pomocí CSS oproti XSLT/XSL-FO. Je to v mnoha ohledech porovnávání jablek s hruškami, ale ukázky formátovacích schopností CSS3 jsou působivé.

Odpověď z pera Normana Walshe na sebe nenechala dlouho čekat. Normova reakce se mi zdá být korektní a logicky srozumitelná. Jeho hlavním argumentem je, že CSS3 si dobře vede při tisku dokumentů webového typu, ale mezi plnohodnotné typografické nástroje při nejlepší vůli nepatří. XSLT naproti tomu může spolu XSL-FO posloužit k vytvoření typografického systému, viz DocBook. Celá bitva mezi CSS a XSL nemá valný smysl, obě technologie se naopak vhodně doplňují. Mezi tvůrci webů oblíbená kombinace XSLT a CSS je toho důkazem.

PsychoPath

Projekt se slibným názvem PsychoPath je open-source javovou implementací procesoru XPath 2.0 s podporou jazyka XML Schema. Od verze 0.1 nikdo nemůže očekávat zázraky, ale určitě je dobře, že Saxonu, který bezpečně dominuje oblasti XPath/XSLT 2.0, začíná vyrůstat konkurence.

Specifikace W3C

V únoru toho bylo opravdu hodně, takže vybírám jen to z mého pohledu nejzajímavější:

Výše zmíněná specifikace xml:id 1.0 se stala kandidátem na doporučení W3C.

Pracovní skupiny XML Query a XSL společně zveřejnily rovnou desítku aktualizovaných specifikací souvisejících s XQuery 1.0, XPath 2.0 a XSLT 2.0. Vesměs se už jedná o stabilní pracovní verze, které brzy budou prohlášeny kandidáty na doporučení W3C.

ict ve školství 24

Pracovní skupina XML Binary Characterization vydala první pracovní verzi nového dokumentu XML Binary Characterization Measurement Methodologies a aktualizace dokumentů XML Binary Characterization Use Cases a XML Binary Characterization Properties.

Pracovní skupina XML Schema pokročila v přípravě verze 1.1 jazyka XML Schema a zveřejnila nové verze pracovních dokumentů Part 1: Structures a Part 2: Datatypes.

Seriál: Akta X