Working through open issues identified during last call process.
Note that one way to think of repeat processing is as
follows.
The body of repeat contains a box
that gets cloned multiple times for each node that we are iterating
over.
Think anonymous box showing up in the presentation DOM
--we need a way of styling these boxes via CSS.
If we agree with the above, then we can have the anonymous box
corresponding to a particular node in the nodeset inherit its
style properties from the node it corresponds to.
If we then have a CSS pseudo class for styling nodes with
relevant-false we are done.
We need the following from CSS to do the above:
A pseudo-element to address the anonymous box mentioned above.
A pseudo-class to address relevant.
A pseudo-class to address the repeat cursor i.e. index
Resolved as above, update specification with relevant clarification
action
Resolved: we decided not to default the event to be
activate in the schema --even though it is
usually ev:activate.
Resolved Yes--
idref should be upper case
Editorial: accept
accept
issue: schema for group is ambiguous.
Resolved: implement option C in the schema for group.
Also add optional label to case.
Handler script is being defined in multiple places --XHTML
2.0.
We feel it is better for XForms to drop element script
and say that it comes from the host language.
Further, element script
will be defined in an XML Events handler document so that handler
script
becomes a reusable element that is used consistently by different host
languages.
There is a need to be able to integrate repeat behavior
into host languages at points where the content model of the host
language does not provide the appropriate extension hooks via
modularization.
A good example of this is XHTML tables where the content model is
already fixed.
The present approach of using repeat elements inside tables
will therefore fail to validate against an XHTML schema. Here
is a solution that we agreed on.
Here are some clarifications to repeat that motivate this solution.
Repeat contains a template that is repeated over nodes in the selected nodeset.
Repeat does not define a container around the collection of repeated items.
Given the above clarifications, we agreed on the following approach:
Create an attribute group in the XForms namespace that contain
the following attributes from
element repeat
repeat-modelrepeat-bindrepeat-nodesetrepeat-startindexrepeat-number
We prefix each of these attribute names with repeat-
Now, repeat behavior can be used with elements that dont allow
extending their content model by instead placing these
repeat- attributes on the appropriate
element.
The above should be thought purely as a syntactic transformation, i.e., there is no change to repeat processing semantics.
Further, for purposes of understanding the above as a pure syntactic
transformation,
a normal repeat construct should be viewed as
containing an anonymous group that wraps the contents of
element repeat.
Thus, consider the following:
<repeat ...> ... </repeat>
is equivalent to
<repeat ...> <group>...</group> </repeat>
which is equivalent to
<group repeat-...> ... </group>
Additionally, to accommodate this design, we need to say that when
using action setindex,
attribute repeat of type idref
will point at the element carrying the repeat attributes.
Similarly, when using function index against a repeating
structure created via the repeat- attributes
defined above,
we use the id of that element as the argument to
function index.