XPointer

XML Pointer Language

  • rozšíření XLinku o možnost tvorby odkazů na části dokumentu

  • přidává se na konec URL za #

    http://www.nekde.cz/zdroj.xml#xpointer(...)
  • existuje několik schémat použitelných s XPointerem – xmlns, element, xpointer

  • XPointer výrazy používají rozšířený jazyk XPath

  • zachování zpětné kompatibility s HTML odkazy:

    http://www.nekde.cz/zdroj.xml#kap3
    http://www.nekde.cz/zdroj.xml#xpointer(id('kap3'))
  • můžeme uvést několik XPointer výrazů, které se vyhodnocují, dokud některý něco nevrátí:

    element(kap3)xpointer(id('kap3'))xpointer(//*[@id='kap3'])
  • ve schématu element se nepoužívají XParh výrazy, ale pořadová čísla dítěte, která mohou případně začínat ID elementu:

    element(/1/2/5)
  • do XPath jsou přidány dva nové typy – rozsah (range) a místo (point) v dokumentu

  • několik nových funkcí:

    • id('kap1')/range-to(id('kap2')) – vytvoří rozsah pokrývající vše od začátku elementu s ID kap1 do konce elementu s ID kap2

    • string-range(//title, "Karel IV.") – vybere všechny texty Karel IV. uvnitř elementů title

    • covering-range(), range-inside() – funkce ze seznamu uzlů vytvoří rozsah

    • start-point(), end-point() – zjistí první a poslední místo v daném seznamu uzlů