Erik Bruchez, Orbeon
Leigh Klotz, Xerox (minutes)
Nick van den Bleeken, Inventive Designers
Philip Fennell, MarkLogic
Steven Pemberton, CWI/W3C (Chair)
Steven Pemberton: Lars Windauer will be coming from Betterform. TV Raman has asked for dinner Monday night.
Steven Pemberton: Several XForms
implementations use XBL. XBL2 has been in CR for a very long time.
Out of the blue, the editor Ian Hixie snipped out namespaces and
other features and announced he was incorporating it into HTML,
claiming he'd done it on the basis of input from implementors.
Mozilla implements a different version. We said we have
implementations of XBL. Art Barstow, chair of the WG responsible
for this specification suggested splitting it into two specs. W3C
Team was asked. There wasn't much feeling for having two XBL specs,
so they want more information. So I said we'd discuss it at the
F2F. So I'd like to gather which information and whether XBL2 needs
changes. Although we offered to take on XBL during re-chartering,
they'd like us to show how we use it, who uses it, and how.
Steven Pemberton: Who uses it?
Erik Bruchez: Orbeon implements good
parts of the XBL2 spec, but not fully.
Steven Pemberton: XBL vs XBL2, XBL2
uses CSS selectors?
Erik Bruchez: Original XBL is tied to
Mozilla.
Steven Pemberton: Is that
usable?
Erik Bruchez: CSS isn't as powerful as
XPath. It's used as an expression language for binding, but you
could equivalently use XPath. We have a minimal mechanism, but you
could plug in a full CSS engine. We transform a subset of CSS into
XPath.
Steven Pemberton: Sounds like XPath
would make it easier.
Erik Bruchez: Writing XBL components
is rarer than using them. So you have to write foo|bar, but for
everything else (except for UI styling) is XPath instead of CSS, so
it's inconsistent. In XForms, every binding is XPath. But XBL uses
CSS. Also, CSS is used in XBL template language; it's a poor one,
and there's probably a reason. The idea is that the template keeps
a connection with the input of the template, and inside foobar, you
have content and attributes, and you want some live connections in
that shadow tree so maybe that's required, but we find it very
limiting. They use CSS there as (an inadequate) accessor for
content of the bound element, just as you would use XPath in XSLT.
One of the obvious weaknesses is that you cannot select attributes,
just conditions on attributes. We had to write our own extensions
there. We also support XSLT as a template language where the XBL
template language itself is not enough.
Steven Pemberton: That's a really good
analysis and when we produce our reply that will be good to say.
Above all, an analysis of why XPath works better than CSS would be
useful. My feeling is that they used CSS not for technical reasons.
Speaking as someone who helped design CSS in the first place, I
feel it was wrong to use it for this. Some selectors were left out
because of streaming; it would perhaps have been better to leave
them in. For DOM access, preceeding-sibling is easy but it's hard
in streaming. The owners of the spec really need this analysis to
see how people are using it.
Erik Bruchez: People now select stuff
in DOM with CSS; there are libraries like jQuery that do that. It's
basically XPath in CSS syntax. That's now going native as an API in
browsers. I agree that it's a bad language for it, but it seems
that the world has decided that it's the API and the expression
language, so it's hard for me to make a case that it's a bad
idea.
Steven Pemberton: Browsers now have
XPath as well; they've now got both.
Nick van: I've been writing custom
controls for Orbeon and I have the same things that are problems
that Erik says. The extensions are really nice and you have to use
them to access attributes, or transform based on input to
XSLT.
Leigh Klotz: We're also using XBL with
XSLT, and are experimenting with the variable extensions. We have a
pipeline step that processes with XBL2 and we use PIs to say which
templates are used.
Steven Pemberton: Philip Wagner
says that someone complained. Is there any objection?
Leigh Klotz: Did you tell him to use
appearance?
Steven Pemberton: We should agree
which value means what. Some already use minimal to say not to look
like an input control.
Leigh Klotz: That's trigger.
Steven Pemberton: If we start saying
you should do it this way, we should start saying it. You could
imagine full would give you a calculator.
Philip Fennell: Surely with compact
and full, the buttons would be a range. A compact rnage could be
fiddly bits and a full range would be a slider. Would you have to
have all three appearances?
Steven Pemberton: Where we don't
proscribe anything, you don't have to produce anything.
Leigh Klotz: So you're saying that the
behavior sounds like range?
Philip Fennell: It sounds like a
compact range form.
Leigh Klotz: It's not clear that the
up/down buttons are always a pain.
Leigh Klotz: <input ref="ram"><label>How many bytes of RAM does your computer have?</label></input
Leigh Klotz: Alain isn't here so
I'd like to wait. There's a lot of distributed experimentation
going on with XSLTForms.
Philip Fennell: Richer widgets would
show how XForms is richer.
Leigh Klotz: Some of this is language
experimentation, some is technical details of JavaScript variable
names so it plays nicely with other libraries, and some is rich
form controls. So I think we need Alain to help us
understand.
Steven Pemberton: So we will wait for
Alain.
Leigh Klotz: The conventional
wisdom is that not much is happening in W3C with Distributed
Extensibility, but it looks like Larry Masinter is doing something
in IETF.
Steven Pemberton: I'll check the
Plenary Agenda but it's not there. http://www.w3.org/2010/11/TPAC/PlenaryAgenda
Steven Pemberton: It would be good
if we could get in there.
Philip Fennell: I've been sidetracked.
The last I came across was that NVDL and components there is a
problem resolving idrefs in components between model and body. I
discovered this in oXygen 12. The oXygen people said that it was a
bug before.
Leigh Klotz: There's a similar issue
with RelaxNG.
Philip Fennell: There's an option in
RNG to turn off IDREF, but not in XML Schema. If we turn that off
then we can't validate that binds are meaningful.
Leigh Klotz: Are you able to use
Schematron?
Philip Fennell: Yes, I got that
suggestion already.
Steven Pemberton: So NVDL doesn't
support cross-namespace ID references?
Philip Fennell: It validates each bit
of markup as it comes to it. So a repeat with an bind attribute
can't see the bind that it refers to.
Steven Pemberton: So it's a bug in how
it works.
Philip Fennell: It's a feature, I'm
afraid.
Steven Pemberton: I'm happier with a
validator missing mistakes than I am with it reporting mistakes
that aren't there.
Philip Fennell: I could ask the Jing
people to do the same for XML Schema and we could add Schematron to
check idrefs.
Leigh Klotz: Some schema processors
cannot ignore refs off ids.
Steven Pemberton: So we want an XForms
validation service.
Leigh Klotz: I have the RNG one and we
could switch to NVDL later when it's better.
Steven Pemberton: So there is a
version we could use now and upgrade to NVDL.
Leigh Klotz: The configuration is an
issue. I think it uses MIME types.
Steven Pemberton: So what's the
minimal thing to do?
Leigh Klotz: Create a directory and
unzip the XHTML+XForms RNC zip there.
Steven Pemberton: I'm looking for an
online service.
Leigh Klotz: We need a directory for
the schema and a document to point to it.
Steven Pemberton: We have a document
that's mean to do that, XForms for XHTML.
Steven Pemberton: We have this empty
directory: http://www.w3.org/MarkUp/Forms/Schema
Leigh Klotz:
http://lists.w3.org/Archives/Public/public-forms/2010Sep/0031.html
Steven Pemberton: I'll fix it.
Action 2010-10-13.1: Steven Pemberton to copy files from http://lists.w3.org/Archives/Public/public-forms/2010Sep/0031.html into a suitable directory.
Leigh Klotz: So we have http://www.w3.org/TR/XForms-for-HTML/
Steven Pemberton: So we make the next
version a description of XForms with Schemas.
Leigh Klotz: But it's XHTML.
Steven Pemberton: http://www.w3.org/MarkUp/Forms/2009/charter2010.html
Leigh Klotz: So we can keep the name
HTML.
Steven Pemberton: Yes.
Leigh Klotz: So where is the old
content?
Steven Pemberton: The dated versions
will not go away. http://www.w3.org/TR/2008/WD-XForms-for-HTML-20081219/
Leigh Klotz: I think we'll just say
the whole thing changed and not do a diff version.
Steven Pemberton: I think that's
perfectly accessible.
Erik Bruchez: There's some level of discussion on most features.
Leigh Klotz: How about http://www.w3.org/MarkUp/Forms/wiki/Improved_UI_Events
Leigh Klotz: It points to
http://wiki.orbeon.com/forms/doc/developer-guide/xforms-refresh-events
Steven Pemberton: Erik, can you send
mail to the group with the reading list.
Action 2010-10-13.2: Erik Bruchez to send out reading list for xforms refresh for next week.
Steven Pemberton: Needs a new
owner.
Leigh Klotz: Alain has implemented
it.
Steven Pemberton: I'll update the
page.
Action 2010-10-13.3: Steven Pemberton to update http://www.w3.org/MarkUp/Forms/wiki/Json with current state
Erik Bruchez: It evalutes an XPath
expression not known statically at compile time.
Nick van: I think so.
Steven Pemberton: Looks like John
created this one.