- From: TempMarkBirbeck <Mark.Birbeck@x-port.net>
- Date: Fri, 17 May 2002 13:52:03 +0100
- To: "'Dan Dennedy'" <DDennedy@digitalbang.com>
- Cc: www-forms@w3.org
Hi Dan,
You wrote:
> From the spec, an itemset can not contain an itemset,
> but a choices can contain itemset or choices. If I
> want the hierarchy totally dynamic using itemset, is
> the following representation correct?
> <selectOne ref="">
> <caption>Select a category and keyword</caption>
> <choices>
> <itemset nodeset="">
> <caption ref=""/>
> <value ref=""/>
> </itemset>
> <choices>
> <itemset nodeset="">
> <caption ref=""/>
> <value ref=""/>
> </itemset>
> </choices>
> </choices>
> <selectOne>
Yes, it is correct, but it doesn't do what you want it to do.
> Does it adequately imply that the second itemset is
> dependent upon the first itemset similar to a nested
> repeat? This representation does not seem as strong
> as the nested repeat.
They are *not* nested - the two itemsets have a common parent, but that is
all. So there is no relationship between the two nodeset attributes.
> I would prefer something like the following where the
> nodeset context is more obvious:
>
> <selectOne ref="">
> <caption>Select a category and keyword</caption>
> <itemset nodeset="">
> <caption ref=""/>
> <value ref=""/>
> <itemset nodeset="">
> <caption ref=""/>
> <value ref=""/>
> </itemset>
> </itemset>
> <selectOne>
I agree with your sentiment, but actually all you'd need to do is allow
xforms:choices to have single node binding attributes
(xforms:bindFirstAttributes in the schema) which would mean you then don't
have to nest itemsets (which seems wrong when nesting is the job of
xforms:choices).
Another solution would be to allow xforms:group (or something with similar
functionality but called something like xforms:setContext to make its
purpose clearer) to appear anywhere in an XForms document. That would help
in a few other situations as well as this one, such as, when referring to
text for captions and hints it would be handy to be able to do this:
<xforms:button>
<!--
get the caption, hint, help and error messages in the selected
language, for
a 'Previous' button
-->
<xforms:setContext model="strings" ref="/lang/strings[@id='prev']">
<xforms:caption ref="caption" />
<xforms:alert ref="alert" />
<xforms:help ref="help" />
<xforms:hint ref="hint" />
</xforms:setContext>
<xforms:action ...>
...
</xforms:action>
</xforms:button>
There are many similar situations where this would save repetition. For
example, after inserting a new element with the xforms:insert action, it
would be convenient to be able to group a whole load of xforms:setValue
actions together, under a common context.
Regards,
Mark
Mark Birbeck
Managing Director
x-port.net Ltd.
4 Pear Tree Court
London
EC1R 0DS
E: Mark.Birbeck@x-port.net
W: www.x-port.net
T: +44 (20) 7689 9232
Co-author Professional XML and
Professional XML Meta Data,
both by Wrox Press
Received on Friday, 17 May 2002 08:45:49 UTC