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í. Odazy se dělí především na:

bullet

absolutní - začínají lomítkem

bullet

relativní - v definicisysté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 asrovná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ýmzá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 popiseklabel, 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 poisek, 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 protvorbu 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 dokumentuodkazujeme 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:

            

...

budeabsolutní 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 vlastnotí 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.