Příklad požadavků na pseudo-dokumenty

Upravit obsah stránky

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>

Shrnutí

Pseudo-dokumenty slouží k vytváření flexibilních sestav dat, aniž by bylo nutné ukládat je jako nové typy dokumentů. Umožňují agregaci záznamů z různých zdrojů, práci s parametry a jejich použití v dotazech, exportech, tisku i externí integraci.