360 likes | 478 Views
Introduction to W3C XForms. The Future of Web Forms. Micah Dubinko. About Your Guide. Lead editor of XForms specification Software Engineer for Cardiff Software Book and magazine articles Contributing Editor http://www.xmlhack.com/ CDIA certified mdubinko@Cardiff.com
E N D
Introduction to W3C XForms The Future of Web Forms Micah Dubinko
About Your Guide • Lead editor of XForms specification • Software Engineer for Cardiff Software • Book and magazine articles • Contributing Editor http://www.xmlhack.com/ • CDIA certified • mdubinko@Cardiff.com • http://dubinko.info/xforms/
What We’ll Talk About • The “Big Picture” • What are XForms? • What does it all mean?
Part 1 The Big Picture
A Brief History of Web Forms • 1993: HTML forms • 1994–2001: Nothing happened • Today: XForms
HTML Forms Limitations • Some Assembly Required • <input value=“initial value”> • Primitive Data Representation • Urlencoded? Ugh. • Need Script to do anything… • Validations • Calculations • Dynamic Forms
XForms = Interactive Web Services • Some Assembly Required • <input value=“initial value”> • Primitive Data Representation • Urlencoded? Ugh. • Blending Purpose and Presentation • <input type=“radio | checkbox”> etc… • No validations, calculations XML In, XML Out Integration with Web Services; XML Tools Leverage XPath, XML Schema, XSLT, SVG Any Time, Any Place, and on Any Device
Part 2 What are XForms?
Terminology • XForm or XForms? • XForms Processor • XForms Model • Instance data • Containing document • Form control
XForms Conformance Profiles • Two conformance profiles to support wide range of devices • Basic: small devices, TV, phones, etc. • Full: desktop browsers, servers
Contain This! • XForms lives in multiple locations within a single “containing document” file <head> </head> Purpose (non-visible) XForms Model <html> </html> <body> </body> Presentation Form controls
XForms Model • Defines the ‘Purpose’ of the form • Includes the following: • Instance Data • Submit Information • XML Schema Information • XForms specific properties and actions • Model and Instance can be synthesized
XForms Instance • Provides template for your data • Provides default or partially submitted data • Can be inline or referenced externally • Full support for XML Schema
XForms Constraints • Static (from Schema) and dynamic • Datatypes • Relevant • Required • ReadOnly • Validation • Calculation • Minimum/maximum occurrences
XForms Submit Info Submit • Provides How, Where, and What to submit • Multiple models per form • Partial form submission • Default is ‘post’ of XML Instance
How It Works <> XSLT XForms Stylesheet tree XForms Processing <> <> <> <> XSLT Processing Source tree Instance data
XForms User Interface • Describes intent • “selectOne”, not “checkbox” • Input/Secret/Textarea • selectOne/selectMany • Range • Upload • Button
Advanced User Interface • Grouping • Dynamic interfaces • Repeating “line items” • (similar to Zope)
Binding <head> </head> <bind id=“xyz” ref=“memo/cc” required=“true”/> XForms Model <body> </body> <input bind=“xyz”…> <input ref=“memo/cc”…>
XForms Actions • Defines common set of behaviors • No Javascript required • Message • SubmitInstance • SetValue • SetFocus • Toggle • LoadURI
Processing Model • Event-driven • modelInitialize • Focus/blur, next/previous • valueChanging/valueChanged • Help/hint/alert • Submit/reset • Error conditions
Data Submission • Called “Serialization” • Choice of formats: • Application/x-www-form-urlencoded • Multipart/form-data • Text/xml • Choice of transport • HTTP GET • HTTP POST • SOAP (Future)
Part 3 What it all means
Unified Processing Server Client XForms Processor XForms Processor • Server process for “data double check” • Client process for optimal data entry XForms Model • Less CGI hacks = better security on the Web
Any Device, anytime… • High-level form control definitions • Flexibility in implementation • No floating point, JavaScript required • Subset of XML Schema
Web of Standards XPath XML Events XML Schema XForms XHTML 2.0 XHTML 1.x SVG FO SMIL ? XML
Section 508 • Accessible web forms for everybody • Not keyboard-centric • Events for focus, navigation • Script not required • Captions/metadata • Multimodal forms
Paperwork Elimination • Unified format for instance data • Enables Workflow and Routing • Documented savings of over $50/transaction “How you gather, manage and use information will determine whether you win or lose.” – Bill Gates
The Web Service Revolution • User Interface for .NET and Web Services • Connects directly to SOAP data source • Utilizes existing XML Schema • Article available on http://www.xml.com
XForms Roadmap • Last Call: Ended 22 Feb 2002 • Candidate Recommendation: • Proposed Recommendation: • Recommendation:
Deployment Pre-1998 1999-2000 2001-2002 2003-2004 2005+
Help Make XForms Better! • XForms “Smoke Tests” • Containing Document Schema • http://dubinko.info/xforms/ • Vote For XForms in Mozilla! • http://bugzilla.mozilla.org/show_bug.cgi?id=97806
Try Out XForms • Implementations: • X-Smiles http://www.xsmiles.org • TIBET http://www.technicalpursuit.com/ • Mozquito http://www.mozquito.com • Apache Cocoon http://xml.apache.org/cocoon/ • Chiba http://sourceforge.net/projects/chiba/ • ExFormula http://sourceforge.net/projects/exformula/ • Authoring Tools • Cardiff LiquidOffice (demo) • http://www.Cardiff.com/xforms/
For More Information… • www-forms@w3.org (subj: “Subscribe”) • http://www.w3.org/TR/xforms/ • http://www.w3.org/MarkUp/Forms • www.zvon.org/xxl/XForms1.0/Output/ • More?