Požadavek save-draft
Účel a dopady
Uloží libovolný XML obsah jako rozpracovaný draft volajícího uživatele pod klíčem dkey a invaliduje jeho cachovaný seznam draftů.
Dostupnost, kontext, oprávnění apod.
Dostupné každému přihlášenému uživateli, vždy jen pro jeho vlastní drafty – server sám dosazuje ID volajícího uživatele.
XML požadavek (syntax + popis)
<request>
<save-draft
type="{string}"
dkey="{string}"
label="{string}"
type-label="{string}"
>
{libovolný XML obsah}
</save-draft>
</request>
Parametry a pravidla (atributy, potomci)
type- Typ dokumentu - Volný popisný text, server jej neinterpretuje ani nevaliduje proti XDS. (typ:string; nepovinný)dkey- Klíč draftu - Klíč, pod kterým se draft uloží; omezen na 32 znaků. (typ:string; nepovinný – chybí-li, ukládá se pod prázdný klíč)label- Štítek - Volný popisný text. (typ:string; nepovinný)type-label- Typový štítek - Volný popisný text. (typ:string; nepovinný)
Atribut user uváděný v dosavadní dokumentaci se při zpracování požadavku nečte – draft se vždy ukládá pod ID přihlášeného uživatele.
Potomek: libovolný vnořený XML obsah uzlu <save-draft> je serverem vzat doslovně a uložen jako obsah draftu – konvenčně bývá zabalen do document-set, server to ale nevyžaduje ani nekontroluje.
Význam prázdné a chybějící hodnoty
Je-li <save-draft> prázdný nebo sebeuzavírající, ukládá se NULL obsah namísto prázdného řetězce (stejný mechanismus jako u save-settings).
Příklady požadavku
(Zatím bez ověřeného příkladu.)
Zpracování a vedlejší účinky
Volá se uložená procedura pro zápis draftu; při úspěchu se invaliduje cache seznamu draftů daného uživatele (dotčen get-draft-list).
XML odpověď (syntax + popis)
<response>
<save-draft
type="ok|error"
user="{number}"
dkey="{string}"
detail="{string}"
/>
</response>
Příklady odpovědi
(Zatím bez ověřeného příkladu.)
Chyby a reakce
type="error" detail="Draft se nepodarilo ulozit"– uložená procedura vrátila neúspěch.type="error" detail="Pri provadeni doslo k chybe"– selhání na úrovni volání databáze; tato konkrétní chybová větev na rozdíl od ostatních dvou není sebeuzavírající – pokud se před chybou nashromáždily i jiné diagnostické zprávy, mohou se do odpovědi vypsat jako vnořené uzly error.
Atribut chybové odpovědi je detail. Dosavadní dokumentace chybně uváděla kořenový element odpovědi jako get-draft – ve skutečnosti je to save-draft.