Notes
Outline
What’s New in XForms and XHTML 2.0?
Slide 2
Part 1
XForms
A Brief History of Web Forms
B.Web: Proprietary; binary formats
1993: HTML forms
1994–2001: Nothing happened
Today: XForms
Demonstration: X-Smiles, Novell
X-Smiles
From University of Helsinki
Implements XForms, SVG, SMIL, XHTML, and many other cutting edge standards
Novell XForms Xplorer
Solid CR XForms support
HTML Forms Limitations
Some Assembly Required
<input value=“initial value”>
“Swiss cheese” processing
Primitive (Flat) Data Representation
Name=Micah&Title=Chief+XML…
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
Form Building Blocks
XForms turns the HTML <form> tag inside-out
How It Works
           XSLT        XForms
Form Controls
XForms turns form controls outside-in
Form Controls
Describes intent, not presentation
…on Any Device
appearance= “full” | “compact” | “minimal”
Usability
XForms Constraints
Static (from Schema) and dynamic
Datatypes
Relevant
Required
Readonly
Validation
Calculation
Minimum/maximum occurrences
Binding
Declarative Script Replacement
Defines common set of behaviors
Direct replacements for scripting
<message> replaces alert()
<send> replaces form.submit()
<setvalue> replaces form.field.value=“string”
<setfocus> replaces form.field.focus()
<load> replaces document.href=“url”
<toggle> implements dynamic show/hide
XForms Action Example
<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>
Data Submission
Choice of formats:
Application/x-www-form-urlencoded
Multipart/form-data
Text/xml
Choice of transport
HTTP GET/POST/PUT
Email
Filesystem
SOAP (Future)
Part 2
XFrames
XFrames: A new document type
Main document only identifies frames
URL provides content
Benefits
Framesets are fully bookmarkable
“Back" button works
Harder for sites to "framejack“
Modular: can apply to any content
Short W3C specifications are welcome!
Future Developments
Even Simpler Syntax
More Display Options
“tabbed” displays
More? Only if you contribute.
Halfway: Still With Us?
Gratuitous picture of my kid (cute, huh?)
Part 3
HLink
The Trouble with XLink…
One linking attribute to rule them all
Failed Requirements
One link per element
Verbosity/Complexity
Adoption
Linking Attributes: You Decide
HLink provides a means for XML language authors to declare which attributes describe a link
Great Flexibility
For example, multiple links from the same element
Other Features
onRequestSecondary
Future Developments
Making peace with XLink?
XLink 1.1?
?
Part 4
XHTML 2.0
Clean-up and Break-down
Break off important pieces for sharing
XForms for SVG, SMIL, XSL-FO
XML Events for SVG, more?
XFrames
HLink
Revisit design decisions of antiquity
Linking attributes everywhere
Element vs. Attribute decisions
Shift emphasis to document structure
Reestablish momentum
Structure
<section> and <h> elements
<line> element
Consistency
‘href’ everywhere
<object> (not <img>) everywhere
Simplicity
Navigation Lists
As if millions of lines of JavaScript
cried out in terror... and then suddenly
fell silent.
Web of Standards
HTML Roadmap
http://www.w3.org/MarkUp/xhtml-roadmap/
XHTML 2.0 Early Working Draft
HLink Uncertain Working Draft
XFrames Working Draft
XML Events (soon?) Candidate Rec.
XForms Candidate Rec
Bugzilla
Requests to Implement XHTML family members in Mozilla
Vote early, vote often!
http://bugzilla.mozilla.org/show_bug.cgi?id=161463 (XHTML2)
http://bugzilla.mozilla.org/show_bug.cgi?id=97806 (XForms)
http://bugzilla.mozilla.org/show_bug.cgi?id=164482 (Events)
http://bugzilla.mozilla.org/show_bug.cgi?id=162479 (XFrames)
N/A (HLink)
Making the Transition
Sjoerd Visscher’s  XHTML 2 implementation
http://w3future.com/weblog/gems/xhtml2.xml
Deploy XML data through Web Services
RPC-style bad; Document-style good
Plain-old XML even better
Don’t assume browser-only access
Embrace open standards
Try Out XForms
More XForms Implementations:
X-Smiles http://www.x-smiles.org
Novell http://www.novell.com/xforms/
Mozquito http://webaccess.mozquito.com
FormsPlayer (IE plugin) http://www.formsplayer.com/
Handwise (Mobile) http://www.handwise.com/Products/XFUI.html
Hico http://www.hico.com
Authoring Tools
http://www.Cardiff.com
For More Information…
www-html@w3.org  (subj: “Subscribe”)
www-forms@w3.org
http://www.w3.org/TR/xhtml2/
http://www.w3.org/TR/xforms/
http://www.w3.org/MarkUp/
http://www.xml.com/
http://www.xmlhack.com/
More?