XFORMS JAKO NÁHRADA WEBOVÝCH FORMULÁŘŮ XFORMS - WEB FORMS SUCCESSOR



Podobné dokumenty
Inovace a zkvalitnění výuky prostřednictvím ICT Tvorba webových stránek. Ing. Zelinka Pavel Číslo: VY_32_INOVACE_35 17 Anotace:

Webová stránka. Matěj Klenka

Vývoj Internetových Aplikací

APLIKACE XML PRO INTERNET

Jazyk XSL XPath XPath XML. Jazyk XSL - rychlá transformace dokumentů. PhDr. Milan Novák, Ph.D. KIN PF JU České Budějovice. 9.

Předmluva k druhému vydání 13. Úvod 17. ČÁST 2 Vytváření dokumentů XML 65

Tvorba WWW stránek. Mojmír Volf

Škola: Gymnázium, Brno, Slovanské náměstí 7 III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN

Tvorba webu. Úvod a základní principy. Martin Urza

Uspořádání klient-server. Standardy pro Web

HTML Hypertext Markup Language

HTML - Úvod. Zpracoval: Petr Lasák

Obsah prezentace. Co je to XML? Vlastnosti. Validita

Mgr. Vlastislav Kučera přednáška č. 1

Tvorba WWW stránek. přehled technologií používaných na webu principy jednotlivých technologií a možnosti jejich vzájemného kombinování

Základy WWW publikování

Mgr. Vlastislav Kučera přednáška č. 1

Formuláře. Aby nám mohli uživatelé něco hezného napsat třeba co si o nás myslí!

MBI - technologická realizace modelu

Návrh a tvorba WWW stránek 1/8. Formuláře

24. XML. Aby se dokument XML vůbec zobrazil musí být well-formed (správně strukturovaný). To znamená, že splňuje formální požadavky specifikace XML.

Syntaxe XML XML teorie a praxe značkovacích jazyků (4IZ238)

Inovace výuky prostřednictvím šablon pro SŠ

XML terminologie a charakteristiky. Roman Malo

Internet 2 css, skriptování, dynamické prvky

HTML XHTML JavaScript PHP ASP.Net Zajímavé odkazy

Úvod do tvorby internetových aplikací

Kartografická webová aplikace. Přednáška z předmětu Počítačová kartografie (KMA/POK) Otakar Čerba Západočeská univerzita

Dnešní téma. Oblasti standardizace v ICT. Oblasti standardizace v ICT. Oblasti standardizace v ICT

Úvod do aplikací internetu a přehled možností při tvorbě webu

Microsoft Office 2003 Souhrnný technický dokument white paper

WWW a HTML. Základní pojmy. Ivo Peterka

Inovace výuky prostřednictvím šablon pro SŠ

Mgr. Stěpan Stěpanov, 2013

(X)HTML a CSS. VOŠ a SŠT Česká Třebová

Prezentace XML. XML popisuje strukturu dat, neřeší vzhled definice vzhledu:

Oracle XML DB. Tomáš Nykodým

Internetové publikování

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Úvodem Seznámení s HTML Rozhraní Canvas... 47

NSWI096 - INTERNET. Úvod do HTML

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka

1 Webový server, instalace PHP a MySQL 13

Základy XML struktura dokumentu (včetně testových otázek)

TÉMATICKÝ OKRUH Softwarové inženýrství

13. Vytváření webových stránek

MODERNÍ WEB SNADNO A RYCHLE

Jazyky pro popis dat

Základy informatiky. HTML, tvorba WWW stránek. Daniela Szturcová Část převzata z přednášky P. Děrgela

Požadavky pro výběrová řízení TerraBus ESB/G2x

Alena Malovaná, MAL305

Informace k e-learningu

Možnosti využití technologie XForms a XML+XSLT v PHP web aplikacích

NSWI096 - INTERNET JavaScript

ZNAČKOVACÍ JAZYKY A JEJICH VYUŽÍVÁNÍ MARKUP LANGUAGE AND THEIR USE. Zdeněk Havlíček

Web. Získání informace z internetu Grafické zobrazení dat a jejich struktura Rozšíření funkcí pomocí serveru Rozšíření funkcí pomocí prohlížeče

14. Jazyk HTML (vývoj, principy, funkce, kostra stránky). Jazyk XML, XHTML. Algoritmizace - cyklus for, while a do while, implementace v jazyce

Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal. Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni

1. Začínáme s FrontPage

Studijní průvodce e-learningovým kurzem. STRUKTURÁLNÍ FONDY A PROJEKTY v období

l Kontakt s klientem SSP Popis automatizované komunikace s ÚP ČR v součinnosti a exekuci

Programovací jazyky Přehled a vývoj

Software602 Form Designer

Další XML technologie

Studijní průvodce e-learningovými kurzy

Pokročilé techniky tvorby sestav v Caché. ZENové Reporty

Bottle -- příklad. Databáze. Testovací data. id Jedinečný identifikátor řádku: Bude typu INT s AUTO_INCREMENT a nastavíme ho jako primární klíč

Microsoft Access tvorba databáze jednoduše

Ukládání a vyhledávání XML dat

Formuláře. Internetové publikování. Formuláře - příklad

IE1 jazyk HTML a kaskádové styly

DUM 14 téma: Interakce s uživatelem

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Stručně o XML (výhody, nevýhody) Proč komprimovat XML? Metody komprese XML XMill. Optimalizace komprese XML. Závěr

Webové stránky. 2. Úvod do jazyka HTML. Datum vytvoření: str ánk y. Vytvořil: Petr Lerch.

Programování v PHP. Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze. Další možnosti formulářů

Databázové aplikace pro internetové prostředí PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku

Základní práce v souborovém manažeru

XML jako prostředek pro citování informačních zdrojů

3 MOŽNÉ PŘÍSTUPY K TVORBĚ APLIKACÍ NAD SVG DOKUMENTY

1. Webový server, instalace PHP a MySQL 13

IE1 jazyk HTML a kaskádové styly

Tvorba jednoduchých WWW stránek. VŠB - Technická univerzita Ostrava Katedra informatiky

Značkovací jazyky a spol. HTML/XHTML XML JSON YAML Markdown, Texy!

Systém elektronického rádce v životních situacích portálu

Internet 1 vývoj, html, css

DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída:

Logický datový model VF XML DTM DMVS

Měření teploty, tlaku a vlhkosti vzduchu s přenosem dat přes internet a zobrazování na WEB stránce

Tvorba webu v HTML. Redakční systém. CMS Joomla! Co je Joomla

CineStar Černý Most Praha

INFORMAČNÍ SYSTÉMY NA WEBU

NOVÉ TRENDY V OBLASTI WEBOVÝCH TECHNOLOGIÍ

Internet cvičení (X)HTML Jakub Klímek

Metodické doporučení ke zlepšení technické přístupnosti IS/STAG

Mgr. Vlastislav Kučera lekce č. 2

STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE

Transkript:

XFORMS JAKO NÁHRADA WEBOVÝCH FORMULÁŘŮ XFORMS - WEB FORMS SUCCESSOR Martin Smítka Souhrn Současný svět Internetu se velmi rychle vyvýjí a tento vývoj mění zažité způsoby tvorby webových stránek. Posun od klasického HTML směrem k syntakticky přísnějším formám značkování se projevuje i v oblasti webových formulářů. V současné době ještě nedokončená verze doporučení W3C XForms přináší novou koncepci práce s uživatelskými formuláři. XForms jsou založeny na XML a těží tak z veškerých výhod tohoto značkovacího jazyka. V této práci jsou demonstrovány výhody použití XForms na webových stránkách. Summary Present fast advancement of Internet world changes common ways of web pages development. The move from clasic HTML to more strict froms of markup also takes effect in web forms area. Currently unfinished version of W3C XForms recomendation brings new user web forms working concept. XForms are based on XML and so benefits from all advantages of this markup language. There are demonstrated advantages of XForms use in this these. Klíčová slova: XForms, XML, WWW, formuláře Key words: XForms, XML, WWW, forms Úvod Klasické HTML formuláře jsou neodmyslitelnou součástí webového rozhraní aplikací. Slouží pro zadávání údajů uživatelem a odeslání údajů na server, který je následně zpracuje. Tento základní princip je samozřejmě splněn i u XFroms, pouze způsob, kterým se toto děje je odlišný. Metodika Cíl: Seznámení s možnostmi XForms. Analýza dokumentů. Syntéza. Tvorba testovacích formulářů. Použitá terminologie Dokument. Slovem dokument je v textu mínět XForms dokument - dokument odpovídající specifikaci XML, obsahující značkování specifikace XForms.

Back-end. Ačkoliv je XForms určeno jako nástupce klasických HTML formulářů, lze očekávat, že budou použity i jiným způsobem a zpracovány jinak než jen webovým serverem. Back-endem je míněno jakékoliv zařízení/software, zpracovávající výstupy XForms dokumentu. Výsledky Vlastnosti XForms XForms jsou specifikací konzorcia W3C. XForms vešlo k 1. srpnu do stádia Proposed recomendation. XForms jsou zpětně nekompatibilní nástupce HTML formulářů. Při návrhu XForms vycházelo W3C z mnohaletých zkušeností s HTML. Díky nedostatkům HTML formulářů a požadavkům na nový standard je koncepce XForms zcela odlišná, odděluje vzájemně logiku, data a uživatelské rozhraní. I když mají XForms nahradit klasické HTML formuláře a stát se tak součástí HTML, mohou být použity v jiném druhu značkování, nebo stát zcela samostatně. Cíle při návrhu XForms 1 Podpora handheldů, televizních prohlížečů a desktop prohlížečů, tiskáren a scannerů Bohatší uživatelské rozhraní Oddělení dat, zpracování a prezentace Vylepšená internacionalizace Popdpora strukturovaných dat Vyspělá formulářová logika Více formulářů na stránce, stránek na formulář Integrace s ostatními sadami XML tagů XForms jsou aplikací XML, pro navigaci v dokumentu slouží výrazy xpath. Výstupem z formuláře jsou data ve formátu XML v kódování Unicode. Díky tomu, že jsou XForms postaveny na XML, jsou tyto formuláře použitelné na různých typech koncových zařízení. Formát XML se těší v současné době velké oblibě a tak jedna technologie použitá pro uložení, zpracování a přenos může usnadnit vývoj aplikace. Obr. 1 Postavení technologie XForms XForms používají pro navigaci v rámci dokumentu jazyk xpath, který však rozšiřují o některé nové funkce. Současná verze XForms (1.0) používa verzi 1.0 xpath. 1 Volně přeloženo z [1.]

Porovnání HTML a XForms formulářů HTML Slabá integrace s XML Závislé na koncovém zařízení (většinou pouze desktopy) Míchání obsahu a formy prezentace Omezený přístup XForms Založeno na XML Nezávislé na koncovém zařízení Oddělení obsahu od formy prezentace Univerzálně přístupné Struktura dokumentu Dokument XForms je dokumentem XML, měl by tedy obsahovat procesní instrukci určující, že jde o XML. Jmenný prostor pro XForms je URI: http://www.w3.org/2002/xforms. Schéma XForms Ve schématu je znázorněno postavení jednotlivých částí XForms. Obr. 2 Schéma XForms Model V modelu jsou definovány jednotlivé struktury dat formuláře, omezení a ostatní aspekty, tedy co daný formulář obsahuje. XForms procesor obsahuje pro každý model v paměti strukturu, nazývanou instance, odpovídající datovému modelu jazyka xpath. Pokud by dokument používal rozšiřující funkce jazyka xpath, musí být v modelu obsažena jejich deklarace, aby procesor, který tyto funkce neimplementuje, mohl vyvolat výjimku již při načítání. Model je oddělený od ostatních částí a je znovupoužitelný v ostatních formulářích (např. s jinou grafickou reprezentací). V jediném formuláři se může vyskytnout i několik modelů. Element modelu <model> je v XHTML dokumentu umístěn v sekci <head>. V atributu modelu může být také obsažen odkaz na XML Schema, nebo Schema samotné, které obsahuje deklaraci typu dokumentu. Instance V elementu <instance> je volitelná část dokumentu, která obsahuje výchozí data. Data jsou ve formátu XML a dokument je nemusí obsahovat přímo, mohou být odkazovány pomocí linku. Instance je datový model jazyka xpath uložený v paměti, nezávislý na výchozích datech. Tato data mohou být spřažena s ovládacími prvky, nebo nemusí být vůbec

ve formuláři použita. Díky tomu, že jsou data uložena mimo uživatelské rozhraní, odpadá nutnost použít skrytá pole z HTML. Na instanci nelze pohlížet ani jako na výsledný XML dokument, který bude odeslán back-endu k zpracování, neboť lze odeslat jen část instance, a ani jako na data, uložená v elementu <instance>, neboť formulář nemusí obsahovat výchozí data a tudíž ani element <instance>. Submission Každý formulář je určen k odeslání na server k zpracování formulářových dat. Tento element obsahuje adresu back-endové aplikace a parametry přenosu. Bind Element <bind> vybere sadu uzlů z instance dat a sváže ji buď s uživatelským vstupem, nebo s dalšími hodnotami v instanci. Uživatelské rozhraní V této části dokumentu jsou instrukce pro formátování a zobrazení ovládacích prvků. Lze samozřejmě použít kaskádové styly a šablony XSLT. Obr. 3: Stavební prvky XForms Uživatelské rozhraní určuje, jak je datový model začleněn do stránky. Může to být pomocí atomárních (např. <input> a <output>), nebo pomocí složených ovládacích prvků (<group>, <switch> a <repeat>), které shlukují a organizují prvky atomární. Některé ovládací prvky (např. <select>)mají možnost výběru typu zobrazení. Je možné si vybrat např. mezi plným (full), kompaktním (compact) a minimálním (minimal) zobrazením, přičemž specifikace nechává prostor pro vlastní implementaci na jednotlivých zařízeních. XForms podporují téměř všechny datové typy z XML Schema kromě xsd:duration, xsd:entity, xsd:entities a xsd:notation, přičemž existují drobné odchylky mezi

sadami datových tytpů XForms a XML Schema. Tyto drobné rozdíly vznikly díky oddělenému vývoji obou specifikací. XForms Actions a procesní model dovolují mnohem propracovanější manipulaci s instancí. Ačkoliv neodbourají plně nutnost použít skriptování, mohou omezit skripty pro rutinní operace. Záměrem tvůrců bylo odstranit 20% skriptů, které provádějí 80% činnosti. Výrazy jazyka xpath slouží k adresování dat v instanci, provádění výpočtů a k vyjádření omezení ve výrazech. Neadresují tedy XForms dokument, což je drobný rozdíl od klasických XML dokumentů. Porovnání některých tagů XForms HTML <input> <input type="text"> <textarea> <textarea> <secret> <input type="password"> <output> není <range> není <upload> <input type="file"> <trigger> <button> <submit> <input type="submit"> <select> <select multiple="multiple"> nebo vícekrát <input type="checkbox"> <select1> <select> nebo vícekrát <input type="radio"> Závěr Koncept XForms, oddělující data od uživatelského rozhraní, má za následek několik vlastností, které zcela určitě napomohou jejich širokému rozšíření, a to nejen jako náhrada klasických HTML formulářů. Oddělení dat od zobrazení umožňuje znovupoužití již vytvořeného kódu (Schémat a instance) a jeho vyšší přehlednost. Jako aplikace XML těží z veškerých výhod tohoto značkovacího jazyka, včetně internacionalizace a struktury dobře čitelné pro lidi, i snadno zpracovatelné programovým kódem. Použitím jmenných prostorů lze integrovat do dokumentu i jiné značkovací instrukce a aplikace XML. Z pohledu vlastností formulářové logiky dávají XForms spolu s XML Events možnosti, které byly v HTML formulářích možné pouze s použitím skriptovacích jazyků, popřípadě zvýšeným počtem dotazů a odpovědí na server. Přínosem jsou také výpočty jazyka xpath, automatické opakováním částí dokumentů a podmíněně zobrazitelné sekce formuláře. Možnost podmíněně zobrazit části formuláře dává možnost vytvořit několikastránkové formuláře bez nutnosti odesílat požadavky na server. V jednom dokumentu lze také použít několik modelů a tím vytvořit samostatné instance na jedné stránce, nebo je vzájemně kombinovat a provázat V současné době jsou k dispozici pouze 2 implementace XForms, které plně vyhovují standardu. Prvním z nich je samostatně stojící program X-Smiles, a druhou plug-in pro Microsoft Internet Explorer 6.0 Sp1.. Návrhy k diskusi Je nezávislost XForms na druhu koncového zařízení vždy výhodou? Kdy bude možné reálné použití?

Použitá literatura [1.] http://www.w3.org/markup/forms/ [2.] http://www.w3.org/tr/xforms/ [3.] http://www.w3schools.com/xforms/default.asp [4.] http://www.globetechnology.com/servlet/story/rtgam.20030807.gtkapica0807/b NStory/einsider/?query=Jack+Kapica [5.] http://www.globetechnology.com/servlet/story/rtgam.20030813.gtw3c0813/bnst ory/technology/ [6.] http://www.globetechnology.com/servlet/story/rtgam.20030811.gtmslett0811/bn Story/Technology/ [7.] http://builder.com.com/5100-6371-5055047-2.html [8.] http://www.xml.com/pub/a/2001/09/05/xforms.html [9.] http://www-106.ibm.com/developerworks/web/library/x-xforms/?loc=dwmain Seznam zkratek HTML Hypertext Markup Language XML extensible Markup Language XSLT extensible Stylesheet Language Transformation Příloha - ukázkový dokumen XForms <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/tr/xhtml-basic/xhtml-basic10.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:kr="http://pef.czu.cz/~krysolet" xmlns:xforms="http://www.w3.org/2002/xforms/cr" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"> <!--xmlns:xforms="http://www.w3.org/2002/xforms"--> <head> <xforms:model id="repout"> <xforms:instance> <kr:report> <kr:createdby> <kr:pers></kr:pers> </kr:createdby> </kr:report> </xforms:instance> <xforms:submission id="sub2" localfile="out4b" method2="postxml" /> </xforms:model> <xforms:model id="comp"> <xforms:instance> <kr:comp> <lang /> <kr:proc> <kr:freq>1thz</kr:freq> <kr:type>cc</kr:type> </kr:proc> <kr:disks xsi:type="xsd:decimal" /> <kr:hdd> <kr:name /> <kr:capacity />

<kr:rpm /> </kr:hdd> <kr:tech> <kr:pers>egg</kr:pers> <kr:pers>krysolet</kr:pers> <kr:pers>olorin</kr:pers> </kr:tech> </kr:comp> </xforms:instance> <xforms:bind nodeset="//kr:freq" id="fn" /> <xforms:bind nodeset="//kr:disks" id="iddisks" type="xsd:decimal" /> <xforms:submission id="sub1" localfile="out4" method2="postxml" /> </xforms:model> </head> <body> <xforms:output ref="/kr:proc/kr:freq"> <xforms:label>proc</xforms:label> </xforms:output> <xforms:input model="comp" ref="//kr:type"> <xforms:label>evč</xforms:label> <xforms:hint>evidenční číslo</xforms:hint> </xforms:input> <xforms:input model="comp" bind="fn" /> <hr /> <xforms:select model="comp" ref="/kr:comp/kr:hdd/kr:name" appearance="minimal"> <xforms:label>disky</xforms:label> <xforms:hint>lze vybrat více</xforms:hint> <xforms:choices> <xforms:label>seagate</xforms:label> <xforms:value>seagate</xforms:value> <xforms:label>western Digital</xforms:label> <xforms:value>western_digital</xforms:value> <xforms:label>ibm</xforms:label> <xforms:value>ibm</xforms:value> </xforms:choices> </xforms:select> <xforms:select1 model="comp" ref="/kr:comp/kr:hdd/kr:rpm" appearance="minimal"> <xforms:label>otáčky</xforms:label> <xforms:hint>lze vybrat pouze 1</xforms:hint> <xforms:choices> <xforms:label>10 000</xforms:label> <xforms:value>10000</xforms:value> <xforms:label>7 200</xforms:label> <xforms:value>7200</xforms:value>

<xforms:label>5 400</xforms:label> <xforms:value>5400</xforms:value> </xforms:choices> </xforms:select1> <xforms:trigger> <xforms:label>click here</xforms:label> <xforms:message ev:event="click" level="ephemeral" model="comp" ref="/kr:comp/kr:hdd/kr:name" /> </xforms:trigger> <hr /> <xforms:switch> <xforms:case id="in" selected="true"> <xforms:input model="comp" ref="/kr:comp/kr:hdd/kr:capacity"> <xforms:label>please inser disk capacity</xforms:label> <xforms:toggle ev:event="domactivate" case="out" /> </xforms:input> </xforms:case> <xforms:case id="out" selected="false"> <p>inserted: <xforms:output model="comp" ref="/kr:comp/kr:hdd/kr:capacity" /> <xforms:trigger id="editbutton"> <xforms:label>edit</xforms:label> <xforms:toggle ev:event="domactivate" case="in" /> </xforms:trigger> </p> </xforms:case> </xforms:switch> <hr /> <xforms:select model="repout" ref="/kr:report/kr:createdby"> <xforms:label>zpracoval</xforms:label> <xforms:itemset model="comp" nodeset="/kr:comp/kr:tech"> <xforms:label ref="kr:pers" /> <xforms:copy ref="kr:pers" /> </xforms:itemset> </xforms:select> <xforms:range model="comp" bind="iddisks" end="10" ref="/kr:comp/kr:disks" start="0" step="1"> <xforms:label>počet disků <xforms:output model="comp" bind="iddisks" /> </xforms:label> </xforms:range> <xforms:submit model="comp"> <xforms:label>submit1</xforms:label> </xforms:submit> <xforms:submit model="repout"> <xforms:label>submit2</xforms:label> </xforms:submit> </body> </html>