Integrace formulářů s databází přes rozhraní web XML

Formuláře ze systému 602XML (tj. navržené programem 602XMLDesigner a zobrazované pomocí programu 602XMLFiller) lze integrovat s databází několika způsoby. Při méně těsné integraci se data předávají přes soubory ve formátu XML. Těsnější propojení vede přes web XML rozhraní.

Formuláře pro 602XMLFiller mohou být uloženy v databázové aplikaci jako objekty typu XML Formulář. Pokud jsou určeny pro práci s daty z databáze, podle použití rozlišujeme sestavy (pro needitovatelné výstupy dat) a interaktivní formuláře sloužící pro zadávání dat do databáze nebo editaci dat.

Jednotlivé subsekce popisují různé stránky integrace formulářů s databází.

XML formuláře přenositelné mezi databázemi

Formulář může obsahovat odkazy na zdrojová data případně číselníky. Pokud jsou tato data uložená také v databázi, lze se na ně odvolávat pomocí příslušné URL adresy. Např. URL pro naplnění sestavy daty z počítače http://MujWeb.cz, databáze MujServer a schematu MojeSchema pomocí DAD jménem getxml ze záznamu s ID rovným 12345 může pak být:

http://MujWeb.cz/602.php/MujServer/MojeSchema/DAD/getxml?ID=12345
Je-li návrh formuláře uložen jako objekt v databázi, je možné tuto URL specifikovat jako parametrizovatelný výraz, který 602XMLFiller vyhodnotí až při otevírání formuláře. Výraz má tvar:
$(Eval("StrCat(GetFormParam(/host_name),{/},GetFormParam(/host_path_prefix),{602.php/},GetFormParam(/host_sql_server),{/},GetFormParam(/host_sql_schema),{/DAD/JmenoDADu?ParametryDADu})"))
kde host_name, host_path_prefix, host_sql_server a host_sql_schema jsou jména parametrů. Tyto parametry se při expertu formuláře z databáze naplní aktuálními hodnotami a přidají se k formuláři jako zvláštní element.

602.php a DAD jsou konstanty

JmenoDADu je jméno DADu, který má zajistit příslušný export nebo import

ParametryDADu je případný seznam parametrů importu nebo exportu

Takto utvořené URL má jednu podstatnou výhodu: formulář bude funkční nezávisle na jménu počítače, serveru, schématu a na umístění souboru 602.php. Databázové aplikace využívající takové formuláře budou snadno přenositelné mezi servery.

URL pro uložení dat z formuláře do databáze pomocí DAD jménem savexml může pak být:

$(Eval("StrCat(GetFormParam(/host_name),{/},GetFormParam(/host_path_prefix),{602.php/},GetFormParam(/host_sql_server),{/},GetFormParam(/host_sql_schema),{/DAD/savexml})"))

URL pro aktualizaci číselníku ve formuláři pomocí DAD jménem getnamedvalues může pak být:

$(Eval("StrCat(GetFormParam(/host_name),{/},GetFormParam(/host_path_prefix),{602.php/},GetFormParam(/host_sql_server),{/},GetFormParam(/host_sql_schema),{/DAD/getnamedvalues})"))