introduction to w3c xforms

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

Upload: ryo

Post on 19-Jan-2016

41 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Introduction to W3C XForms

Introduction to W3C XForms

The Future of Web Forms

Micah Dubinko

Page 2: Introduction to W3C XForms

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

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

Part 1

The Big Picture

Page 5: Introduction to W3C XForms

A Brief History of Web Forms

1993: HTML forms1994–2001: Nothing happenedToday: XForms

Page 6: Introduction to W3C 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

Page 7: Introduction to W3C XForms

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

HTML Demo

Page 9: Introduction to W3C XForms

Part 2

What are XForms?

Page 10: Introduction to W3C XForms

Terminology

XForm or XForms?XForms ProcessorXForms ModelInstance dataContaining documentForm control

Page 11: Introduction to W3C XForms

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

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

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

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

XForms Constraints

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

Page 16: Introduction to W3C XForms

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

How It Works

XSLT XForms

<>

<> <> <> <>

Source tree

Instance data

Stylesheet tree

XForms Processing

XSLT

Processing

Page 18: Introduction to W3C XForms

XForms User Interface

Describes intent “selectOne”, not “checkbox”

Input/Secret/TextareaselectOne/selectManyRangeUploadButton

Page 19: Introduction to W3C XForms

Advanced User Interface

GroupingDynamic interfacesRepeating “line items” (similar to Zope)

Page 20: Introduction to W3C XForms

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

XForms Actions

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

Page 22: Introduction to W3C XForms

Processing Model

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

Page 23: Introduction to W3C XForms

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

Part 3

What it all means

Page 25: Introduction to W3C XForms

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 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

Any Device, anytime…

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

Page 28: Introduction to W3C XForms

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

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

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 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

XForms Roadmap

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

Page 33: Introduction to W3C XForms

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

                      

Page 34: Introduction to W3C XForms

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

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

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?