Přejít na obsah
Skip to main content

Požadavek get-document

Účel a dopady​

Načte jeden nebo více aktuálních (nikoli historických) flexideo dokumentů podle typu a dkey a vrátí je jako XML. Požadavek nic nemění, jen čte.

Dostupnost, kontext, oprávnění apod.​

  • Dostupné každému přihlášenému uživateli; viditelnost konkrétního dokumentu se řídí přístupovými pravidly dané role (pohled role, administrativní filtr) – viz sekce Zpracování.
  • Žádné zvláštní privilegium (např. r_admin) není na úrovni požadavku vyžadováno.

XML požadavek (syntax + popis)​

<request>
<get-document
type="{string}"
opt-roles="{string}"
>
<document ... /> *
</get-document>
</request>

Parametry a pravidla (atributy, potomci)​

  • type - Typ pro obálku odpovědi - Hodnota se beze změny přenese do atributu type odpovídajícího uzlu document-set v odpovědi; na zpracování jednotlivých potomků document nemá žádný vliv – typ každého dokumentu se čte samostatně z document/@type. (typ: string; nepovinný)
  • opt-roles - Volitelná role - Výchozí volitelná role pro všechny vnořené document, které ji sami nepřepíšou. (typ: string; nepovinný)

Potomek: document (0 a vícekrát) – zpracují se jen potomci doslova pojmenovaní document, ostatní se ignorují.

Uzel document​

<document
type="{string}"
dkey="{number}"
opt-roles="{string}"
/>
  • type - typ dokumentu - Typový název dokumentu definovaného v XDS; použije se k vyhledání dokumentové třídy. (typ: string; nepovinný – chybí-li nebo je neplatný, je celý uzel document beze stopy vynechán)
  • dkey - PDK dokumentu - Primární klíč instance typu dokumentu dle databáze. (typ: number; nepovinný – nelze-li převést na číslo, je celý uzel document beze stopy vynechán)
  • opt-roles - Volitelná role - Přepíše pro tento document roli zděděnou z get-document/přihlášení. (typ: string; nepovinný)

Uzel nemá další potomky.

Příklady požadavku​

(Zatím bez ověřeného příkladu.)

Zpracování a vedlejší účinky​

  • Pro každý platný potomek document server dohledá dokumentový typ podle type a načte aktuální (nehistorickou) verzi dokumentu.
  • Je-li type neznámý nebo dkey nelze převést na číslo, je odpovídající document beze stopy vynechán – nevznikne žádný element ani error.
  • I při platném typu/dkey je dokument tiše vynechán bez chyby, pokud dokument s daným dkey neexistuje, role volajícího (případně přepsaná přes opt-roles) pro daný dokument nemá dostupný pohled nebo administrativní filtr (vazba na akční registr či uzel dokumentu) přístup zamítne. V posledním případě se do XML odpovědi nic nepromítne.
  • Teprve selhání na úrovni načtení dat (např. výpadek databáze při čtení dokumentu nebo chyba administrativního filtru) způsobí, že se pro daný document do odpovědi vloží diagnostické uzly error a požadavek skončí neúspěchem.
  • Úspěšně nalezený a přístupný dokument je vepsán přímo jako svůj vlastní kmenový element (<{typ dokumentu} dkey="…">…</{typ dokumentu}>), ne obalený žádným dalším uzlem.

XML odpověď (syntax + popis)​

<response>
<document-set
type="{string}"
>
<{fxd-doc-type} dkey="{key}">...</{fxd-doc-type}> *
<error ... /> *
</document-set>
</response>

Obecný tvar document-set viz sdílený typ document-set – tato odpověď navíc oproti sdílenému popisu může nést atribut type (echo požadavku) a přímé potomky error (viz níže).

Příklady odpovědi​

(Zatím bez ověřeného příkladu.)

Chyby a reakce​

  • Požadavek jako celek nemá vlastní chybový atribut status/type – neúspěch jednotlivého dokumentu se projeví jen vynecháním elementu (tichý neúspěch) nebo vloženými uzly error (diagnostický neúspěch), viz sekce Zpracování.
  • Výraz pro identifikaci diagnostické chyby v odpovědi: document-set[error].

Související požadavky​