W3C home > Mailing lists > Public > www-forms-editor@w3.org > September 2003

RE: Apple's XForms CFR Response

From: Mark Birbeck <Mark.Birbeck@x-port.net>
Date: Thu, 4 Sep 2003 00:42:05 +0100
Message-ID: <E3ED00A7C285EE408679DE2A26D1C7810148F70D@S007.x-port.net>
To: 'Wanda Cox ' <co.wanda@apple.com>
Cc: "'w3c-ac-forum@w3.org '" <w3c-ac-forum@w3.org>, "'team-xforms-review@w3.org '" <team-xforms-review@w3.org>, "'www-forms-editor@w3.org '" <www-forms-editor@w3.org>

Wanda,

[I'm aware that your posting is part of a formal procedure, and not for
soliciting comments, but I feel that one of your central points is more an
issue of presentation of the spec, than of the spec itself, so I hope you
don't mind my comment.]

> Claim 3: XForms has striven to improve authoring. 
> Counterclaim: XForms is, in our experience, orders of magnitude harder
> to author than HTML forms. For example, compare ...

The spec has not focused on showing how to make forms simple, but that
doesn't mean it isn't possible. The "Lazy Author" feature means that users
do not need to specify the XML instance data, but can have it created for
them.

In the following simple example we have:

* two selection lists
* one will be rendered so that the choices are
  only available if the user asks for them (something
  like a drop-box in a visual browser)
* one will be rendered as so that the choices are always
  accessible to the users (much like radio buttons in a
  visual browser)
* changes to one selection control are immediately
  reflected in the other
* changes to either are also immediately reflected in the
  'output' control

--- STARTS ---

<html
 xmlns="http://www.w3.org/1999/xhtml"
 xmlns:xforms="http://www.w3.org/2002/xforms/cr"
>
	<head>
		<title>Hello, World!</title>
	</head>

	<body>
		<xforms:select1 ref="greeting">
			<xforms:label>Choose a Greeting</xforms:label>
			<xforms:item>
				<xforms:label>Hello</xforms:label>
				<xforms:value>Hello</xforms:value>
			</xforms:item>
			<xforms:item>
				<xforms:label>Goodbye</xforms:label>
				<xforms:value>Goodbye</xforms:value>
			</xforms:item>
		</xforms:select1>

		<xforms:select1 ref="greeting" appearance="full">
			<xforms:label>Choissisez une
Salutation</xforms:label>
			<xforms:item>
				<xforms:label>Bonjour</xforms:label>
				<xforms:value>Hello</xforms:value>
			</xforms:item>
			<xforms:item>
				<xforms:label>Au revoir</xforms:label>
				<xforms:value>Goodbye</xforms:value>
			</xforms:item>
		</xforms:select1>

		<xforms:output ref="greeting">
			<xforms:label />
		</xforms:output>
		, World!
	</body>
</html>

--- ENDS ---

It would be difficult to argue that this is hard to learn! On the contrary,
the fact that there is not a line of script in sight, should make this a
breeze for most web programmers to pick up, make it quicker (and more
accurate) to test, and easier to deploy across platforms.

And the HTML+JavaScript equivalent, although not that complicated, requires
a fair amount of event handling to keep all the controls up to date. Note
also that if further selection lists are added the amount of event handling
increases dramatically (seen each control has to let every other one know
that there has been a change).

Of course there is far more functionality available in XForms as you go
further into it, and the spec does not provide the best introduction. But
that is the job of tutorials and books, not the standard itself.

Regards,

Mark


Mark Birbeck
Managing Director
x-port.net Ltd.

Download our XForms processor for IE6
from http://www.formsPlayer.com/
Received on Wednesday, 3 September 2003 19:42:30 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 10 June 2009 18:12:12 GMT