280 likes | 471 Views
XML Meets Forms. Micah Dubinko, CDIA Chief XML Architect Editor, W3C XForms Cardiff Software, Inc. 3220 Executive Ridge Drive Vista, CA 92083 www.Cardiff.com. Why Put Forms Online?. $22.5B Spent on Pre-Printed Forms (US) (DMIA Formtrac)
E N D
XML Meets Forms Micah Dubinko, CDIA Chief XML Architect Editor, W3C XForms Cardiff Software, Inc. 3220 Executive Ridge DriveVista, CA 92083 www.Cardiff.com
Why Put Forms Online? • $22.5B Spent on Pre-Printed Forms (US)(DMIA Formtrac) • 30% of Pre-Printed Forms Turn to Waste(DMIA Formtrac) • A Single Paper Form Costs An Organization $30 - $165 to Use, Process and Enter (Microsoft Study)
Historical eForm Approaches Have Limitations • Proprietary eForm formats - vendor lock-in • Client/server • Browser plugins • Java applets • Proprietary formats: XFDL, XFA • eForms = Programming • Unfriendly for non-technical users • Creation & maintenance of forms is IT-resource intensive • Few vendors offer migration path from paper • Getting from paper to eForms is slow, expensive • Once on eForms, no automated support for paper
“5 Phases of eForms” Phase5 “Design, Fill, Validate, Attach, Print/Submit, Route, Digitally Sign, and Output/Connect” Phase4 “Fill, Validate, Print/Submit and Route” Phase3 “Design, Fill, Validate, Print or Submit” Phase2 “Fill and Print” Phase1 “Print to PDF And Put Online”
World Web Consortium (W3C) XForms • XForms Working Group created to define a Web-based standard for presentation and information • W3C XForms Working Group • Members include Cardiff Software, IBM, Oracle, Netscape, HP, Xerox, Ericsson, Mozquito and others… • Author and technical editor of the draft specification
Agenda • The New XForms Standard • XForms Design Goals • XForms Quick Tour • XForms vs. Closed Systems • Preparing for XForms Today • Further Information
XForms Requirements • Define XML interface for eForms • Define form presentation format • Define data format and structure • Leverage XML Schema, later XML Digital Signature • Provide a suitable replacement for HTML forms • Provide greater Accessibility
XForms Design Goals • Be a good XML citizen • Seamless integration with other XML tag sets • Anywhere, anyone, any time, any device • Support for desktop browsers, handheld, phones, ATMs, gasoline pumps, etc… • Remove Script Dependencies • Richer user interface to meet the needs of business, consumer and device control applications • From simple client/server to n-tier • Decoupled data, logic and presentation
A Brief History of eForm Standards Pre-1993: Proprietary, Client/Server 1993: HTML forms 1994–2001: Nothing happened 2002: XForms
HTML Forms Limitations • Some Assembly Required • <input value=“initial value”> • Primitive Data Representation • URL encoded • Need Script to do anything… • Validations • Calculations • Dynamic Forms
XForms Conformance Profiles • Two conformance profiles to support wide range of devices • Basic: small devices, TV, phones, etc. • Full: desktop browsers, servers • High-level form control definitions • Flexibility in implementation
<head> </head> Purpose (non-visible) XForms Model <body> </body> Presentation Form controls How It Works • XForms separates the data from the form definition <html> </html>
W3C XML, XSL, etc. Core Standards Application Schemas W3C XForms, XML Sign Vendor Implementations Frameworks XForms ServicesDesigner/HTML/PDF/XML Web Server (Routing, etc) Connectivity (Data/Archive) Implementation Platform Tools User Presentation User Presentation HTML Adobe PDF Others via XSL How It Fits In
XForms Model • Defines the ‘Purpose’ of the form • Includes: • Instance Data • XForms specific properties and actions • Submit Information
XForms Model • Single, device-independent XML form definition • Works with standard or proprietary user interfaces
XForms Instance • Provides template for your data • Provides default or partially submitted data • Can be inline or referenced externally
XForms Without Scripting • XML Schema defines static constraints • Datatypes • minimum/maximum occurrences • XForms extends these with ‘computed expressions’ • Evaluated at runtime • Is something relevant or required? • Calculated fields
listbox checkbox radio menu XForms UI Controls • <selectOne ref="my:icecream/my:flavor"> <caption>Flavour</caption> <item><caption>Vanilla</caption><value>v</value></item> <item><caption>Strawberry</caption><value>s</value></item> <item><caption>Chocolate</caption><value>c</value></item></selectOne>
XForms form control Closest HTML equivalent Description <input> <input type="text"> For entry of small amounts of text <textarea> <textarea> For entry of large amounts of text <secret> <input type="password"> For entry of sensitive information <output> N/A For inline display of any instance data <range> N/A For smooth "volume control" selection of a value <upload> <input type="file"> For upload of file or device data <button> <button> For activation of form events <submit> <input type="submit"> For submission of form data <selectOne> <select> or <input type="radio"> For selection of one option among several <selectMany> <select multiple="multiple"> For selection of many options XForms Vs. HTML Controls
XForms Actions • Defines common set of behaviors for forms • Allows event processing without requiring Javascript
modeless ephemeral modal XForms Action • Messages • <message level=“ephemeral”>Please enter the number…</message> • <message level=“modal”>This field is required (Street)</message> • <message level=“modeless”>Have you forgotten your password</message>
XForms Submit Submit • Provides How, Where, and What to submit • Multiple models per page • Partial form submission • Default is ‘post’ of XML Instance
HTML Poor integration with XML Device dependent, running well only on desktop browsers Blending of purpose and presentation Limited accessibility features XForms Excellent XML and Schema integration Device independent, yet still useful on desktop browsers Strong separation of purpose from presentation Universal accessibility HTML vs. XForms
Shana Informed Format ShanaFiller Shana PureEdgeFiller PureEdge PureEdge Form Format JetformFiller FormFlow99 Format Jetform Client/Server eForms = Closed Systems User Experience Products Proprietary Format X X X X
Making the Transition Preparing for the future of eForms: • Deploy XML data through Web Services • RPC-style bad; Document-style good • Plain-old XML even better • Don’t assume browser-only access • Avoid dependence on HTML processing • Think beyond client-server • Embrace open standards
For More Information… • http://www.w3.org/TR/xforms/ • http://www.w3.org/MarkUp/Forms • http://www.xml.com/ • http://dubinko.info/ • Mailing List: • www-forms@w3.org Subj:“subscribe”