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

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

Transcript of Introduction to W3C XForms The Future of Web Forms Micah Dubinko.

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?