Syntaxe odkazů na segmenty

Upravit obsah stránky

V rámci definice vlastností jednotlivých segmentů je třeba provádět odkazy na jiné segmenty. Jde například o využití ve vlastnosti source pro propojování dokumentů, ale i o celou řadu dalších vlastností. Odkazy se dělí především na:
bullet

absolutní - začínají lomítkem

bullet

relativní - v definici systému Flexideo vždy začínají tečkou (rozdíl / omezení oproti XPath!)


Vedle zmíněné vlastnosti source a s ní související vlastností take-from, která (přesto, že připomíná XPath) má svá vlastní pravidla - viz. odkazování na zdroj, mají odkazy v systému Flexideo svá pravidla a zvláštní možnosti. V první řadě není zde možnost zadávání XPath podmínek v hranatých závorkách a není možnost použití plné syntaxesrovnávacích vzorů a zástupných znaků. Syntaxe odkazů je navržena speciálně pro potřeby odkazů v XDS definici a dalo by se říci, že oproti XPath jde o nesrovnatelně jednodušší (účelový) způsob odkazování. 

Zjednodušení (a také omezení) spočívá vedle vypuštění podmínek a srovnávacích vzorů především v tom, že se nezabýváte přesně strukturou xml, ale spíš její významovou částí. Můžete tak na prvek definovaný jako:
 
odkazovat nikoli běžným zápisem:
element[@name='jmeno']
ale zápisem abstrahujícím od typu segmentu a sice takto:
./jmeno
Pokud by výše nastíněný prvek neměl definováno jméno, ale pouze popisek label, vypadal by odkaz takto:
./jmeno_a_prijmeni
Jde o to, že si replikátor v procesu kompletace jméno doplní a to přednostně z popisku label. Není-li k dispozici popisek, může použít zdrojový odkaz, odkaz na šablonu atd. Zde je výhodné použít nástroje pro návrh definice, který tuto problematiku řeší za vás pomocí intellisense nástroje pro tvorbu odkazů (viz. XDS designer

Povšimněte si také opět nutnosti použít tečku při relativním odkazu. Pokud bychom potřebovali použít odkaz absolutní, potřebujeme znát celou strukturu odkazované větve. Zásadou je, že přiabsolutních odkazech začínáme od kmene obsahu dokumentu (to co je ve struktuře content) nebo jeho služby (to co je ve struktuře services - případě odkazování do cizího dokumentu odkazujeme vždy na jeho služby a teprve tato služba přesměrovává odkaz do dokumentu). 

Následuje jméno kmenové oblasti či služby odkazovaného dokumentu. To do jakého dokumentu odkazujeme už je dáno kontextem použití odkazu. Uvažujme tak například dokument mající tyto segmenty:
bude absolutní odkaz vypadat následovně: 

 
/osoba/jmeno
 
 Uvedená zjednodušení umožňují replikátoru předem kontrolovat všechny odkazy (vyjma výrazu atributu select v definování akcí, jež má zvláštní možnosti a určení). Eliminuje se tak lidská chyba, jež je podchycena již v první fázi přípravy aplikace. Vedle těchto prostých odkazů je v rámci některých vlastností možné odkazovat na jiné dokumenty. Jedná se především o filtrovací výrazy různého druhu - konkrétní využití viz. popis jednotlivých vlastností. Zde se podíváme na obecná pravidla zadávání odkazů do cizích dokumentů (poznámka: složitější filtrovací výrazy jsou replikátorem také plně prověřovány). 

Více o zápisech filtrů viz. další část.