Ukládání pseudo dokumentů

Uváděný příklad požadavků na ukládání pseudo-dokumentu. Podobným způsobem, jako získávání sestav ve formě pseudo-dokumentů, funguje i jejich ukládání. Tedy ukládání celých sad skutečních dokumentů prostřednictvím jednoho nebo několika pseudo typů definovaných v XDS. Výsledkem je XML informace o uložení či případné vzniklé chybě.

Samotný požadavek na uložení dokumentu vkládaný do obálky request má tuto formu:

syntax
<save-pseudo-document>
<kontakty>
...
</kontakt>
</save-pseudo-document>

V pseudo dokumentu jsou změněné prvky (tj. pojmenované uzly s textem, které již neobsahují žádné jiné uzly kromě tohoto textu) označeny atributem changed="true" a případné změny v propojení dokumentů pomocí primárních a cizích klíčů jsou označeny change-key="true". Server uloží jen tyto změněné údaje a ostatní ponechá. Případně je ještě provedeno uložení nových opakování, tj. kde skey="#…" (skey ~ segment-key - další podrobnosti viz. segmenty a metadata dokumentů).

Výsledkem požadavku save-pseudo-document ve vrácené obálce response je informace save-result, jenž má následující podobu:

<save-result type="ok" doc-type="kontakty"/>

Atribut type identifikuje úspěšnost uložení (viz. Identifikace chyb níže), atribut doc-type vrací informaci o typu uloženého dokumentu. Na rozdíl od běžných dokumentů se pak již atributy dkey a orig-dkey již samozřejmě nevyskytují.

V příkladu je patrné uložení sady kontaktů, resp. jejich označených úprav pomocí kontakty. Uložení změn jednotlivých instancí (rozklad) do typů kontakt je zajištěn pomocnými klíči uvnitř sestavy. Proto je pro správné uložení důležité, aby byly tyto klíče obsaženy, tj. aby pseudo typ kontakty byl nejprve platně získán, upraven a teprve potom uložen. Jinak bude docházet k přídávání nových instancí typu kontakt na místo jejich úpravy. Pro přidávání instancí kontakt ukládáním sestavy kontakty pak stačí zajistit znak "#" v jednotlivých pomocných klíčích v pseudo výběrových uzlech, které reprezentují uzly obsažených instancí sestavy.


Identifikace chyb

Identifikace chyb při ukládání pseudo-typů se odvíjí od případných chyb vzniklých při ukládání instancí dílčích typů sestavy pseudo dokumentu a vysvětlení jednotlivých hlášek tak najdete v identifikaci chyb běžných typů dokumentů.

Případné hlášky jsou pouze vraceny v jiné obálce odpovídající požadavku save-pseudo-document.


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