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

Re: Problem with XForms 1.0 Basic Profile document when used with XFo rms Full processor

From: Kenneth Sklander <kenneth@sklander.net>
Date: Tue, 2 May 2006 16:49:38 +0200
Message-Id: <D3C42F95-995F-4B3B-BBA5-A5A132577085@sklander.net>
Cc: "Klotz, Leigh" <Leigh.Klotz@pahv.xerox.com>, "'www-forms-editor@w3.org'" <www-forms-editor@w3.org>
To: "Steven Pemberton" <steven.pemberton@cwi.nl>

However this erratum has not been issued and is not included in  
xforms 1.0 SE...

And i believe the discussion was kind of one-sided and the resolved  
was forced through without any try to get consensus.

kenneth
On May 2, 2006, at 4:25 PM, Steven Pemberton wrote:

>
>
> Leigh,
>
> Thank you for your comment.
>
> The XForms WG discussed this issue[1] and resolved that the problem  
> lay with the description of how types are bound to the data in  
> XForms. They resolved to:
>
> "Issue an erratum for 6.1.1 Type property about how the type is  
> bound to the data. It mustn't be done by equivalency to xsi:type  
> attribute."
>
> If this reply satisfies your comment, please reply to this mail to  
> that effect.
>
> Many thanks,
>
> Steven Pemberton
> For the XForms WG
>
> [1] http://www.w3.org/2006/03/23-xforms-minutes#item02
>
> On Tue, 31 Aug 2004 23:23:56 +0200, Klotz, Leigh  
> <Leigh.Klotz@pahv.xerox.com> wrote:
>
>>
>>
>> In "3 Conformance", the XForms 1.0 Basic Profile CR [1] says
>>   XForms Basic Profile processors may implement a subset of an XML  
>> Schema
>> processor
>>   [XML Schema part 1], [XML Schema part 2], requiring only what is  
>> necessary
>> to process
>>   the attribute xsi:type on instance data for simpleTypes only and  
>> the type
>> model
>>   item property for simpleTypes only.
>>
>> In "3.3.1 The model Element", the XForms 1.0 REC [2] says
>>   Optional list of xsd:anyURI links to XML Schema documents  
>> outside this
>> model element.
>>   The XForms Processor must process all Schemas listed in this  
>> attribute.
>>
>> My understanding is that the Basic Profile changes this "must" to  
>> either a
>> "must not" or perhaps a "should not" for XForms Basic.
>> In any case, I assume that the schema attribute (and similarly,  
>> the embedded
>> xsd:schema element) are allowed in documents processed by an  
>> XForms Basic
>> processor, but are to be ignored.
>>
>> Now, consider the following case where an instance contains an  
>> element with
>> a simple value (such as a decimal or a time) and a boolean attribute:
>>
>>   <time precise="true">06:00:00</time>
>>
>> The goal of adding an attribute to an element of simple type  
>> content is
>> common, and in fact the first qustion in a popular XML Schema FAQ  
>> [3] shows
>> that it is in fact, a frequently-asked question.  The cited FAQ  
>> then gives a
>> complexType definition extending a simple type and adding an  
>> attribute.
>>
>> Here is a complete XForms Full example, using XML Schema, a sample  
>> instance
>> document, and an XHTML 1 document with XForms controls, using the XML
>> Schema.  It relies on the XML Schema referred to from the model to  
>> define
>> the type of the attribute as boolean, so that the XForms Processor  
>> may
>> display it as a checkbox.
>>
>> XForms Basic does not interpret the schema attribute, but it does  
>> "process
>> ... type model item property for simpleTypes only" so we can add
>>   <xf:bind ref="my:length/@my:precise" type="xsd:boolean" />
>> to the model, and both Full and Basic XForms Processors will  
>> display the
>> attribute as a boolean (for example, as a checkbox in a graphical  
>> user
>> interface).
>>
>> Note that the base type of the element, xsd:time, is also one that  
>> XForms
>> processors may choose to use for display purposes, perhaps by  
>> showing a time
>> chooser (see "8.1.2 The Input Element" [4]).  So, the natural next  
>> step
>> would be to bind that type to the node, as follows:
>>   <xf:bind ref="my:length" type="xsd:time" />
>> This will indeed work in XForms Basic, because it will process the  
>> type
>> model item property, and xsd:time is an XML Schema simpleType and  
>> is in the
>> list of types to be processed by XForms Basic.
>>
>> Unfortunately, XForms Full processors have already interpreted the  
>> XML
>> Schema specified by the model schema attribute, and have a  
>> conflicting type.
>>
>> Therefore, I believe that it is difficult to create XForms Full  
>> profile
>> documents that also work in XForms Basic, unless some subtyping  
>> allowances
>> are introduced into the consistency checking performed by the type  
>> model
>> item property.
>>
>> Leigh.
>>
>> -------------------precision.xml---------------------
>>   <?xml version="1.0" ?>
>>   <data xmlns="http://www.example.com">
>>     <time precise="true">06:00:00</time>
>>   </data>
>> ---------------------precision.xsd-----------------------
>>   <?xml version="1.0" ?>
>>   <xsd:schema xmlns:my="http://www.example.com"
>> 	      targetNamespace="http://www.example.com"
>> 	      xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>> 	      elementFormDefault="qualified">
>>     <xsd:element name="data">
>>       <xsd:complexType>
>> 	<xsd:sequence>
>> 	  <xsd:element ref="my:time" />
>> 	</xsd:sequence>
>>       </xsd:complexType>
>>     </xsd:element>
>>     <xsd:element name="time" type="my:preciseTime"/>
>>     <xsd:complexType name="preciseTime">
>>       <xsd:simpleContent>
>> 	<xsd:extension base="xsd:time">
>> 	  <xsd:attribute name="precise" type="xsd:boolean" use="required"/>
>> 	</xsd:extension>
>>       </xsd:simpleContent>
>>     </xsd:complexType>
>>   </xsd:schema>
>>
>> ---------------------precision.xhtml---------------------
>>   <?xml version="1.0" encoding="iso-8859-1" ?>
>>   <html xmlns="http://www.w3.org/1999/xhtml"
>> 	xmlns:xf="http://www.w3.org/2002/xforms"
>> 	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>> 	xmlns:my="http://www.example.com">
>>     <head>
>>       <title>XForms Samples</title>
>>       <xf:model schema="precision.xsd">
>> 	<xf:instance src="precision.xml" />
>> 	<xf:bind nodeset="my:time" type="xsd:time" />
>> 	<xf:bind nodeset="my:time/@my:precise" type="xsd:boolean" />
>>       </xf:model>
>>     </head>
>>     <body>
>>       <h1>Precision</h1>
>>       <xf:group>
>> 	<xf:input ref="my:time"><xf:label>Time</xf:label></xf:input>
>> 	<xf:input
>> ref="my:time/@my:precise"><xf:label>Precise?</xf:label></xf:input>
>>       </xf:group>
>>     </body>
>>   </html>
>> -------------------------------------------------------------
>>
>> [1] http://www.w3.org/TR/2003/CR-xforms-basic-20031014/#id2606183
>> [2]
>> http://www.w3.org/TR/2003/REC-xforms-20031014/index- 
>> all.html#structure-model
>> [3] http://www.mathling.com/xsd/
>> [4] http://www.w3.org/TR/2003/REC-xforms-20031014/index- 
>> all.html#ui-input
>>
>>
>
>
>
>
Received on Tuesday, 2 May 2006 14:49:59 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 10 June 2009 18:12:15 GMT