RE: XML Forms and XForms

Terminology. Bending the English language to your will for fun and profit.
:-)

I hope that lots of web developers and authors are beginning to pick up the
XForms specification, and I hope that this background information will be
helpful. This message is of course all opinion, and not official XForms
Working Group doctrine.

First, some recent changes. We used to have an element with the local name
<xform>. Now that we understand how this stuff works ;-), we agree that an
element named 'xform' doesn't make sense. We're clarifying our terminology
and markup. <xform> is now <model>, like this:

<html:head>
  <html:title>...</html:title>
  <xform:model>
    <xform:instance>...</xform:instance>
    <xform:schema>
      <xsd:schema>...</xsd:schema>
    </xform:schema>
  ...
  </xform:model>
</html:head>
[Note that we are keeping 'xform' as a namespace prefix--as the shortest
abbreviated, non-ambiguous, still-readable character sequence.]

More details on these changes have been publicly released at [1].

This represents a terminology shift. We now define "XForms Model" as
essentially <xform:model> and all child content.

From a spec-writing viewpoint then, "XForms Model" is a good term because it
lends itself well to a single defined meaning that people generally agree
to. We believe this to be the case for all the terms in the latest chapter
3. (Alas, this hasn't been made public yet. Soon.)

Other terms, due to preconceived ideas or other reasons, do not willingly
subject themselves to the narrow existence of a defined term. These words
are slippery, sneaky. Different people hearing these words in conversation
tend to think of whatever aspect of the term strikes closest to their
personal experience. In the early days, we struggled to define terms like
"form" and "field". We gave up--even if we write down how _we_ use those
terms, that doesn't change the viewpoint of the rest of the world. :-)

The beauty of language and writing is that sometimes the slipperiness of
these phrases is exactly what you wish to convey. "Forms are used to provide
interactivity throughout the Web" is immediately understandable. The impact
of the sentence depends on the broadness of what a "form" might be to the
reader.

"XForms" as a noun is a slippery little guy. Is it a concept? A collective
noun? A technology? A philosophy? And sanctioning "XForm", without the "s",
as an official term is even less clear. In most cases where a writer
comparing the new to the old [2] has the urge to use "XForms" (or "XForm")
as a noun, he would be better suited with a more precise term:

"XForms is/are similar to..." -> "XForms processing is similar to..."
"XForms define(s) several features..." -> "The XForms specification
defines..."
"To write an XForm, you must first..." -> "To write an XForms Model, you..."

The last example highlights the dual nature of XForms. The separation
between 'model' and 'user interface' is an unfamiliar concept for form
authors. What if someone writes a voice layer that works with an existing
XForms Model? Is that still the same "XForm"? Does the surrounding XHTML (or
SVG, or FO) count as part of the "XForm? The inherent flexibility means that
there isn't any one thing that can be called an "XForm".

Still, you might want to be intentionally sweeping and say:
"XForms will change the world". <g>

To avoid driving grammar-checkers crazy (not to mention editors), we
uniformly treat "XForms", when used as a noun, as plural, except when it's
in quotes (then the singular subject is implied "The word XForms", as in
"XForms" is the name of a new W3C technology...

Thanks to all for your insightful views,

.micah

P.S. If you look at the spec carefully, you will undoubtedly find many
inconsistencies with the above. Nobody said it would be easy. :-)

P.P.S. Jouni's blessed crystal ball of future language use prediction (tm)
is perhaps right. In everyday, non-technical use, the term "XForm" might
take hold. But in a technical specification, or any of the associated 3rd
party tutorials/articles/books, accuracy trumps speculation, IMHO. :-)

[1] http://lists.w3.org/Archives/Public/www-forms/2001Oct/0053.html
[2] http://www.xml.com/pub/a/2001/09/05/xforms.html

-----Original Message-----
From: Jouni Heikniemi [mailto:jth@dns.mikrobitti.fi]
Sent: Monday, October 29, 2001 4:53 AM
To: www-forms@w3.org
Subject: RE: XML Forms and XForms


On Mon, 29 Oct 2001, Josef Dietl wrote:

> "My XForms is not working" sounds natural to me - but it refers only to
> the XForms functionality. Can you imagine what could be used once the
> body of the form is in just some markup language (for a beginning,
> XHTML, SVG, VoiceXML, or SMIL), and "only" the forms-specific parts are
> XForms?

While I'm far from being a native English speaker, I agree with
Andrew: "My XForms is not working" does sound a bit odd. 

My blessed crystal ball of future language use prediction (tm) says that
the word "XForm" will be used to replace "form" in such uses where it is
necessary to emphasize that the form is implemented using the XForms
technology. Therefore its natural plural will be "XForms", which will also
mean the technology itself. Thus, I believe that all of the following
should be valid language use:

"My XForm doesn't work"
"I have already deployed hundreds of XForms on the site."
"The XForms are the solution to all our problems."

As for the technical ambiguity you noted: It's true that the word "XForm"
used in the suggested way makes no difference between the
XHTML/whatever parts of the form and the XForms technology itself.
However, this is a matter I don't think the anyone can change by
term-fiddling. Average web developers cannot see the borderlines between
the technologies even now, and all this modularization-namespace-embedding
hype isn't going to help it at all.

If the form has to be split into its technical components, then I would
just talk about XHTML code, the XForms model, instance data and so on. In
a normal conversation, the simple "XForm" would probably suffice. When
greater technical accuracy is required, the terminology is available; the
current WD is full of it. The need is for a more abstract term.


It should be noted, though, that the need for using "XForm" separately
from "form" varies by situation. For example, the current WD can live fine
without too many changes, because there are only few chapters where it's
necessary to make the difference between "XHTML forms" and "XForms
forms". For the most part "form" means the abstract form element, and it
is absolutely clear by context that it means an XForm. 

But try writing a simple article comparing XForms forms and XHTML Forms,
and I think you'll miss the ability to use "XForm". Distinguishing XForms
forms and XHTML Forms is also necessary in technical conversation as long
as both techniques are around. When XForms remains as the only way of
creating forms (hopefully soon!), it's no longer necessary to use the X;
word "form" in web context would then imply use of XForms anyway.

In other fields of use the situation may of course be different, but since
the web will probably be the most prominent gallery of XForms
implementations for pretty long, I feel that it's most important to set
the focus on predicted web creator vocabulary.


By the way, even the WD could use more clear terminology in some places.
2.3 for example has this sentence: "To convert the previous form into
XForms...". It should IMO be formulated according to one of the following
examples (in my personal order of preference):

"...into an XForm..."
"...into an XForms(-based) form..."
"To make the previous form use XForms..."


To summarize:

To me, XForm naturally means "an input form implemented with XForms,
including whatever XHTML/CSS/SVG/etc. framework necessary to implement the
form's functionality and interface". I believe this use will become common
among the web developers at least for some time, and should be accepted as
such.

I wish the working group would consider the need of adding the term
"XForm" into the official vocabulary, in the meaning I outlined above.
This would make it easier to refer to a form as a whole, and also to avoid
cumbersome structures like "XForms-based form".


Regards,

Jouni

Received on Monday, 29 October 2001 18:41:28 UTC