XPointer
XPointer je metoda adresování komponent XML souborů. Jedná se o zobecnění identifikátoru fragmentu známého z HTML odkazů, kde <a href="http://www.domena.top/cesta/dokument.html#jmeno_casti">
se odkazuje na element s id="jmeno_casti"
v dokument.html
.
XPointer slouží pro výběr části XML dokumentu. Je navržen tak, aby vyhovoval struktuře XML, včetně textového obsahu a jiných informačních objektů, které vzniknou při analýze dokumentu. XPointer používá 3 schémata: element() pro poziční výběru elementu; xmlns() pro jmenné prostory a xpointer() pro adresování ve stylu XPath.
XPointer je krytý bezplatným technologickým patentem, který vlastnila firma Sun Microsystems[1].
Standardy
XPointer tvoří čtyři standardy:
- „framework“ tvoří základ pro identifikaci XML fragmentů[2]
- poziční schéma adresování prvků[3]
- schéma pro jmenné prostory[4]
- schéma pro adresování založené na XPath[5]
XPointer Framework je doporučení vydané v březnu 2003[6] [7].
Poziční adresování elementů
Schéma element()
poskytuje poziční adresování vnořených elementů podobné jednoduchým XPath adresám, ale následujícími kroky mohou být pouze čísla reprezentující pořadí vnořeného elementu v příslušné větvi stromu.
Příklad
Pro následující fragment:
<foobar id="foo">
<bar/>
<baz>
<bom a="1"/>
</baz>
<bom a="2"/>
</foobar>
jsou výsledky použití XPointer následující:
xpointer(id("foo")) => foobar xpointer(/foobar/1) => bar xpointer(//bom) => bom (a=1), bom (a=2) element(/1/2/1) => bom (a=1) (/1 sestoupí do prvního prvku (foobar), /2 sestoupí do druhého dítěte (baz), /1 vybere první dítě (bom))
Odkazy
Reference
V tomto článku byl použit překlad textu z článku XPointer na anglické Wikipedii.
- ↑ XPointer royalty-free patent statement
- ↑ XPointer Framework
- ↑ Poziční adresování prvků
- ↑ Namespacing
- ↑ Adresování vycházející z XPath
- ↑ XPointer Framework [online]. Dostupné online.
- ↑ XML and Semantic Web W3C Standards Timeline [online]. [cit. 2014-10-23]. Dostupné v archivu pořízeném dne 2013-04-24.
Související články
- Identifikátor fragmentu
- Extensible Markup Language
- HyperText Markup Language
- HyTime
- Text Encoding Initiative