Title: Introduction to W3C XForms
1Introduction to W3C XForms
2About 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_at_Cardiff.com
- http//dubinko.info/xforms/
3What Well Talk About
- The Big Picture
- What are XForms?
- What does it all mean?
4Part 1
5A Brief History of Web Forms
- 1993 HTML forms
- 19942001 Nothing happened
- Today XForms
6HTML Forms Limitations
- Some Assembly Required
- ltinput valueinitial valuegt
- Primitive Data Representation
- Urlencoded? Ugh.
- Need Script to do anything
- Validations
- Calculations
- Dynamic Forms
7XForms Interactive Web Services
- Some Assembly Required
- ltinput valueinitial valuegt
- Primitive Data Representation
- Urlencoded? Ugh.
- Blending Purpose and Presentation
- ltinput typeradio checkboxgt etc
- No validations, calculations
- Integration with Web Services XML Tools
- Leverage XPath, XML Schema, XSLT, SVG
- Any Time, Any Place, and on Any Device
8HTML Demo
9Part 2
10Terminology
- XForm or XForms?
- XForms Processor
- XForms Model
- Instance data
- Containing document
- Form control
11XForms Conformance Profiles
- Two conformance profiles to support wide range of
devices - Basic small devices, TV, phones, etc.
- Full desktop browsers, servers
12Contain This!
- XForms lives in multiple locations within a
single containing document file
ltheadgt lt/headgt
Purpose (non-visible)
XForms Model
lthtmlgt lt/htmlgt
ltbodygt lt/bodygt
Presentation Form controls
13XForms 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
14XForms Instance
- Provides template for your data
- Provides default or partially submitted data
- Can be inline or referenced externally
- Full support for XML Schema
15XForms Constraints
- Static (from Schema) and dynamic
- Datatypes
- Relevant
- Required
- ReadOnly
- Validation
- Calculation
- Minimum/maximum occurrences
16XForms Submit Info
Submit
- Provides How, Where, and What to submit
- Multiple models per form
- Partial form submission
- Default is post of XML Instance
17How It Works
ltgt
Stylesheet tree
XForms Processing
ltgt
ltgt
ltgt
ltgt
XSLT Processing
Source tree
Instance data
18XForms User Interface
- Describes intent
- selectOne, not checkbox
- Input/Secret/Textarea
- selectOne/selectMany
- Range
- Upload
- Button
19Advanced User Interface
- Grouping
- Dynamic interfaces
- Repeating line items
- (similar to Zope)
20Binding
ltheadgt lt/headgt
ltbind idxyz refmemo/cc requiredtrue/gt
XForms Model
ltbodygt lt/bodygt
ltinput bindxyzgt ltinput refmemo/ccgt
21XForms Actions
- Defines common set of behaviors
- No Javascript required
- Message
- SubmitInstance
- SetValue
- SetFocus
- Toggle
- LoadURI
22Processing Model
- Event-driven
- modelInitialize
- Focus/blur, next/previous
- valueChanging/valueChanged
- Help/hint/alert
- Submit/reset
- Error conditions
23Data 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)
24Part 3
25Unified 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
26The end of the Web as we know it
27Any Device, anytime
- High-level form control definitions
- Flexibility in implementation
- No floating point, JavaScript required
- Subset of XML Schema
28Web of Standards
XML Schema
XPath
XML Events
XHTML 2.0
XForms
XHTML 1.x
SVG
FO
?
SMIL
XML
29Section 508
- Accessible web forms for everybody
- Not keyboard-centric
- Events for focus, navigation
- Script not required
- Captions/metadata
- Multimodal forms
30Paperwork 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
31The 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
32XForms Roadmap
- Last Call Ended 22 Feb 2002
- Candidate Recommendation
- Proposed Recommendation
- Recommendation
33Deployment
Pre-1998 1999-2000 2001-2002
2003-2004 2005 Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â
34Help 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?id97806
35Try 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/exformul
a/ - Authoring Tools
- Cardiff LiquidOffice (demo)
- http//www.Cardiff.com/xforms/
36For More Information
- www-forms_at_w3.org (subj Subscribe)
- http//www.w3.org/TR/xforms/
- http//www.w3.org/MarkUp/Forms
- www.zvon.org/xxl/XForms1.0/Output/
- More?