1 / 15

XForms

XForms. TU Delft Library Digitale Productontwikkeling. Egbert Gramsbergen. XForms. Wat is het? Waarom bestaat het? Hoe werkt het? Waar kom je ze tegen? Orbeon Demo. Wat is XForms?. “Next generation” web formulieren W3C Recommendation Als module host language (XHTML, SVG, …)

jesse-bush
Download Presentation

XForms

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XForms TU Delft Library Digitale Productontwikkeling Egbert Gramsbergen

  2. XForms • Wat is het? • Waarom bestaat het? • Hoe werkt het? • Waar kom je ze tegen? • Orbeon • Demo

  3. Wat is XForms? • “Next generation” web formulieren • W3C Recommendation • Als module host language (XHTML, SVG, …) • Vervangt HTML formulieren in XHTML 2.0 • Ook voor telefoons, PDA’s, … • XForms doelen: • Ontkoppelt data, logica and presentatie • XML in, XML uit • Vereenvoudigt ontwerp van web formulieren • Minder client-side (JavaScript) code • Minder server-side code • Meer functionaliteit!

  4. Wat is er mis met HTML Formulieren? • Primitieve data representatie • name/value paren, URL encoded • Data & presentatie door elkaar • Assemblage nodig voor beginwaarden • <input value=“initial value”> • Scripting nodig voor ongeveer alles… • Validatie • Berekeningen • Dynamische formulieren (tabs, repeterende onderdelen, onderling afhankelijke drop-down lijsten, …) => Hoge kosten voor ontwikkeling en support.

  5. <head> </head> Doel (onzichtbaar) XForms Model <body> </body> Presentatie Form controls Hoe het werkt Tweedeling: <html> </html>

  6. XForms Model en instance • Model bevat: • Instance data • XML Schema (constraints voor instance data) • XForms (dynamische) constraints • Submit informatie • Privacy informatie (P3P) • Instance: • Template voor (default) data • inline of ref naar extern • Zorgt voor “instance DOM” • “instance DOM” continu upgedeet (vgl. spreadsheet) • Deel van “instance DOM” wordt serialiseerd en gesubmit

  7. XForms Model - voorbeeld <model id=“p1”> <schema src=“. . .” /> <instance xmlns=“”> <my:age/> </instance> <bind ref=“age” type=“xsd:integer” . . . /> <submission action=“. . .” /> </model> >1 instances en submissions mogelijk

  8. Scriptloos! • XML Schema: statische constraints • Datatypes • minimum/maximum occurrences • XForms breidt dit uit met ‘computed expressions’ (runtime) • Is iets relevant of verplicht? • Berekende velden • XPath expressies

  9. XForms Submission <submision> definieert • Wat – een deel van de “instance DOM” • Waar – target URI • Hoe – protocol • Response – wat gebeurt er na submit Protocol: post (default), get, put kan ook direct praten met web services

  10. XForms UI controls (1) • Knoop vast aan model met xpath expressies of id • Labels & hints voor gebruiker • Suggesties voor presentatie • CSS styling Controls: <= kan overal in pagina, er is geen<form> <input> <output> <secret> <textarea> <range> <upload> <select> <select1> <trigger> <submit> en verder… <group> <switch> <itemset> <repeat>

  11. XForms UI Controls (2) <select1 ref="my:icecream/my:flavor"> <label>Flavour</label> <item><label>Vanilla</label><value>v</value></item> <item><label>Strawberry</label><value>s</value></item> <item><label>Chocolate</label><value>c</value></item></select1> En verder…. XForms Actions (setvalue, setfocus, toggle, load, …)aangestuurd door XML events (DOMActivate, DOMFfocusIn, xforms-submit-error, xforms-model-construct-done, …)

  12. Client-side XForms Web browsers • Mozilla / Firefox (add-on, binnenkort geïntegreerd) • Div. plugins, o.a. voor IE (FormsPlayer, FormsFaces, …) Niet-web clients • Open Office • IBM Lotus Forms, X-Smiles, … Vijand: Microsoft (concurrentie voor InfoPath)

  13. Server-side XForms Huh? • XForms op server • Wordt op server vertaald • in (x)html + javascript/AJAX Gebeurt meer dan je denkt! Onzichtbaar van de buitenkant Software • Orbeon (open source) • Chiba (open source)

  14. Orbeon http://www.orbeon.com/ Server-side XForms+ enkele uitbreidingen (o.a. XPath2.0, AVT’s) Afhandeling formulieren: • page flow controller • xml pipelines (xpl)met library van processoren (zelf uit te breiden):xslt, SQL, XML db, LDAP, email, images, pdf, … -> complete apps in xml !

  15. Orbeon (2) Versch van den persch: http://www.w3.org/MarkUp/Forms/ It’s demo time ! [2]

More Related