

Re: sXBL feedback and proposals

From: Nigel McFarlane <nrm@kingtide.com.au>
Date: Mon, 18 Oct 2004 11:21:28 +1000
Message-ID: <41731A98.20704@kingtide.com.au>
CC: www-svg@w3.org

> My problem with this is that elements don't have a nature, XML doesn't have 
> a spirit - XML elements have a concrete definition defined however (it 
> depends on the XML vocabulary of course)  That definition is concrete, a 
> rendering _cannot_ change it, so I don't see why the spec is attempting to 
> make that forbidden, when it's simply a fact.

Alas, it's all shades of grey once you start augmenting
the implementation of a tag, since many properties
(in the generic sense) of the bound tag, including
content, can be changed by the binding.

Here's examples that shows how easy it is to
mitigate a definition. It's hard to resist the conclusion
that this is all utter stupidity, but these are the
kinds of semantic defects that are easy to fall into
with XBL, and that are often arractive from a practical
implementation perspective.

Suppose a <shoe> tag exists and is formally defined. It's
locked in stone as a tag suitable for SVG. We insist
that only XML Schema enabled, validating UAs handle
the tag, just to be sure. The words accompanying the
formal definition state that a shoe element is an item
of apparel worn on the pedal extremities.

Further suppose some bindings exist that modify the shoe
content and how it can be acted on by event handlers.
Starting with plausable, we work towards implausible.

Binding A "runner" displays a Nike shoe and provides
handlers for paying exhorbitant amounts for one using
a Web Service, or for navigating to the Nike web site.
Is that in the spirit of the definition?

Binding B "glass slipper" displays Cinderella's shoe
and includes handlers suitable for scrolling through
a set of upwardly mobile young ladies to see if the
shoe fits. They appear in a z-layer behind the shoe,
tastefully arranged. Is that in the spirit of the definition?

Binding C "converse star" displays an old fashioned runner
with new-fashioned retro appeal. All its handlers provide
methods that display electric guitar bar chords, since
that's an aspiration of such shoe wearers. They have
nothing to do with shoes. Is that in the spirit of the spec?

Binding D "monopoly-shoe" displays the Monopoly(r) games's
shoe player token. All the handlers do is navigate the
bound tag to the right place on the board, entirely
free of shoe semantics. Other tags, like <candelabra>
and <thimble> also exist, with exactly the same semantics,
but since it's an AI system designed to federate well-known
concepts like shoe and thimble into a deductive monopoly
system, they each are drawn from other namespaces, as
shoe is. Is that in the spirit of the definition?

Binding E "horseshoe" displays a horse shoe. Is that in
the spirit of the definition?

Binding F, by a person who wishes to culture jam the concept
of shoe for marketing purposes, defines a shoe differently
and provides a binding that displays a piece of equipment
for holding playing cards. This is done by reaching up
through the DOM and hacking to bits any explicit content
in the bound tag.

Binding G "shoe-item" is used inside a paper doll in a
computer game. A shoe is displayed, but it has extended
semantics due to its handlers that only let it work inside
the paper doll. It can't exist by itself as a first class
concept, only in the context of other paper doll tags.
Is that in the spirit of the definition?

The point is not that these examples are silly (they might be
to you, but not to the genius using them), but just
that neither the spec nor you nor I can be the final
arbitrar of "appropriate use" in all imaginable situations.

Thus a bit of handwaving for the purposes of general healing.

- Nigel.

Nigel McFarlane                                   nrm@kingtide.com.au
Services:                   Analysis, Programming, Writing, Education	
Expertise:            Software, Telecommunications, Internet, Physics
"Rapid Application Development with Mozilla" / www.nigelmcfarlane.com
Received on Monday, 18 October 2004 01:18:28 UTC
