introduction to w3c xforms
DESCRIPTION
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 [email protected] - PowerPoint PPT PresentationTRANSCRIPT
Introduction to W3C XForms
The Future of Web Forms
Micah Dubinko
About Your Guide
Lead editor of XForms specificationSoftware Engineer for Cardiff SoftwareBook and magazine articlesContributing Editor http://www.xmlhack.com/CDIA [email protected]://dubinko.info/xforms/
What We’ll Talk About
1. The “Big Picture”2. What are XForms?3. What does it all mean?
Part 1
The Big Picture
A Brief History of Web Forms
1993: HTML forms1994–2001: Nothing happenedToday: 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 ToolsLeverage XPath, XML Schema, XSLT, SVGAny Time, Any Place, and on Any Device
HTML Demo
Part 2
What are XForms?
Terminology
XForm or XForms?XForms ProcessorXForms ModelInstance dataContaining documentForm control
XForms Conformance Profiles
Two conformance profiles to support wide range of devicesBasic: small devices, TV, phones, etc.Full: desktop browsers, servers
Contain This!
XForms lives in multiple locations within a single “containing document” file
<html>
</html>
<head>
</head>
<body>
</body>
XForms Model
Purpose(non-visible)
PresentationForm controls
XForms Model
Defines the ‘Purpose’ of the formIncludes 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 dataProvides default or partially submitted dataCan be inline or referenced externallyFull support for XML Schema
XForms Constraints
Static (from Schema) and dynamic Datatypes Relevant Required ReadOnly Validation Calculation Minimum/maximum occurrences
XForms Submit Info
Provides How, Where, and What to submit Multiple models per form Partial form submission
Default is ‘post’ of XML Instance
Submit
How It Works
XSLT XForms
<>
<> <> <> <>
Source tree
Instance data
Stylesheet tree
XForms Processing
XSLT
Processing
XForms User Interface
Describes intent “selectOne”, not “checkbox”
Input/Secret/TextareaselectOne/selectManyRangeUploadButton
Advanced User Interface
GroupingDynamic interfacesRepeating “line items” (similar to Zope)
Binding
<head>
</head>
<body>
</body>
XForms Model
<bind id=“xyz” ref=“memo/cc” required=“true”/>
<input bind=“xyz”…>
<input ref=“memo/cc”…>
XForms Actions
Defines common set of behaviorsNo 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
XForms
Model
•Server process for “data double check”
•Client process for optimal data entry
•Less CGI hacks = better security on the Web
The end of the Web as we know it
0
20
40
60
80
100
2001 2002 2003 2004
Trend: Conventional Browsers are historyBrowsersDevices
Any Device, anytime…
High-level form control definitionsFlexibility in implementationNo floating point, JavaScript requiredSubset of XML Schema
XHTML 2.0
Web of Standards
XHTML 1.x
SVG FO ?SMIL
XForms
XML Schema
XPath
XML Events
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 dataEnables Workflow and RoutingDocumented 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 ServicesConnects directly to SOAP data sourceUtilizes existing XML SchemaArticle available on http://www.xml.com
XForms Roadmap
Last Call: Ended 22 Feb 2002Candidate Recommendation:Proposed Recommendation:Recommendation:
DeploymentPre-1998 1999-2000 2001-2002 2003-2004 2005+
Help Make XForms Better!
XForms “Smoke Tests”Containing Document Schemahttp://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.orgTIBET http://www.technicalpursuit.com/Mozquito http://www.mozquito.comApache Cocoon http://xml.apache.org/cocoon/Chiba http://sourceforge.net/projects/chiba/ExFormula http://sourceforge.net/projects/exformula/
Authoring ToolsCardiff LiquidOffice (demo)http://www.Cardiff.com/xforms/
For More Information…
[email protected] (subj: “Subscribe”)http://www.w3.org/TR/xforms/http://www.w3.org/MarkUp/Formswww.zvon.org/xxl/XForms1.0/Output/More?