XForms Users Community Group Teleconference

24 Feb 2016


See also: IRC log


Steven, Alain, Erik, Philip


New TR style



Steven: There is a new TR style, required from 1 March
... so I will look into implementing it.

<scribe> ACTION: Steven to implement new TR style [recorded in http://www.w3.org/2016/02/24-forms-minutes.html#action01]

<trackbot> Created ACTION-2054 - Implement new tr style [on Steven Pemberton - due 2016-03-02].

ACTION-2051 - Experiment with a type for non-space string, and

report back


Steven: Thank you for doing that Alain (http://www.agencexml.com/direct/trimmed/typed-hello.xml)
... What did it involve

Alain: Added a type
... input field can be edited, but the instance value is not necessarily updated.

Steven: What did you have to change in the implementation?

Alain: I had to separate the inpur node and the instance value
... look at the source

Steven: The implementation has to recognise the type specially?

Alain: Yes.

Erik: Who does the trimming?

Alain: It's in incremental mode

Erik: Yes, but at which point?

Alain: When refreshing.
... it compares values after removing spaces.

Steven: SO a user couldnt add a type like this?

Alain: No, the implementation recognises the type.

Steven: So if you wanted a type to remove all spaces, and another type to reduce all spaces to single ones, you would have to introduce two more types and recognise them specially in the implementation

Alain: Yes.

Erik: When I type, something gets added to the data, and then I type a space, that gets written to the data, and on a refresh it gets trimmed?

Alain: Yes

Erik: The value for the output is trimmed on refresh, and the value of the input is not trimmed if it has focus?

Steven: So you have special knowledge on the input and output?

Alain: No, not on the output

Erik: If I tab out of the field?

Steven: Then the input value gets trimmed as well?

Alain: Yes.

Erik: We do it differently.
... The value in the input gets written to the data, and gets trimmed at the next recalculate
... On refresh, the control just gets the value.
... Something special would need to be done to deal with incremental

Steven: Yoou said that you have a whitespace flag on the value?

<ebruchez> xxf:whitespace="preserve | trim"

Erik: It's a new MIP

Steven: Is that better than a type?

Erik: Not sure. You can add this to any type.
... for instance, an email type can have whitespace trim.

Steven: If it were a MIP, we could add other values, I'm thinking of a credit-card value, that would remove all spaces.

Erik: Normalise spaces would be another.
... collapse spaces.
... it is annoying that in 2016 there are still websites telling you not to type spaces.
... there are other possible transformations, where whitespace is a subset, but an important one.

Alain: Phone numbers with dots and dashes, same problem.

Steven: I like the MIP solution, because you can apply it to any type.
... would it be more difficult to do it in your implementation Alain?

Alain: No.

Erik: You can actually see it as a calculation.

Alain: It's related to 'collations'.
... for instance uppercase to lowercase.

<ebruchez> calculate="normalize-space()"

Steven: It could be done with a function that removes the spaces, and a calculate, with two values, one for input and one for output.

<ebruchez> calculate="xxf:trim()"

<data> <in/><out/></data>

<bind ref="out" calculate="trim(../in)"/>

<input ref="in"/>

<output ref="out"/>

Erik: Clearly.
... but this would be heavy for a large form.

Steven: you were suggesting a calculate that calculates itself.

Erik: Yes.
... but this has problems for incremental mode.
... that's a drawback.

Steven: We don't have anything at present in XForms that does anything like that...

Erik: I don't think so; I use it in forms, though less now that we have the whitespace MIP.

Steven: Let's take a week to let this all sink in.

Alain: Yes. Though I think it may be a more general problem.
... It's a two-way problem.

<ebruchez> <input format="..." unformat="..." ...>

Erik: We have things like this in our implementation for dealing with the input/output differences
... flexible, but you need to write the expressions every time
... better really to have it at the model level.

ACTION-2053 - Work out how to replace link-exception


Steven: Erik, anything on this?

Erik: I sent an email: https://lists.w3.org/Archives/Public/public-xformsusers/2016Feb/0040.html
... we can use the other exceptions as a model for how to solve it. Not difficult.
... See mail.

Steven: Looks convincing, anyone got any problems with it?

Alain: No

Philip: No

<scribe> ACTION: Erik to implement replace link-exception [recorded in http://www.w3.org/2016/02/24-forms-minutes.html#action02]

<trackbot> Created ACTION-2055 - Implement replace link-exception [on Erik Bruchez - due 2016-03-02].


Steven: Organising XML Days in AMsterdam later in the year, sometime in the autumn. More details to follow.


Summary of Action Items

[NEW] ACTION: Erik to implement replace link-exception [recorded in http://www.w3.org/2016/02/24-forms-minutes.html#action02]
[NEW] ACTION: Steven to implement new TR style [recorded in http://www.w3.org/2016/02/24-forms-minutes.html#action01]

Summary of Resolutions

[End of minutes]

Minutes formatted by David Booth's scribe.perl version 1.144 (CVS log)
$Date: 2016/02/24 14:45:45 $

Scribe.perl diagnostic output

[Delete this section before finalizing the minutes.]
This is scribe.perl Revision: 1.144  of Date: 2015/11/17 08:39:34  
Check for newer version at http://dev.w3.org/cvsweb/~checkout~/2002/scribe/

Guessing input format: RRSAgent_Text_Format (score 1.00)

Succeeded: s/TH/Th/
Succeeded: s/TH/Th/
Succeeded: s/iit/it/
Succeeded: s/calculates/calculate/
Succeeded: s/calculates/calculate/
No ScribeNick specified.  Guessing ScribeNick: Steven
Inferring Scribes: Steven
Present: Steven Alain Erik Philip
Agenda: https://lists.w3.org/Archives/Public/public-xformsusers/2016Feb/0037
Found Date: 24 Feb 2016
Guessing minutes URL: http://www.w3.org/2016/02/24-forms-minutes.html
People with action items: erik steven

[End of scribe.perl diagnostic output]