Odkazy mezi dokumenty

XPointer – identifikace fragmentů dokumentu

XPointer [12] je jednoduchý jazyk, který umožňuje jednoznačnou identifikaci libovolné části dokumentu. Fakticky se jedná o rozšířený jazyk XPath. XPointer mohou s výhodou využívat jednotlivé analytické moduly, které si pro zpracování budou předávat části dokumentů. Nebude potřeba předávat celé části dokumentů, ale jen poměrně krátkou adresu dokumentu doplněnou o XPointer identifikující konkrétní část dokumentu. Například první tabulku obsaženou v XML dokumentu pojmenovaném dokument.xml, můžeme identifikovat pomocí následujícího XPointeru:

dokument.xml#xpointer(table[1])

XPointer můžeme používat pro adresování, protože všechny HTML stránky převádíme do XML.

XLink a RDF – popis vazeb mezi stránkami

Pro účely RAINBOW nás zajímají i vztahy mezi jednotlivými stránkami – např. asociace podle obsahové podobnosti nebo topologického uspořádání. Reprezentovat vztahy mezi stránkami můžeme samozřejmě mnoha způsoby. Jedna z možností je i využití jazyka XLink (XML Linking Language) [11], který slouží k zápisu odkazů mezi dokumenty. Oproti jiným jazykům, lze v XLinku vytvářet i vícesměrné odkazy, které propojují více stránek. Dalším důležitým rysem XLinku je možnost přiřazení typu jednotlivým odkazům. Samotné odkazy tak mohou přímo nést nějakou sémantickou informaci. Následující ukázka obsahuje asociace pro stránku zapsané pomocí XLinku:

<xlink:extended xmlns:xlink="http://www.w3.org/1999/xlink"
                xlink:type="extended">
 <xlink:locator xlink:href="http://www.kosek.cz/clanky/wap/wap.html"
                xlink:role="urn:x-rainbow:linkroles:basedocument" 
                xlink:title="Web v příštím tisíciletí"
                xlink:type="locator"/>
 <xlink:locator xlink:href="http://www.kosek.cz/clanky/index.html"
                xlink:role="urn:x-rainbow:linkroles:toc" 
                xlink:title="Seznam článků"
                xlink:type="locator"/>
 <xlink:locator xlink:href=
                      "http://www.kosek.cz/clanky/wap/sluzby.html"
                xlink:role="urn:x-rainbow:linkroles:next" 
                xlink:title="Jak budou služby dostupné uživateli"
                xlink:type="locator"/>
 <xlink:locator xlink:href="http://www.kosek.cz/hledej.html"
                xlink:role="urn:x-rainbow:linkroles:search" 
                xlink:title="Fulltextové prohledávání"
                xlink:type="locator"/>
</xlink:extended>

K podobnému účelu můžeme kromě XLinku použít i RDF (Resource Description Format) [27]. RDF je formát založený na XML, který umožňuje připojování libovolných sémantických metadat k libovolnému dokumentu (informačnímu zdroji). RDF dokument umožňuje zapsat skupinu výroků, kdy je subjektu (informačnímu zdroji) přiřazena jedna nebo více dvojic vlastností a jejich hodnot. Informační zdroje, vlastnosti i jejich hodnoty jsou identifikovány URI adresou. Jedinou výjimku tvoří hodnota vlastnosti, která může mít i typ textového řetězce.

Výše uvedonou informaci o asociovaných stránkách můžeme klidně zapsat i v RDF.

<rdf:RDF xmlns:rdf="http://www.w3.org/TR/REC-rdf-syntax#"
         xmlns:rainbow="uri:x-rainbow:roles">
 <rdf:Description about="http://www.kosek.cz/clanky/wap/wap.html">
  <rainbow:ToC>http://www.kosek.cz/clanky/index.html</rainbow:ToC>
  <rainbow:Next>http://www.kosek.cz/clanky/wap/sluzby.html
  </rainbow:Next>
  <rainbow:Search>http://www.kosek.cz/hledej.html</rainbow:Search>
 </rdf:Description>
</rdf:RDF>

Význam dokumentu je přitom celkem jasný. Říká, že k dokumentu http://www.kosek.cz/clanky/wap/wap.html, existují stránky, které jsou ve vztahu „obsah“, „další stránka“ a „vyhledávací stránka“, a rovněž říká, jaké to jsou stránky (identifikace pomocí jejich URI adres).