Přejít na obsah
Skip to main content

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
  1. mechanismus - určuje způsob propojení segmentu (prvku či oblasti) do ke zdroji nebo je zde uvedeno, že tento segment má vlastní zdroj

  2. 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á

  3. 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ů:

  • element - prvek (segment uvnitř definice);

  • area - oblast (segment uvnitř definice);

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.

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.