36
Introduction to W3C XForms The Future of Web Forms Micah Dubinko

Introduction to W3C XForms The Future of Web Forms Micah Dubinko

Embed Size (px)

Citation preview

Page 1: Introduction to W3C XForms The Future of Web Forms Micah Dubinko

Introduction to W3C XForms

The Future of Web Forms

Micah Dubinko

Page 2: 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/

Page 3: Introduction to W3C XForms The Future of Web Forms Micah Dubinko

What We’ll Talk About

1. The “Big Picture”2. What are XForms?3. What does it all mean?

Page 4: Introduction to W3C XForms The Future of Web Forms Micah Dubinko

Part 1

The Big Picture

Page 5: Introduction to W3C XForms The Future of Web Forms Micah Dubinko

A Brief History of Web Forms

1993: HTML forms1994–2001: Nothing happenedToday: XForms

Page 6: Introduction to W3C XForms The Future of Web Forms Micah Dubinko

HTML Forms Limitations

Some Assembly Required <input value=“initial value”>

Primitive Data Representation Urlencoded? Ugh.

Need Script to do anything… Validations Calculations Dynamic Forms

Page 7: Introduction to W3C XForms The Future of Web Forms Micah Dubinko

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

Page 8: Introduction to W3C XForms The Future of Web Forms Micah Dubinko

HTML Demo

Page 9: Introduction to W3C XForms The Future of Web Forms Micah Dubinko

Part 2

What are XForms?

Page 10: Introduction to W3C XForms The Future of Web Forms Micah Dubinko

Terminology

XForm or XForms?XForms ProcessorXForms ModelInstance dataContaining documentForm control

Page 11: Introduction to W3C XForms The Future of Web Forms Micah Dubinko

XForms Conformance Profiles

Two conformance profiles to support wide range of devicesBasic: small devices, TV, phones, etc.Full: desktop browsers, servers

Page 12: Introduction to W3C XForms The Future of Web Forms Micah Dubinko

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

Page 13: Introduction to W3C XForms The Future of Web Forms Micah Dubinko

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

Page 14: Introduction to W3C XForms The Future of Web Forms Micah Dubinko

XForms Instance

Provides template for your dataProvides default or partially submitted dataCan be inline or referenced externallyFull support for XML Schema

Page 15: Introduction to W3C XForms The Future of Web Forms Micah Dubinko

XForms Constraints

Static (from Schema) and dynamic Datatypes Relevant Required ReadOnly Validation Calculation Minimum/maximum occurrences

Page 16: Introduction to W3C XForms The Future of Web Forms Micah Dubinko

XForms Submit Info

Provides How, Where, and What to submit Multiple models per form Partial form submission

Default is ‘post’ of XML Instance

Submit

Page 17: Introduction to W3C XForms The Future of Web Forms Micah Dubinko

How It Works

XSLT XForms

<>

<> <> <> <>

Source tree

Instance data

Stylesheet tree

XForms Processing

XSLT

Processing

Page 18: Introduction to W3C XForms The Future of Web Forms Micah Dubinko

XForms User Interface

Describes intent “selectOne”, not “checkbox”

Input/Secret/TextareaselectOne/selectManyRangeUploadButton

Page 19: Introduction to W3C XForms The Future of Web Forms Micah Dubinko

Advanced User Interface

GroupingDynamic interfacesRepeating “line items” (similar to Zope)

Page 20: Introduction to W3C XForms The Future of Web Forms Micah Dubinko

Binding

<head>

</head>

<body>

</body>

XForms Model

<bind id=“xyz” ref=“memo/cc” required=“true”/>

<input bind=“xyz”…>

<input ref=“memo/cc”…>

Page 21: Introduction to W3C XForms The Future of Web Forms Micah Dubinko

XForms Actions

Defines common set of behaviorsNo Javascript required Message SubmitInstance SetValue SetFocus Toggle LoadURI

Page 22: Introduction to W3C XForms The Future of Web Forms Micah Dubinko

Processing Model

Event-driven modelInitialize Focus/blur, next/previous valueChanging/valueChanged Help/hint/alert Submit/reset Error conditions

Page 23: Introduction to W3C XForms The Future of Web Forms Micah Dubinko

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)

Page 24: Introduction to W3C XForms The Future of Web Forms Micah Dubinko

Part 3

What it all means

Page 25: Introduction to W3C XForms The Future of Web Forms Micah Dubinko

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

Page 26: Introduction to W3C XForms The Future of Web Forms Micah Dubinko

The end of the Web as we know it

0

20

40

60

80

100

2001 2002 2003 2004

Trend: Conventional Browsers are historyBrowsersDevices

Page 27: Introduction to W3C XForms The Future of Web Forms Micah Dubinko

Any Device, anytime…

High-level form control definitionsFlexibility in implementationNo floating point, JavaScript requiredSubset of XML Schema

Page 28: Introduction to W3C XForms The Future of Web Forms Micah Dubinko

XHTML 2.0

Web of Standards

XHTML 1.x

SVG FO ?SMIL

XForms

XML Schema

XPath

XML Events

XML

Page 29: Introduction to W3C XForms The Future of Web Forms Micah Dubinko

Section 508

Accessible web forms for everybody Not keyboard-centric Events for focus, navigation Script not required Captions/metadata

Multimodal forms

Page 30: Introduction to W3C XForms The Future of Web Forms Micah Dubinko

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

Page 31: Introduction to W3C XForms The Future of Web Forms Micah Dubinko

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

Page 32: Introduction to W3C XForms The Future of Web Forms Micah Dubinko

XForms Roadmap

Last Call: Ended 22 Feb 2002Candidate Recommendation:Proposed Recommendation:Recommendation:

Page 33: Introduction to W3C XForms The Future of Web Forms Micah Dubinko

DeploymentPre-1998 1999-2000 2001-2002 2003-2004 2005+

                      

Page 34: Introduction to W3C XForms The Future of Web Forms Micah Dubinko

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

Page 35: Introduction to W3C XForms The Future of Web Forms Micah Dubinko

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/

Page 36: Introduction to W3C XForms The Future of Web Forms Micah Dubinko

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?