Určení zdroje dat source
Nastavení zdroje prvku či oblasti dokumentu. Klíčová vlastnost pro strukturu dokumentu a jeho databázového modelu.
own:: | ( [foreign | initial | lexicon ]:[{source-doc-name}]:[{service-absolute-reference}] ) | ( count::{expression} )
Atribut source je nepovinný a udává, zda budou segmenty ukládány do vlastních databázových polí nebo zda budou ukládány do polí segmentu jiného dokumentu či zda z nich budou do vlastních polí načítána a dojde tak ke vzájemné provázanosti dokumentů.
V části zabývající se metodami tvorby definice jsme se již problematikou propojení dokumentů zabývali v kapitole služby dokumentů. Nyní se podíváme na konkrétní možnosti vlastnosti source, která na zmíněné služby odkazuje, a která určuje způsob využití zdroje nebo definuje, že segment nemá propojení na jiné dokumenty.
Do atributu se zadává textový řetězec složený ze tří částí vzájemně oddělených dvojtečkami.
mechanismus:dokument:odkaz
-
mechanismus - určuje způsob propojení segmentu (prvku či oblasti) do ke zdroji nebo je zde uvedeno, že tento segment má vlastní zdroj
-
dokument - zde je obsažen název zdrojového dokumentu. Pokud segment neobsahuje propojení do cizího dokumentu, nebo pokud toto propojení určila již rodičovská oblast, je tato část prázdná
-
odkaz - absolutní odkaz na službu cizího dokumentu od kmene služeb cizího dokumentu nebo výraz pro výpočet dynamické hodnoty (viz dále)
Pokud máme cizí oblast (tj. source="initial:dok:/..." či ="foreign:dok:/..."), pak v této oblasti mohou být prvky a oblasti se zdrojem respektujícím zdrojový mechanismus nebo mechanismus own a respektující instanci (tj. u potomků se může vyskytovat source="::/..." nebo source="own::"). V propojení na zdroj u potomků není možné kombinovat mechanismy (u mechanismu s výše uvedenou výjimkou own::).
Příklady syntaxe
source="own::"
source="initial:clovek:/inicialy"
source="foreign:cenik:/polozka"
source="lexicon:cenik:/polozka"
source="count::sum(/polozka/cena_bez_dph)*./sazba_DPH"
Potenciální vlastnické uzly
Vlastnost source je možné uvést u následujících uzlů:
Podřízené stránky
2. Zdrojový dokument
Zde je v případě mechanismu foreign, initial či lexicon uveden název zdrojového dokumentu (resp. jeho typu) odkud se údaje přebírají. Je však možné jméno dokumentu neuvádět ani u těchto dvou metod. Je to tehdy, kdy z nějakého důvodu upřesňujeme potomka zdroje a jméno dokumentu je uvedeno u rodiče, který logicky čerpá rovněž z téže instance téhož typu zdrojového dokumentu. Uvedení či neuvedení typu dokumentu mezi dvojtečkami v atributu source má klíčový význam na vznik tzv. výběrového uzlu v daném dokumentu. Pokud totiž tento název uvedeme, znamená to při současném neuvedení odkazu do vlastnosti source-key (viz. dále) jednoznačně vznik uzlu, do kterého je volena instance vepsaného typu zdrojového dokumentu.
1. Mechanismus zdroje
Mechanismus obsahuje jedno z následujících klíčových slov:
3. Odkaz na službu dokumentu
U metod foreign, initial a lexicon je v této části uveden absolutní odkaz připomínající XPath bez výběrových podmínek (tj. bez hranatých závorek). Vminulé kapitole jsme se seznámili s existencí a významem služeb v dokumentu. Právě tento odkaz je nasměrován nikoli do nitra dokumentu, ale právě na některou z jeho služeb uvedených v tagu struktury services v rámci finální definice dokumentu. Prvním krokem odkazu hned za lomítkem je vždy jméno služby tj. klíčový identifikátor name segmentu area nebo element, které jsou potomky zmíněného tagu struktury services.