• Nebyly nalezeny žádné výsledky

2.5 Budoucnost Topic Maps

Vy´voj Map te´mat jde sta´le doprˇedu a v souvislosti s tı´m se vyvı´jejı´ i dalsˇı´ pro-strˇedky pro pra´ci s nimi [20]. Na sveˇt pomalu prˇicha´zı´ nova´ verze specifikace pro za´pis map te´mat XTM 2.0, jejı´zˇ prˇedchu˚dkynı´ je nikdy oficia´lneˇ nevy-dana´ verze XTM 1.1. Zmeˇna v cˇı´slova´nı´ o jednu hlavnı´ verzi ma´ ten du˚vod, zˇe v XTM 2.0 dosˇlo ke zpeˇtneˇ nekompatibilnı´m zmeˇna´m. Uka´zalo se totizˇ, zˇe zmeˇny pla´novane´ pro XTM 1.1, jsou jizˇ nesmı´rneˇ rozsa´hle´ a zmeˇna v na´zvech elementu˚ byla pro zjednodusˇenı´ syntaxe nezbytna´.

Snahou je, aby se kazˇda´ nova´ verze nebo souvisejı´cı´ technologie, jako na-prˇı´klad TMQL25, stala soucˇa´stı´ standardu ISO 13250 a byla tak pro vy´voja´rˇe za´vazna´. Tato aktivita je chva´lyhodna´, protozˇe pouze neusta´vajı´cı´ vy´voj v sou-vislosti s aktua´lnı´mi trendy mu˚zˇe zamezit vytva´rˇenı´ ru˚zny´ch proprieta´rnı´ch rozsˇı´rˇenı´. Nenasta´va´ pak proble´m s nekompatibilnı´mi verzemi programu˚ zpra-cova´vajı´cı´ch mapy te´mat.

Jednou ze soucˇa´stı´ map te´mat, zatı´m sice ne ve fina´lnı´ podobeˇ, ale jizˇ dnes cˇasto citovanou a odkazovanou, je TMDM26– datovy´ model map te´mat – ktery´

definuje interpretaci mimo jine´ i vy´meˇnne´ho forma´tu XTM. TMDM uprˇesnˇuje nejasnosti, ru˚zne´ vy´klady urcˇity´ch cˇa´stı´, ktere´ v souvislosti s XTM 1.0 mohly nastat. Rˇesˇı´ i takove´ malicˇkosti, jako zda a kdy seTopic Mapsma´ psa´t s velky´mi pı´smeny na zacˇa´tku slov. Z du˚lezˇiteˇjsˇı´ch veˇcı´ je mozˇno zmı´nit naprˇı´klad za´-vazne´ vysveˇtlenı´ pojmu˚, ktere´ se v mapa´ch te´mat vyskytujı´, a samotne´ vazby mezi jednotlivy´mi cˇa´stmi.

TMDM da´le slouzˇı´ jako za´klad pro:

• TMQL – Topic Maps Query Language – vysokou´rovnˇovy´ dotazovacı´

jazyk,

• TMCL – Topic Maps Constraint Language – zprˇı´sneˇnı´ gramatiky map, te´mat,

• XTM 2 – nova´ syntaxe XTM pro mapy te´mat,

• CXTM – kanonicky´ forma´t map te´mat (Canonicalization),

• CTM – Compact Topic Maps – kompaktnı´ forma´t pro za´pis map te´mat.

Za pozornost urcˇiteˇ stojı´ i dotazovacı´ jazyk TMQL [31], vytvorˇeny´ specia´lneˇ pro mapy te´mat. Meˇl by vy´razneˇ ulehcˇit vyhleda´va´nı´ v mapeˇ a pomocı´ relativneˇ jednoduche´ho dotazu zprˇı´stupnit potrˇebne´ informace. Vznikl zejme´na proto, zˇe jazyky XPath ani SQL nejsou pro vyhleda´va´nı´ v mapa´ch te´mat vhodne´ a neˇktere´ dotazy jsou pomeˇrneˇ obtı´zˇne´ a musejı´ se skla´dat z neˇkolika kroku˚.

V TMQL by naprˇı´klad pro vy´beˇr vsˇech skladatelu˚, kterˇı´ slozˇili operu, meˇlo stacˇit napsat na´sledujı´cı´ (prˇı´klad prˇevzaty´ z TMQL working draft [31]):

25TMQL – Topic Maps Query Language, novy´ dotazovacı´ jazyk pro mapy te´mat

26TMDM – Topic Maps Data Model

KAPITOLA 2. TOPIC MAPS 2.5. BUDOUCNOST TOPIC MAPS

select $COMPOSER

where composed-by($COMPOSER : composer, $OPERA : work) Vsˇechny vy´sˇe uvedene´ technologie, kromeˇ datove´ho modelu (ktery´ sice take´ nenı´ ve fina´lnı´ verzi, ale cˇasto se pouzˇı´va´, jako by jizˇ byl), jsou zatı´m ve sta´diu na´vrhu a proprieta´rnı´ch implementacı´. Veˇtsˇı´ rozsˇı´rˇenı´ jejich pouzˇitı´ se da´

ocˇeka´vat azˇ pote´, co se stanou soucˇa´stı´ standardu. Velke´ nadeˇje jsou vkla´da´ny zejme´na do TMQL, ktery´ velice ulehcˇı´ operace typu vy´beˇr konkre´tnı´ho te´matu a jeho vazeb.

Obra´zek 3.Ontopia Knowledge Suite – vizualizace mapy te´mat Opery – te´ma Manon Lescaut

Pomeˇrneˇ zajı´mavou vlastnostı´ neˇktery´ch programu˚ pracujı´cı´ch s mapami te´mat je mozˇnost vizualizace mapy. Neˇktere´ programy umozˇnˇujı´ nacˇtenou mapu graficky zna´zornit a prostoroveˇ ji procha´zet. Konkre´tnı´ objekt se po zvolenı´ zobrazı´ vcˇetneˇ jeho vztahu na souvisejı´cı´ objekty, viz obra´zek3., kde je videˇt te´ma „Manon Lescaut“ a jeho vazby na ostatnı´ objekty. Je to jedna z cest, jak cˇloveˇku zprˇı´stupnit data v mapeˇ, anizˇ by musel studovat nebo i jen zna´t zdrojovy´ ko´d mapy. Je to mozˇna´ cesta, jak uzˇivatelu˚m na´zorneˇ zprˇı´stupnit data uchova´vana´ nejenom v mapa´ch te´mat.

Kapitola 3

XSLT a XPath

3.1 XSLT

Jazyk XSL1 se pouzˇı´va´ prˇi takzvany´ch XSLT2 transformacı´ch. XSLT verze 1.0 vzniklo na pu˚deˇ konsorcia W3C v letech 1998–1999. XSL transformace je tzv.

Turing-kompletnı´ stroj, viz naprˇ. [23] a je tak teoreticky pouzˇitelne´ pro mnoho ru˚zny´ch u´loh – ne vsˇak nutneˇ efektivnı´m zpu˚sobem. Nejcˇasteˇji se pouzˇı´va´ prˇi konverzi XML do jine´ho XML forma´tu, proste´ho textu, HTML nebo FO3, ktery´

se pouzˇı´va´ pro prˇevod do PDF [7].

Pro prˇevod je zapotrˇebı´ zdrojovy´ XML dokument, XSLT procesor a XSLT sˇablona, ktera´ popisuje, jak se ma´ nalozˇit s jednotlivy´mi elementy ve zdrojove´m dokumentu. XSLT sˇablony jsou obvykle psa´ny pro konkre´tnı´ sadu elementu˚

pouzˇity´ch ve zdrojove´m XML – tedy s tı´m, zˇe autor XSLT sˇablony zna´ forma´t XML dokumentu, ktery´ se ma´ transformovat. V XML to obvykle znamena´, zˇe ma´ k dispozici definici typu dokumentu – DTD, XSD4, Relax NG5atd.

Proces prˇevodu je videˇt na obra´zku 4. XSLT procesor obstara´va´ propojenı´

XML dokumentu a XSLT sˇablony. Zdrojovy´ dokument se zpracuje podle pra-videl zadany´ch v sˇabloneˇ a na vy´stup se zapı´sˇe novy´ dokument. Pokud je na vy´stupu XML s obsahem forma´tovacı´ch objektu˚, prˇibude obvykle jesˇteˇ jeden krok, kdy se dokument prˇevede naprˇı´klad do PDF nebo RTF.

V dnesˇnı´ dobeˇ je nejuzˇı´vaneˇjsˇı´ verze XSLT 1.0, ktera´ nicme´neˇ neobsahuje vsˇechny pozˇadovane´ vlastnosti. Vzniklo proto mnoho proprieta´rnı´ch nadsta-veb XSLT procesoru˚, ktere´ potrˇebna´ rozsˇı´rˇenı´ obsahovaly. To vsˇak byl pomeˇrneˇ velky´ proble´m, protozˇe tak XSL nebylo plneˇ kompatibilnı´ mezi jednotlivy´mi procesory. Postupneˇ tak vznikal tlak na vytvorˇenı´ nove´ verze a zapracova´nı´

potrˇebny´ch rozsˇı´rˇenı´ do nı´.

Nova´ verze XSLT 2.0, ktera´ ma´ k 23. lednu 2007 status doporucˇenı´ (recom-mendation), se jizˇ zacˇı´na´ u´speˇsˇneˇ rozsˇirˇovat. Je jizˇ neˇkolik XSLT procesoru˚,

1XSL – eXtensible Stylesheet Language

2XSLT – eXtensible Stylesheet Language Transformation

3FO – forma´tovacı´ objekty

4XSD – XML Schema Definition –http://www.w3.org/XML/Schema

5Relax NG –http://relaxng.org/spec-20011203.html

KAPITOLA 3. XSLT A XPATH 3.1. XSLT

Obra´zek 4.Proces zpracova´nı´ XML na XSLT – zdrojhttp://www.svgopen.

org/2004/papers/liyan_paper_abstract1/

ktere´ ji plneˇ podporujı´. Procesor Saxon, ktery´ bude citova´n v te´to pra´ci, byl prvnı´ z nich. Nenı´ to na´hoda, protozˇe Michael Kay, ktery´ se podı´lel na vyda´nı´

XSLT 2.0, je za´rovenˇ tvu˚rce programu SAXON a procesor tak vznikal za´rovenˇ s tvorbou standardu. V tomto prˇı´padeˇ tedy nenı´ mozˇne´ W3C, jehozˇ jme´nem je standard zasˇtı´teˇn, spravedliveˇ obvinit, zˇe vytvorˇilo neimplementovatelny´

standard6.

Pozˇadavek v doporucˇenı´ XSLT 2.0 je, aby bylo plneˇ zpeˇtneˇ kompatibilnı´

s verzı´ 1.0 – tedy aby XSLT procesory, ktere´ umı´ transformovat XSLT 2.0, zvla´dly i transformaci XSLT 1.0. Vzhledem k tomu, zˇe pouzˇita´ verze se zapisuje do hlavicˇky XSLT souboru, nenı´ potrˇeba nikde da´le specifikovat, podle jake´ verze ma´ transformace probeˇhnout.

Hlavnı´ novinky prˇedstavene´ ve verzi XSLT 2.0 jsou [8]: vyuzˇitı´ souvisejı´cı´ho standardu XPath 2.0 (popsa´no da´le), konec RTF7 a jeho nahrazenı´ temporary tree, povolenı´ vı´ce vy´stupnı´ch dokumentu˚8, umozˇneˇnı´ XHTML vy´stupu, zjed-nodusˇene´ seskupova´nı´ (grouping), uzˇivatelsky definovatelne´ funkce a mnoho dalsˇı´ho. Pro kompletnı´ seznam funkcı´ je vhodne´ prozkoumat poslednı´ verzi standardu XSLT 2.0 [5].

Uzˇivatelsky definovane´ funkce jsou jednou z veˇcı´, ktere´ v XSLT velice chybeˇly. Jejich pouzˇitı´ se sice dalo simulovat pomocı´ pojmenovany´ch sˇablon, nicme´neˇ tato na´hrada nebyla plnohodnotna´. Hodnota funkce se nynı´ mu˚zˇe po-uzˇı´t kdekoliv v cele´ sˇabloneˇ a dokonce i v XPath vy´razech. Je mozˇne´ rekurzivnı´

vola´nı´ a dalsˇı´ vymozˇenosti. Funkce sama o sobeˇ neumı´ nic zapsat do vy´stup-nı´ho dokumentu – hodnoty zapsane´ na „vy´stup“ jsou na´sledneˇ prˇı´stupne´ jako vy´sledek funkce [32].

6Prˇi studiu materia´lu na internetu je mozˇne´ na obvineˇnı´, zˇe W3C tvorˇı´ neimplementovatelne´

standardy, narazit pomeˇrneˇ cˇasto. Na rozdı´l od jiny´ch standardizacˇnı´ch orga´nu˚ totizˇ za´rovenˇ se standardem nevyda´va´ i vzorovou implementaci.

7RTF – result tree fragment

8Umozˇneˇnı´ vı´ce vy´stupnı´ch dokumentu˚ je typicky´ prˇı´klad proprieta´rnı´ho rˇesˇenı´ jednotli-vy´ch procesoru˚ ve verzi XSLT 1.0.