XForms 1.1 schema is now available

The new schema file for XForms 1.1 is now available.
You can always get access to it from the editor's draft  at 
http://www.w3.org/MarkUp/Forms/specs/XForms1.1/index-diff.html

But the direct link is here:  
http://www.w3.org/MarkUp/Forms/2007/XForms-11-Schema.xsd

Nick and Charlie added a quite a number of the XForms 1.1 schema content. 
I also did quite a number of additional things which are listed below in 
case we get any volunteers to double-check what I did to make sure I 
didn't mess anything up here.

1) I reordered the schema so that it very closely matches the order of the 
spec itself (the main deviation is that I left all the public datatypes at 
the end rather than putting them before the UI controls.   This makes it 
easier to check the schema against the spec.

2) I changed  "Form.Controls" to "Core.Form.Controls" to match the new 
naming convention in the spec.  I then defined "Container.Form.Controls" 
and applied that in the places it was supposed to go.

3) In both spec and schema file, I fixed the fact that repeat did not list 
Action* in its content model (itemset did not have the same problem, and 
we do now include extensive commentary on action children of repeat and 
itemset; it's just that the statement of the content model didn't get 
updated to match).

4) Added the 'text' keyword to submission/@replace

5) Added the proper default to numerous submission attributes

6) Added the value attribute to the value element.  I also noticed that 
the value element incorrectly had mixed content, and this was wrong so I 
changed it to string content only.

7) Added the value attribute to mediatype for output only.  See separate 
email about this.  Had to make mediatype stop being a top-level element. 
Therefore, removed filename from top-level while I was in the 
neighborhood.

8) Added actions to children of output (spec'd but not done in schema).

9) In response to a last call comment, I changed the schema of submission 
so that resource, method and header children can be in any order.  An 
effort was made to do this, but it wasn't correct. 

10) Implemented order independences of children of header.  An effort was 
made to do this, but it allowed arbitrarily many name and value children. 
I changed this to allow name then value or value then name.

11) I changed maxOccurs from unbounded to 1 on toggle/case, 
setfocus/control and load/resource.  Similarly, I changed maxOccurs from 
unbounded to 3 on the (name|target|delay) children elements of delay since 
only one of each is allowed.

12) A value template type was created for the elements we defined to carry 
a value attribute, including toggle/case, setfocus/control, load/resource, 
etc.  that value template allowed mixed content, which was incorrect.  I 
changed it to allow only string content.

Finally, I almost thought I heard Leigh volunteering to move the unwanted 
top level elements to types.  If you're amenable, Leigh, please do; it 
really looks like a non-risky piece of work.  Here's the file as an 
attachment...



Thanks,
John M. Boyer, Ph.D.
STSM: Lotus Forms Architect and Researcher
Chair, W3C Forms Working Group
Workplace, Portal and Collaboration Software
IBM Victoria Software Lab
E-Mail: boyerj@ca.ibm.com 

Blog: http://www.ibm.com/developerworks/blogs/page/JohnBoyer

Received on Thursday, 25 October 2007 22:17:57 UTC