W3C home > Mailing lists > Public > www-forms@w3.org > February 2006

Re: AW: Stylesheet for Transforming HTML forms to XForms

From: David Landwehr <david.landwehr@solidapp.com>
Date: Fri, 24 Feb 2006 07:28:10 +0100
Message-ID: <43FEA77A.7070907@solidapp.com>
To: "Huditsch, Roman (LNG-VIE)" <Roman.Huditsch@lexisnexis.at>
Cc: www-forms@w3.org

Hi Roman,

Again really good work, this is fun :)

I have some comments about the transformations:

1) in application_from.xhtml you make a xsi:type="xs:email". Two 
problems: xs is not a defined prefix so I cannot see what the type it is 
intended to be (a schema datatype or a xforms datatype). The other 
problem is that there is no xs:email datatype define in XML Schema 1.0 
or in XForms 1.0. However I like the idea of assign such a datatype (and 
indeed there is one in XForms 1.1) so maybe you can link you own schema 
and assign the datatype from that (you can just copy the definition from 
XForms 1.1).

2) It may be my mistake but instance('formData1')/ should be without the 
trailing / e.g. just instance('formData1')

3) You might know it since checkbox.xhtml does not transform probably 
but the transformation of a checkbox should be:
<xforms:select1 ref="zutat" appearance="full">
  <xforms:label></xforms:label>
  <xforms:item>
    <xforms:label>Salami</xforms:label>
    <xforms:value>salami</xforms:value>
  </xforms:item>
  ....
</xforms:select1>

4) in file_input.xml. This is the same as for 1) the xs prefix has to be 
declared. Another thing you could do was to include a mediatype and a 
filename element under the upload element and bind they values to 
attributes on the upload instance node. E.g. making the upload look like:
<xforms:upload mediatype="text/*" style="width: 240px" ref="file">
  <xforms:label></xforms:label>
  <xforms:mediatype ref="@mediatpype"/>
  <xforms:filename ref="@filename"/>
</xforms:upload>

and in the instance
<file mediatype="" filename="" xsi:type="xs:base64Binary"/>

5) In multiple_forms.xhtml there is a problem which is entirely my fault 
because I was fuzzy in my first mail. You should namespace the 
transformed xhtml:form -> xforms:group with a model attribute. E.g. the 
transformed <xhtml:form> should look like
<xforms:group ref="instance('formData1')" model="model1"/> and for the next
<xforms:group ref="instance('formData2')" model="model2"/>
Sorry about that. The current version will not work since you are not 
allow to cross reference instance between models in XForms.

6) Very nice transformation in outgroup.xhtml. There is a choices 
element in XForms which will allow you to transforms <optgroup 
label="Names starting with B"> into
<xforms:choices>
  <xforms:label>Names starting with B</xforms:label>
  <xforms:item>
    <xforms:label>Berta</xforms:label>
    <xforms:value>Berta</xforms:value>
  </xforms:item>
  ...
</xforms:choices>

7) For select.xhtml I like Tom Waits ;)

8) I really like the reset trigger. It is a good detail.

Keep up the good work!

Best regards,
David

Huditsch, Roman (LNG-VIE) wrote:
> Hi,
>
> I did my best to include all of your suggestions :)
> The new version now transforms xhrml:label elements if they occur
> directly before an xforms control or have a "for" attribute.
> When there is a <td> parent I leave it as it is, since otherwise it may
> wreck any table layouts.
> Attached is a new version of my stylesheet and some test cases.
> Any feedback is heartly welcome.
> Hope you enjoy it.
>
> all the best,
> Roman
>
>   
>> -----Ursprüngliche Nachricht-----
>> Von: David Landwehr [mailto:david.landwehr@solidapp.com] 
>> Gesendet: Mittwoch, 22. Februar 2006 16:17
>> An: Huditsch, Roman (LNG-VIE)
>> Cc: www-forms@w3.org
>> Betreff: Re: Stylesheet for Transforming HTML forms to XForms
>>
>> Hi Roman,
>>
>> Really excellent and exciting work!
>>
>> I have some suggestions:
>> 1) the xhtml:form is kept in the resulting document after the 
>> transformation. It would be great to remove the element and 
>> replace it with a group. The group could have ref="/instance" 
>> to remove the requirement for the child controls to have that 
>> part in they refs.
>> 2) It would really be cool to create a model or instance for 
>> each form in the document. That would require proper model 
>> namespacing. Because xhtml forms always are separated by its 
>> parent form element, that can simply be done using a 
>> model/ref with instance('')  on the transforming of  the 
>> xhtml:form element like xforms:group ref="instance('ins1')" 
>> model="model1".
>> 3) A nice feature would be to transform a xhtml:label like:
>> <xhtml:label for="ctrl1">Label</xhtml:label><xhtml:input type="input" 
>> name="some" value="bb" id="ctrl1"/>
>> to
>> <xforms:input ref="/instance/some">
>>   <xforms:label>Label</xforms:label>
>> </xforms:input>
>>
>> 4) For input/@type="file" it does not generate a instance 
>> element to hold the value. It would be great if it did that 
>> and additional specified the type to be e.g. a base 64 
>> encoding using xsi:type="xsd:base64Binary".
>>
>> If you shared the html files you use to test with it would be 
>> much easier to provide you with feedback.
>>
>> Again really great work!
>>
>> Best regards,
>> David
>>
>>
>> Huditsch, Roman (LNG-VIE) wrote:
>>     
>>> Hi,
>>>
>>> I just tried to write an XSLT stylesheet for transforming 
>>>       
>> simple HTML 
>>     
>>> forms to their XForms equivalents. I hope that I have 
>>>       
>> considered all 
>>     
>>> controls mentioned by selfhtml and the "XForms for HTML Authors"
>>> document.
>>> I would be glad to get any input on it :)
>>>
>>> wbr,
>>> Roman
>>>
>>> _______________________________________
>>>
>>> Roman Huditsch
>>> IT and Electronic Publishing
>>> LexisNexis ARD Orac
>>> Marxergasse 25
>>> 1030 Vienna
>>> Austria
>>> ph: +43-1-534 52-1514
>>> f: +43-1-534 52-140
>>> e-mail roman.huditsch@lexisnexis.at
>>> www.lexisnexis.at
>>>
>>>   
>>>       
>> --
>> --------------------------------------------
>> David Landwehr (david.landwehr@solidapp.com) Chief Executive 
>> Officer, SolidApp
>> Web: http://www.solidapp.com
>> Office: +45 48268212
>> Mobile: +45 24275518
>> --------------------------------------------
>>
>>     


-- 
--------------------------------------------
David Landwehr (david.landwehr@solidapp.com)
Chief Executive Officer, SolidApp
Web: http://www.solidapp.com
Office: +45 48268212
Mobile: +45 24275518
--------------------------------------------
Received on Friday, 24 February 2006 06:43:00 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Saturday, 10 March 2012 06:22:03 GMT