Uli Lissé, DreamLabs
John Boyer, IBM (chair)
Charlie Wiecha, IBM
Leigh Klotz, Xerox (minutes)
Steven Pemberton, CWI/W3C
Erik Bruchez, Orbeon
Nick van den Bleeken, Inventive Designers
http://lists.w3.org/Archives/Public/public-forms/2009Jun/0096.html
John Boyer: Next week: Charlie chairs, Steven Scribes. Look in the IRC log for Zakim comands. The summer regrets are at http://www.w3.org/2002/09/wbs/32219/formsabsence2009/
Steven Pemberton: I got a request for renewing calls; I may have missed it.
John Boyer: The July 2nd meeting has been moved to September 3.
John Boyer: Nick's last action item
list was updated June 24th; there are Juen 25th actions still to be
added.
Nick van: OK.
Charlie Wiecha: I'll look at
it.
John Boyer: Please send list and CC to
Nick to check in.
John Boyer: Do we have the call
yet?
Steven Pemberton: I'm assuming it will
come in today.
John Boyer: It would be good to get it
done so I can publish first.
John Boyer: We need both fine tuning and some other adjustments. We need to make sure any implementor changes have gotten back into the test suite.
John Boyer: The problem is with
repeat nodeset. The event is targeted at the @nodeset element. In
3.2.4.f, the itemset element has an @bind but the bind is an
invalid bind, and is supposed to be invalid so we get a binding
exception. However, the handler for the binding exception is inside
the itemset element and uses only ev:event. The spec is clear that
any action handlers that appear in the repeated template (in this
case an item) are made unavailable to the XForms processor. So you
have to create an item with the itemset to get the handler, so
since there is an invalid bind, you never get any actions, and
never see the message. This test is easily fixed by moving the
action handler outside the itemset and letting the binding
exception bubble up to the containing select1 and handling it
there. We could also use ev:observer, but that seems
unnecessary.
John Boyer: Any objections to someone
(me?) fixing this by moving the action handler out of the
itemset?
Charlie Wiecha: Sounds like a good
idea.
John Boyer: Anybody willing to handle
the change?
Charlie Wiecha: I can do it when I do
the others.
John Boyer: 4.4.18.a is not
technically broken (xforms-scroll-first, xforms-scroll-last). In
the example we show the handler outside the repeat since we want
the handler run only once. A correct pass of test would have
multiple occurrences of the handler. It already has
ev:observer.
Charlie Wiecha: The file you linked to
has already been modified.
John Boyer: That's the modified test
from Ubiquity XForms. Ours uses default namespace qualification,
for example.
Charlie Wiecha: And the model has been
moved.
John Boyer: Yes, it's automated. The
XForms markup is the same.
Action 2009-07-8.1: Charlie Wiecha to fix tests 3.2.4.f and 4.4.18a http://lists.w3.org/Archives/Public/public-forms/2009Jul/0001.html
John Boyer: We've fixed these type before. In Ubiquity we move the model element to the body. For whatever reason, a message handler targeting the model was outside the model. It's best practice to put them in the model. It makes the test better by showing that the event is targeted at the model. (We've had bugs where the event was targeted at the parent of the model.)
Action 2009-07-8.2: Charlie Wiecha to fix test fix 3.3.1.c1 http://lists.w3.org/Archives/Public/public-forms/2009Jul/0000.html
Charlie Wiecha: It claims the
messages are listening on group, which is not the target of the
disabled and enabled events. That's the case element.
John Boyer: At one point we didn't
have the schema allowing action elements to be children of the case
element. But they didn't set ev:observer. We could add a label to
case (can we?) or we could add ev:observer. In the Conformance
section we say that ev:observer support is recommended. It may be
better to eliminate the group.
Charlie Wiecha: I went through Chapter
9 in Ubiquity and saw the messages appearing, a week ago.
John Boyer: Someone may be
inadvertently attaching action handlers to the parents of group
elements. Action handlers directly within a repeat need to be
attached to the repeat...no, they will attach to the implicit
group. Either way the test should be corrected. Hang on...that's a
test of 9.1.1, not 9.2. I think the claim is mistaken. Yes, as a
result of not selecting the case, the case element gets disabled,
and the internal content becomes disabled. The group element
receives a disabled event as a result of that.
Charlie Wiecha: A different
event.
John Boyer: So this tests the behavior
of group, not case. The task is to respond to Joern.
Action 2009-07-8.3: Charlie Wiecha to respond to http://lists.w3.org/Archives/Public/www-forms/2009Jun/0038.html that 9.1.1.a2 test is correct. (viz. minutes.)
John Boyer: Nick, please let me
know if you need questions answered on this.
Nick van: I will try.
John Boyer: Besides Charlie, does anyone else have updates? Please check your items.
Charlie Wiecha: It seems
straightforward. Who would be the constituency? We would have to
have someone prepared to use it and implement it. This is XML data,
not JSON data.
John Boyer: RNG or SchemaTron. Or
event XML Schema 1.1. The updated engines have more power. That
would be enough for us to want to do the generalization. Would this
help XRX? Does eXist have support?
Leigh Klotz: Java has support for RNG
now.
Erik Bruchez: W3C Schema specifies
type annotations. I don't think it's the case with RNG. I don't
know if you have the term "type" used by RNG. So whenever we
discuss types, we'd have to see how it can apply to relax, if at
all.
John Boyer: I was concerned about the
fact that wiring in a new Schema engine would mean not just full
validation before submission, but do they also have type
libraries?
Erik Bruchez: I wonder about XSLT and
types with Relax NG.
John Boyer: We need a JavaScript
version for Ubiquity. We don't have anything but base
datatypes.
Leigh Klotz: See http://www.oasis-open.org/committees/relax-ng/xsd.html
. I think the result was that the XSD datatypes were brought into
RNG.
Erik Bruchez: Yes, that's the easy
part. It's just validating strings.
John Boyer: Can you derive types from
them?
Leigh Klotz: Yes, they're called
patterns. But they're not types. The thing that RNG lacks is the
PSVI.
Leigh Klotz: I'm willing to do some
thinking about it.
John Boyer: Then what?
Leigh Klotz: If the thinking is easy
then one of the open source Java implementations would be an easy
target.
John Boyer: So rather than predict, we
could defer the implementation and try to predict only a few months
in the future.
Leigh Klotz: I'm willing to work on
Erik's question and see if we can get the type information out. In
a Java implementation it happens almost for free, unless it's hard
to do, in which case we won't do it.
John Boyer: So you focus on the RNG implementation and then we decide how to make it pluggable.
Action 2009-07-8.4: Leigh Klotz to examine Relax NG as a schema language for XForms 1.2, with a focus on data type integration.
Nick van: I talked with Joern and
he thought that the component example was the real one.
John Boyer: Moreso than load?
Nick van: Yes.
John Boyer: I have a related
question: are any implementation where the load is a javascript
call?
Leigh Klotz: I think I saw it was when
Allan was working on Mozilla XForms.
John Boyer: What does the show
parameter mean?
Uli Lissé: [irc] load
javascript is still working in mozilla xforms plugin; iirc, in
chiba too
John Boyer: show=new or show=replace?
What is the context? Do you replace the document or launch the
JavaScript in a new window?
Uli Lissé: [irc] It's a
hack.
John Boyer: OK, so maybe doing it with
an action as in the September 3rd agenda is better.
John Boyer: So we aren't going to talk about that one any more.
Nick van: In an XPath 1
implementation it would be global, but in XPath 2 it would be in
the namespace. It creates a node. If it contains a namespace prefix
it will use the in-scope namespace prefixes.
John Boyer: The current version of
specxml only recognizes XPath 1.0 function signatures. We should go
to XSLT 2.0 and find out what specxml they use.
Leigh Klotz: It should be possible
to specify a namespace URI. Otherwise you can create only elements
with static. You could have local name; local name and URI; or
local name, URI and prefix.
Nick van: In XSLT2 has you can also
use the namespaces that come from another element.
John Boyer: That can be more efficient
since you don't have to declare the namespace prefix again.
Leigh Klotz: Are you talking about
string comparisons?
John Boyer: The origin creates an
orphan node with an xmlns:my in order to be namespace qualified;
that is then inserted into a context.
Erik Bruchez: I don't know how the
in-scope namespaces related to nodes in DOM, but any specification
that looks at inserting new elements and attributes into a DOM will
tell you that you have to do namespace fixup after insertion and
you might have to do some magic. It's not necessarily an easy
problem but other people have
Leigh Klotz: I think there needs to be
a way to make an Element with local name, namespace URI, and prefix
without those being statically declared.
Nick van: [IRC] In xpath 2.0 it is
easy fn:expanded-QName("http://foo", "bar") returns xs:QName
Nick van: It is available only in
XPath 2.0. I don't think it can be done in XPath 1.0.
Erik Bruchez: The need for other
namespaces is rare for us. I wouldn't spend a lot of time on making
it work for XPath 1.0 since it works in XPath 2.0.
John Boyer: The result that comes back
from xf:element is a complete well-formed piece of XML.
Erik Bruchez: Yes.
John Boyer: That has nothing to do
with XPath 1.0 or XPath 2.0.
Nick van: It's the arguments provided.
In XPath 1.0, it's a string. In XPath 2.0, it accepts any basic
type. Then an xs:QName already has th expanded namespace name and
local name.
John Boyer: The implementation can
still read the string and interpret as a qname. We do that in the
id function.
Nick van: Then the prefix is there and
you can't get the URI.
Leigh Klotz: So for XPath 1.0 you'd
have the local name, URI, and prefix.
Erik Bruchez: Since we're using XPath
2.0 we don't need it.
Nick van: There is a second optional
parameter of items.
Leigh Klotz: That's my second
question. How come someone else isn't doing this?
Nick van: Saxon is already doing the
parse.
Leigh Klotz: It seems like it would be
more JDOM or XOM like if Michael Kay is involved.
Erik Bruchez: They're done in the
language itself, with XSLT, for example.
John Boyer: You could use
xf:attribute to create xmlns:my.
Erik Bruchez: Namespaces aren't
attributes. In the InfoSet they are not considered attributes. I'm
not sure what an implementation would do.
John Boyer: So xf:attribute cannot
create a namespace node. Is there an xf:namespace node?
Nick van: Why?
John Boyer: So just create the
namespace node.
Nick van: That's strange; look in the
optional argument to create the namespace of the element?
Leigh Klotz: It creates the element
and then adds the element.
Erik Bruchez: I think we shouldn't
worry about XPath 1.0.
Leigh Klotz: I'd like to see if
someone else can define this and we can contribute.
Erik Bruchez: You can ask Michael Kay
but XSLT and XQuery don't need XPath node constructors.
Nick van: We can just define them in
our own namespace and deprecate them later.
John Boyer: The only required XPath
engine in XForms.next is XPath 1.0. So we still have to define
them.
Nick van: We can import
libraries.
John Boyer: If we want node creation
to be required then it has to be expressible.
Erik Bruchez: We can require it for
XPath 2.0 only.
Leigh Klotz: As in JDOM,
add(xf:element("a"), xf:attribute("id", "value")) -->
<a id="value"> and returns element A
Leigh Klotz: That separates the add
content functionality from the element node creation and frees up
the arguments for xf:element to be unambiguous (local-name) or
(local-name, namespace-uri) or (local-name, namespace-uri,
prefix).
Erik Bruchez: ...
John Boyer: I don't see anything wrong
with what Nick has specified. The only thing we need is the ability
to control the namespace declaration on the element name; either
adding a namespace function, or with what Leigh has just posted. I
like what Leigh has posted better.
Leigh Klotz: I don't see anything
wrong with what I proposed, and Erik probably sees nothing wrong
with his, but you want XPath 1.0 and Erik doesn't, so we should try
to find an external forum to work out proposals for XPath functions
of such obvious utility. Maybe I'm wrong and nobody but us and
XSLT/XQuery cares about XPath, but I think we should seek outside
viewpoints, and hopefully an external place for these functions to
be defined.
Nick van: They are in Saxon
already.
John Boyer: So maybe someone should
contact Michael Kay now.
Erik Bruchez: Yes, you can never tell
what may come of it.
John Boyer: OK. Good luck next week Charlie.