|
![]() | Uložení formulářů v databázi a jejich použití | ![]() | Integrace XML formulářů s databází | Přenos dat z formuláře do databáze | ![]() |
XML formuláře často obsahují číselníky, z nichž se vytvářejí například nabídky v combech. Pokud se obsah číselníku může s časem měnit, je účelné propojit číselník s databází tak, aby se při každém otevření formuláře aktualizovaly nabídky založené na číselníku.
V návrhu formuláře lze specifikovat URL, odkud se má přečíst aktuální obsah číselníku. Toto URL má tvar:
http[s]://<host_name>[:<port_number>]/[<path>/]602.php/<server_name>/<schema_name>/DAD/<dad_object_name>[?<parameters>]dad_object_name je jméno DAD uloženého na serveru server_name ve schématu schema_name. Tento DAD musí vytvářet XML soubor s odpovídající strukturou.
Server, který poskytuje data pro aktualizaci číselníků, by měl umožnit anonymní přístup přes web XML rozhraní.
Nechť číselník je tvořen dvojící Polozka a Id z dotazu SELECT cis_jed+' (žadatel: '+prijmeni+' '+jmeno+')' AS polozka, id, cis_jed FROM Zadosti_tab ORDER BY cis_jed
DAD je navržen takto:
i XML Top: SELECT cis_jed+' (žadatel .... E <list> E <listitem> TABLE base_cursor At itemtext="polozka" At value="id" E /<listitem> E /<list>Globálně je pro tento DAD definován jmenný prostor http://software602.cz/forms a prefix fm. Výsledná XML data jsou např.
<?xml version="1.0" encoding="UTF-8" ?> <fm:list xmlns:fm="http://software602.cz/forms"> <fm:listitem itemtext="MD-1000 (žadatel: Novák Petr)" value="1000"/> <fm:listitem itemtext="MD-1001 (žadatel: Veselý alois)" value="1001"/> ... </fm:list>V prostředí 602XML Designeru se číselník definuje v okně Možnosti formuláře, záložka Číselníky. V okně Přidat nový do pole Nahrát data ze souboru se zapíše přímo HTTP požadavek podle popisu výše nebo, je-li formulář otevírán přímo z databáze, pomocí výrazu $(Eval(... popsaného na stránce Integrace formulářů s databází.
![]() | Uložení formulářů v databázi a jejich použití | ![]() | Integrace XML formulářů s databází | Přenos dat z formuláře do databáze | ![]() |