Introduction to W3C XForms

Post on 19-Jan-2016

42 views 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 mdubinko@Cardiff.com - PowerPoint PPT Presentation

Transcript of Introduction to W3C XForms

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 certifiedmdubinko@Cardiff.comhttp://dubinko.info/xforms/

What We’ll Talk About

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

Part 1

The Big Picture

A Brief History of Web Forms

1993: HTML forms1994–2001: Nothing happenedToday: 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

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

HTML Demo

Part 2

What are XForms?

Terminology

XForm or XForms?XForms ProcessorXForms ModelInstance dataContaining documentForm control

XForms Conformance Profiles

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

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

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

XForms Instance

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

XForms Constraints

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

XForms Submit Info

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

Default is ‘post’ of XML Instance

Submit

How It Works

XSLT XForms

<>

<> <> <> <>

Source tree

Instance data

Stylesheet tree

XForms Processing

XSLT

Processing

XForms User Interface

Describes intent “selectOne”, not “checkbox”

Input/Secret/TextareaselectOne/selectManyRangeUploadButton

Advanced User Interface

GroupingDynamic interfacesRepeating “line items” (similar to Zope)

Binding

<head>

</head>

<body>

</body>

XForms Model

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

<input bind=“xyz”…>

<input ref=“memo/cc”…>

XForms Actions

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

Processing Model

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

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)

Part 3

What it all means

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

The end of the Web as we know it

0

20

40

60

80

100

2001 2002 2003 2004

Trend: Conventional Browsers are historyBrowsersDevices

Any Device, anytime…

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

XHTML 2.0

Web of Standards

XHTML 1.x

SVG FO ?SMIL

XForms

XML Schema

XPath

XML Events

XML

Section 508

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

Multimodal forms

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

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

XForms Roadmap

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

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

                      

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

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/

For More Information…

www-forms@w3.org (subj: “Subscribe”)http://www.w3.org/TR/xforms/http://www.w3.org/MarkUp/Formswww.zvon.org/xxl/XForms1.0/Output/More?