Příklad pro rozpracované dokuementy

Požadavek na získání rozpracovaného dokumentu:

syntax
<get-draft type="kontakt" dkey="123"/>

a požadavek na odstranění rozpracovaného dokumentu:

syntax
<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í:

example
<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:

example
<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.


Identifikace chyb při ukládání XML dokumentůIdentifikace chyb při ukládání XML dokumentůPříklad požadavků na pseudo-dokumentyUkládání pseudo dokumentůEvidence historie změn dokumentůPříklad pro rozpracované dokuementyPřímé SQL dotazy do databázePříklady práce se souboryPříklad XML nastaveníPříklad seznamu naplánovaných úlohPříklad naplánování úlohyPříklad odložení požadavku do-requestPožadavek registerPožadavek register-listPožadavek register-delPříklad transformPříklad spuštění akcePříklad spouštění akcí pomocí zpráv