Pseudo-dokumenty představují zvláštní typ logických sestav, které nejsou skutečnými dokumenty v databázi, ale jsou odvozeny z reálných (základních) dokumentů. Jedná se o virtuální konstrukty, které seskupují vybrané části a instance různých typů dokumentů do jednotné struktury – podobně jako běžný dokument, avšak bez vlastního fyzického záznamu v databázové tabulce.
Tyto dokumenty jsou definovány prostřednictvím XDS schématu, kde jsou označeny jako pseudo pomocí vlastnosti pseudo. Tato vlastnost slouží k tomu, aby bylo možné určit, že daný typ dokumentu nemá vlastní uložení, ale je skládán z částí jiných typů. Klíčovým aspektem pseudo-dokumentů je jejich parametrizace – konkrétní sestava je vytvořena na základě hodnot dodaných při volání, nebo odvozena z jiného typu přes klíčové slovo of.
Zápis definice může například vypadat takto:
pseudo = of:kntkt | number:user_id
Zde pseudo-dokument využívá data z dokumentu kntkt (kontakty) a je parametrizován číslem user_id, podle kterého se vyberou konkrétní záznamy.
Příklad požadavku na pseudo-dokument
Následující ukázka představuje požadavek na získání pseudo-dokumentu typu prehled_kontaktu_spravce, pro správce s ID 1234:<request> <get-pseudo-document> <document name="prehled_kontaktu_spravce"> <param name="user_id">1234</param> </document> </get-pseudo-document> </request>
Odpovědí na tento požadavek bude struktura odpovídající běžnému dokumentu, sestavená na základě předdefinovaných vazeb v XDS. Může vypadat například takto:
<response> <document-set> <document name="prehled_kontaktu_spravce"> <section> <field name="jmeno">Jan</field> <field name="prijmeni">Novák</field> <field name="email">jan.novak@example.com</field> </section> <section> <field name="jmeno">Eva</field> <field name="prijmeni">Králová</field> <field name="email">eva.kralova@example.com</field> </section> </document> </document-set> </response>