- From: Erik Bruchez <erik@bruchez.org>
- Date: Wed, 5 Mar 2014 09:51:50 -0800
- To: Steven Pemberton <Steven.Pemberton@cwi.nl>
- Cc: Forms WG <public-forms@w3.org>
Steven, Quick comments: 1. `filename="{@filename}"` and `mediatype="{@mediatype}"` won't work, because AVTs evaluate to a string value. What these two attributes specify is the ability to *write* to a node. So for these you would need something like `filename-ref` and `mediatype-ref`. 2. We could, as discussed in that older thread, say that item and itemset support constant values as text: <item label="New York">NY</value> And `@value` would remain an XPath expression. 3. xf:copy `@copy` could be an XPath expression. If `@value` is one, then at least we would have some consistency here. 4. Styling There was a suggestion to use pseudo-elements as well. So couldn't we use: xf|label, :xf|label { ... } -Erik On Wed, Mar 5, 2014 at 8:49 AM, Steven Pemberton <Steven.Pemberton@cwi.nl> wrote: > It's probably too late for this draft, but here is my view of the label as > attribute situation. > > 1. It would be easy to add @label, @help, @hint, @alert to the attribute set > UICommon, which would mirror the content set of the UICommon elements. > 2. Of the core controls > (input|secret|textarea|output|upload|range|trigger|submit|select|select1), > only <output> is the odd one out, where <label> is optional. > 3. group, dialog and choices only have <label> (no help hint and alert) > 4. switch and repeat have none of them > > Now the special cases. > > 1. upload has a filename child element, which for consistency we might want > to mirror in an attribute > <upload ref="mail/attachment" accept="video/*,image/*,.txt,.pdf"> > <label>Select attachment:</label> > <filename ref="@filename" /> > <mediatype ref="@mediatype" /> > </upload> > => > <upload ref="mail/attachment" accept="video/*,image/*,.txt,.pdf" > label="Select attachment:" filename="{@filename}" mediatype="{@mediatype}" > /> > > 2. <item> has <label> and <value>. The problem here is that @value would > operate differently from @value on other elements, where it is an > expression, while here it would be a string/AVT. Not sure what to do. > > <output label="Total" value="total"/> > > <item label="New York" value="NY" /> > <item label="{@name}" value="{@code}" /> > or > <item label="New York" value="'NY'" /> > <item label="{@name}" value="@code" /> > > Difficult. > > 3. itemset label value|copy. Copy is empty, and you only use it for the ref, > so do we make it an AVT or an expression? > <select model="cone" ref="my:order"> > <label>Flavors</label> > <itemset model="flavors" ref="my:flavor"> > <label ref="my:description"/> > <copy ref="my:description"/> > </itemset> > </select> > => > <select model="cone" ref="my:order" label="Flavors"> > <itemset model="flavors" ref="my:flavor" > label="{my:description}" copy="my:description"/> > </select> > or > <select model="cone" ref="my:order" label="Flavors"> > <itemset model="flavors" ref="my:flavor" > label="{my:description}" copy="{my:description}"/> > </select> > ? > > Priority > > I suggest a behaviour that if an element has both an attribute and its > matching element, the attribute gets priority (offering backwards > compatibility). > > Styling > > CSS styling is not a problem, but we might want to discuss it: > > *[label]:before {content: attr(label); ... other styling...} > *[hint:hover:before {content: attr(hint); ... other styling...} > *[alert]:invalid:before {content: attr(alert); ... other styling...} > > Steven >
Received on Wednesday, 5 March 2014 17:52:39 UTC