Příklad pro rozpracované dokuementy
Požadavek na získání rozpracovaného dokumentu:
<get-draft type="kontakt" dkey="123"/>
a požadavek na odstranění rozpracovaného dokumentu:
<remove-draft type="kontakt" dkey="123"/>
Každý uživatel tedy může mít v určitý okamžik jeden nebo několik rozpracovaných dokumentů, které čekají na zpracování nebo zrušení. Pro úplnost je tedy k zapotřebí ještě seznam rozpracovaných dokumentů. Požadavek na seznam rozpracovaných dokumentů uživatele do obálky request je tento:
<get-draft-list/>
Výsledek požadavku na seznam rozpracovaných má v obálce response následující syntaxi:
<get-draft-list-result type="Ok" user="1">
<row user="5"
type="kontakt" dkey="#123"
label="" tplabel="Kontakt"
update="15.04.2004 14:30:21"/>
</get-draft-list-result>
Určení velikostí:
dkey a dkey - max 32 znaků (dkey nového obsahuje # před číslem)
type, label, tplabel - max 256 znaků
update - datum a čas posledního uložení generovaný serverem.
Poznámka: Atribut user je do výstupu serverem vždy nastavován na platné číslo přihlášeného uživatele.
Identifikace chyb
Při ukládání rozpracovaného dokumentu se nikterak nekontroluje jeho obsahová správnost a jediné, co je třeba dodržet je platnost z hlediska obecného XML (to ale logicky platí o všech požadavcíh). Proto server nemá zvláštní kontroly pro účely ukládání rozpracovaných. Například na požadavek <get-draft-list/> v podstatě není možné dát neplatnou odpověď, protože daný uživatel je již přihlášen.
Vynecháte-li v hlavičce požadavku například některý ze základních identifikačních atributů nebo i všechny tři, server stále hlásí platné uložení:
<save-draft type="ok" user="1" dkey=""/>
Požadavek <save-draft>...</save-draft> se i skutečně uloží, jen je třeba respektovat nezadání vynechaných atributů i v požadavcíh get-draf a remove-draft - pak budou i tyto fungovat a XML bez identifikátorů odstraní. Důsledek nezadání identifikačních atributů je rovněž patrný ve výsledku get-draft-list-result, kde atributy budou chybět.
Naproti tomu při získávání konkrétního draftu je třeba správně zadat min. dva povinné identifikátory požadované položky (pokud byly zadány na vstupu) type a dkey. Atribut user, jak již bylo řečeno, uváděn být nemusí a dokonce může být i neplatný, server jej ignoruje. Požádáme-li si tak o náš dokument kontakt, aniž bychom jej před tím do rozpracovaných uložili, vrátí server v obálce response následující problém:
<get-draft type="error" user="5" dkey="1234" detail="Nenalezen"/>
Všimněte si, že server bohužel přepíše původní typ v požadavku typem error a není tedy možné jednoznačně identifikovat, se kterým dokumentem problém vznikl v případě, že žádáme v rámci obálky request o více rozpracovaných najednou. Odpovědi jsou ale i zde vraceny ve stejném pořadí v jakém byly dotazovány.