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 atribututypeodpovídajícího uzludocument-setv odpovědi; na zpracování jednotlivých potomkůdocumentnemá žádný vliv – typ každého dokumentu se čte samostatně zdocument/@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ý uzeldocumentbeze 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ý uzeldocumentbeze stopy vynechán)opt-roles- Volitelná role - Přepíše pro tentodocumentroli zděděnou zget-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
documentserver dohledá dokumentový typ podletypea načte aktuální (nehistorickou) verzi dokumentu. - Je-li
typeneznámý nebodkeynelze převést na číslo, je odpovídajícídocumentbeze stopy vynechán – nevznikne žádný element anierror. - I při platném typu/
dkeyje dokument tiše vynechán bez chyby, pokud dokument s danýmdkeyneexistuje, role volajícího (případně přepsaná přesopt-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ý
documentdo odpovědi vloží diagnostické uzlyerrora 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 uzlyerror(diagnostický neúspěch), viz sekce Zpracování. - Výraz pro identifikaci diagnostické chyby v odpovědi:
document-set[error].
Související požadavky
- get-history – čtení historických verzí téhož dokumentu.
- get-pseudo-document – obdobné čtení pro pseudo-dokumenty.
- save-document – uložení dokumentu.
- set-metadata – zápis jen metadat dokumentu.