W3C

XForms 1.0 Recommendation Errata

This version:
http://www.w3.org/2003/10/REC-xforms-10-20031014-errata
Last modified:
$Date: 2005/03/01 20:22:41 $
This document records known errors in the XForms 1.0 Recommendation:
http://www.w3.org/TR/2003/REC-xforms-20031014/
Editors:
Daniel Vogelheim, Sun Microsystems
David Landwehr, Novell

About the XForms 1.0 Recommendation

The XForms 1.0 Recommendation has been produced by the W3C XForms Working Group as part of the activity of the W3C Interaction Domain.

This document lists the knowned errata to the XForms 1.0 Recommendation. Each entry has the following information:

Please send general comments about this document to the public mailing list to www-forms-editor@w3.org. The archive for the list is accessible online.

Table of Contents

1 Known Errors
    1.1 E0: Evaluation context for <output> element (section 8.1.5)
    1.2 E2: XForms processor bootstrap (section 4.2, 4.2.1)
    1.3 E3: XML base processing for submission URLs (section 3.3.3)
    1.4 E4: model attribute is optional (sections 10.1.3 to 10.1.6, and 10.1.11)
    1.5 E7: Evaluation Context for <setvalue> (section 10.1.9)
    1.6 E8a: Host languages controls can get focus from xforms-focus Section 10.1.7
    1.7 E8b: Setting focus to a repeating structure sets the focus to the repeat item represented by the repeat index (section 4.3.2)
    1.8 E10: xforms-submit-error is targeted at <xforms:submission> (section 4.4.19)
    1.9 E14: no time zone in the seconds() function (section 7.10.4)
    1.10 E15: clarification: preserve XPath data model in instances (section 3.3.2)
    1.11 E16: xforms-submit event (section 11.1)
    1.12 E19: boolean-from-string() does not throw exception (section 7.7.1)
    1.13 E22: <xforms:load show="replace"> is default value (section 10.1.8)
    1.14 E23: evaluation context for compute recalculation (section 4.3.6)
    1.15 E25: The toggle element: change states instead of attributes (section 9.2.3)
    1.16 E25b: The case element: change states instead of attributes (section 9.2.2)
    1.17 E26a: complexType does not have a name in example payschema.xsd (appendix G.1)
    1.18 E26b: Credit card datatype should be digits (appendix G.1)
    1.19 E27: The insert Element: use first node in nodeset (section 9.3.5)
    1.20 E28: The xforms-select and xforms-deselect Events (section 4.4.3)
    1.21 E29: Errata for section 4.3.5.1 (Thu, 01 Apr 2004)
    1.22 E30a: The days-from-date() Function (section 7.10.2)
    1.23 E30b: The seconds-from-dateTime() Function (section 7.10.3)
    1.24 E31a: labels are mandatory on input elements (section 7.4)
    1.25 E31b: labels are mandatory on input elements (section 9.3.1)
    1.26 E33: What happens when an inline instance is not a valid XML document (section 3.3.2)
    1.27 E35a: clarify: startindex is 1 for inner repeats (section 9.3.8)
    1.28 E35b: clarify: startindex is 1 for inner repeats (section 9.3.9)
    1.29 E37: multiple concurrent submission for single submit not allowed (section 11.1)
    1.30 E38: missing double quote in example (section 8.3.4)
    1.31 E39: Clarify, Content-Type MAY be included instead of MUST (Section 11.5)
    1.32 E42: default value for @show on <load> (Section 10.1.8)
    1.33 E44: @appearance is optional but has no default value (section 8.1)
    1.34 E45: Submission processing (Section 11.1)
    1.35 E50: Section 11.1
    1.36 E51: Clarification of case attribute content in toggle action.
    1.37 E52: Clarify that XML Media Type means having a content type defined in RFC 3023 (Section 11.1)
    1.38 E54: Missing erratum - xf:minOccurs & xf:maxOccurs (Appendix A)
    1.39 E55: Erratum for avg() (section 7.8.1)
    1.40 E60: p3ptype example Section 6.1.7
    1.41 E61: The setindex Element section 9.3.7
    1.42 E62: Separator and application/x-www-form-urlencoded (section 11.6)
    1.43 E63: index() does not throw an exception (Section 7.8.5)
    1.44 E64: Clarify, predefined datatypes (Section 6.1.1)
2 References
    2.1 Normative References


1 Known Errors

1.1 E0: Evaluation context for <output> element (section 8.1.5)

Description

Current specification wording:

value

An XPath expression to be evaluated. The result of the evaluation is rendered by the form control.

Correction

Changed specification wording:

value

An XPath expression to be evaluated. The string result of the evaluation is rendered by the form control. If binding attributes are present to select a node, this attribute has no effect. The evaluation context is the same as would be applied to the evaluation of the single node binding. This XPath expression is re-evaluated whenever there is a change in any node to which the expression refers.

1.2 E2: XForms processor bootstrap (section 4.2, 4.2.1)

Description

Current specification wording, section 4.2:

This section defines the various stages of the initialization phase. The processor begins initialization by dispatching an event xforms-model-construct to each XForms Model in the containing document.

Current specification wording, section 4.2.1:

Dispatched by the containing document processor to bootstrap XForms Processor initialization.

Correction

Changed specification wording, section 4.2:

This section defines the various stages of the initialization phase. The processor begins initialization by dispatching an event xforms-model-construct to each XForms Model in the containing document. How the XForms Processor itself is requested to initialise is implementation dependent.

Changed specification wording, section 4.2.1:

Dispatched to each XForms model by the XForms processor.

1.3 E3: XML base processing for submission URLs (section 3.3.3)

Description

Current specification wording:

action

Required destination URI for submitting instance data.

Correction

Added specification wording (from section 3.2.2, Linking Attributes):

Behavior of relative URIs in links is determined by the host language, although [XML Base] processing is strongly recommended.

1.4 E4: model attribute is optional (sections 10.1.3 to 10.1.6, and 10.1.11)

Description

Current specification wording (in all the above sections but 10.1.11):

model

Required IDREF of the model to be processed.

Description

Current specification wording, section 10.1.11 (The reset Element):

model

Required selection of instance data for reset, defined in 3.2.3 Single-Node Binding Attributes.

Correction

Changed specification wording:

model

Optional XForms Model selector, as defined in 3.2.3 Single-Node Binding Attributes.

1.5 E7: Evaluation Context for <setvalue> (section 10.1.9)

Description

Current specification wording:

value

Optional XPath expression to evaluate, with the result stored in the selected instance data node.

Correction

Changed specification wording:

value

Optional XPath expression to evaluate, with the result stored in the selected instance data node. The evaluation context for this XPath expression is the result from the Single Node Binding.

1.6 E8a: Host languages controls can get focus from xforms-focus Section 10.1.7

Description

Current specification wording:

This action sets focus to the form control identified by attribute control by dispatching an xforms-focus event

Correction

Changed specification wording:

This action dispatches an xforms-focus event to the element identified by attribute control

1.7 E8b: Setting focus to a repeating structure sets the focus to the repeat item represented by the repeat index (section 4.3.2)

Description

Current specification wording:

The default action for these events results in the following:

focus is given to the target form control if the form control is able to accept focus.

Correction

Changed specification wording:

The default action for these events results in the following:

Focus is given to the target form control if the form control is able to accept focus. Setting focus to a repeating structure sets the focus to the repeat item represented by the repeat index.

1.8 E10: xforms-submit-error is targeted at <xforms:submission> (section 4.4.19)

Description

Current specification wording:

Target: model

Correction

Changed specification wording:

Target: submission

Correction to the event overview 4.1.1

Changed specification wording:

The xforms-submit-error is targeted at the submission element.

1.9 E14: no time zone in the seconds() function (section 7.10.4)

Description

Current specification wording:

The sign of the result will match the sign of the duration. If no time zone is specified, an implementation default is used. Year and month components, if present, are ignored. Any other input parameter causes a return value of NaN.

Correction

Changed specification wording:

The sign of the result will match the sign of the duration. Year and month components, if present, are ignored. Any other input parameter causes a return value of NaN.

1.10 E15: clarification: preserve XPath data model in instances (section 3.3.2)

Description

Clarify that all data items relevant to the XPath data models are relevant for XForms instances.

Note:

All data relevant to the XPath data model must be preserved during processing and submission, including processing instruction, comment nodes and all whitespace.

1.11 E16: xforms-submit event (section 11.1)

Description

Current specification wording:

A node from the instance data is selected, based on attributes on the submission element. The indicated node and all nodes for which it is an ancestor are considered for the remainder of the submit process.

Correction

Changed specification wording:

A node from the instance data is selected, based on attributes on the submission element. The indicated node and all nodes for which it is an ancestor are considered for the remainder of the submit process. Any node which is considered not relevant as defined in 6.1.4 is removed.

1.12 E19: boolean-from-string() does not throw exception (section 7.7.1)

Description

Current specification wording:

If the parameter string matches none of the above strings, according to a case-insensitive comparison, processing stops with an exception (4.5.4 The xforms-compute-exception Event).

Correction

Changed specification wording:

If the parameter string matches none of the above strings, according to a case-insensitive comparison, the return value will be false.

1.13 E22: <xforms:load show="replace"> is default value (section 10.1.8)

Description

Current specification wording:

show

Optional link behavior specifier.

Correction

Changed specification wording:

show

Optional link behavior specifier. If this attribute is missing, a default value of "replace" is assumed.

1.14 E23: evaluation context for compute recalculation (section 4.3.6)

Description

Current specification wording:

When it is time to recalculate a compute, the XPath expression is evaluated in the context of the instance node whose value or model item property is associated with the compute.

Correction

Changed specification wording:

When it is time to recalculate a model item property, the XPath expression is evaluated. The evaluation context is determined from the model binding expression that applied the model item property, as defined for computed expressions in 7.4 Evaluation Context.

1.15 E25: The toggle element: change states instead of attributes (section 9.2.3)

Description

Current specification wording:

This action adjusts all selected attributes on the affected cases to reflect the new state, and then performs the following:

Correction

Changed specification wording:

This action adjusts all selected states (not the attribute values) on the affected cases to reflect the new state of the switch containing the identified case

1.16 E25b: The case element: change states instead of attributes (section 9.2.2)

Description

Current specification wording:

This element encloses markup to be conditionally rendered. The attribute selected determines the selected state and can be manipulated programmatically via the DOM, or declaratively via XForms Action toggle.

Correction

Changed specification wording:

This element encloses markup to be conditionally rendered. The attribute selected determines the initiel selected state.

1.17 E26a: complexType does not have a name in example payschema.xsd (appendix G.1)

Description

Current specification wording:

  <xsd:element name="payment">
    <xsd:complexType name="payment">
      <xsd:sequence minOccurs="0" maxOccurs="unbounded">
Correction

Changed specification wording:

  <xsd:element name="payment">
    <xsd:complexType>
      <xsd:sequence minOccurs="0" maxOccurs="unbounded">

1.18 E26b: Credit card datatype should be digits (appendix G.1)

Description

Current specification wording:

  <xsd:simpleType name="cc">
    <xsd:restriction base="xsd:string">
      <xsd:pattern value="\s*((\d+)[-\s])+([\d]+)\s*" />
    </xsd:restriction>
  </xsd:simpleType>
Correction

Changed specification wording:

  <xsd:simpleType name="cc"> 
     <xsd:restriction base="xsd:string"> 
       <xsd:minLength value="12"/> 
       <xsd:maxLength value="19"/> 
       <xsd:pattern value="[0-9]+"/> 
     </xsd:restriction> 
  </xsd:simpleType>

1.19 E27: The insert Element: use first node in nodeset (section 9.3.5)

Description

Current specification wording:

Attribute at is evaluated to determine the insertion index – a numerical value that is the index into the node-set. Attribute position specifies whether the new node is inserted before or after this index.

Correction

Changed specification wording:

Attribute at is evaluated to determine the insertion index – a numerical value that is the index into the node-set. The attribute at is evaluated with the first node in document order from the node set binding as the context node, the size of the node set binding as the context size and 1 as the context position. Attribute position specifies whether the new node is inserted before or after this index.

1.20 E28: The xforms-select and xforms-deselect Events (section 4.4.3)

Description

Target of events should include <itemset>.Current specification wording:

Target: item or case

Correction

Changed specification wording:

Target: item or itemset or case

1.21 E29: Errata for section 4.3.5.1 (Thu, 01 Apr 2004)

Description

Current specification wording:

  1. All instance data nodes in all instance elements in the model are checked against any specified XML Schema.

Correction

Changed specification wording:

Definition: Local relevance is the relevance associated directly from the model item properties and not by inheritance.

  1. All instance data nodes in all instance elements in the model are checked against any specified XML Schema and associated XML Schema datatypes by the following rules:

    1. The XML Schema validity of an element is determined by the local relevant attribute, element and text nodes. If the error code list exposed from the PSVI only contain the cvc-attribute.3 code then the element is still considered valid. This means that an invalid attribute value will not make its owner element invalid.

    2. The XML Schema validity of an attribute node is determined by the rules for Attribute Locally Valid as defined in the XML Schema specification.

    3. The XML Schema validity of a text node is defined as the locally validity of its normalized content with respect to the type definition associated from a model bind as defined by String Valid. If the text node has no type associated it is always considered valid.

1.22 E30a: The days-from-date() Function (section 7.10.2)

Description

Current specification wording:

If the string parameter represents a legal lexical xsd:date or xsd:dateTime, the return value is equal to the number of days difference between the specified date or dateTime (normalized to UTC) and 1970-01-01. Hour, minute, and second components are ignored after normalization. Any other input parameter causes a return value of NaN.

Correction

Changed specification wording:

If the string parameter represents a legal lexical xsd:date or xsd:dateTime, the return value is equal to the number of days difference between the specified date or dateTime normalized to UTC and 1970-01-01. Hour, minute, and second components are ignored after normalization. Any other input parameter causes a return value of NaN.

1.23 E30b: The seconds-from-dateTime() Function (section 7.10.3)

Description

Current specification wording:

If the string parameter represents a legal lexical xsd:dateTime, the return value is equal to the number of seconds difference between the specified dateTime (normalized to UTC) and 1970-01-01T00:00:00Z. If no time zone is specified, UTC is used. Any other input string parameter causes a return value of NaN.

Correction

Changed specification wording:

If the string parameter represents a legal lexical xsd:dateTime, the return value is equal to the number of seconds difference between the specified dateTime normalized to UTC and 1970-01-01T00:00:00Z. If no time zone is specified UTC is assumed.

1.24 E31a: labels are mandatory on input elements (section 7.4)

Description

Current specification wording:

<select1 ref="@attr" ... />
Correction

Changed specification wording:

<select1 ref="@attr" ... >
  <label>...</label>
</select1>

1.25 E31b: labels are mandatory on input elements (section 9.3.1)

Description

Current specification wording:

<repeat nodeset="/cart/items/item">
  <input ref="." ... /><html:br/>
</repeat>
Correction

Changed specification wording:

<repeat nodeset="/cart/items/item">
  <input ref="." ...>
     <label>...</label>
  </input>
  <html:br/>
</repeat>

1.26 E33: What happens when an inline instance is not a valid XML document (section 3.3.2)

Description

Added specification wording (before the note):

If, when creating the detached copy by having the instance inline, should fail because of an xml error then processing should halt with an xforms-link-exception. This could e.g. happen if the inline content had two element nodes which would imply creating an XML document with two document elements.

Note:

In XForms 1.1, a new exception event will be issued.

1.27 E35a: clarify: startindex is 1 for inner repeats (section 9.3.8)

Description

Current specification wording:

3. The index for this repeating structure is initialized to the value of startindex.

Correction

Changed specification wording:

3. The index for this repeating structure is initialized to the value of startindex. If the initial startindex is less than 1 it defaults to 1. If the index is greater than the initial node-set then it defaults to the size of the node-set.

1.28 E35b: clarify: startindex is 1 for inner repeats (section 9.3.9)

Description

Remove the specification wording:

Notice that an inner repeat's index always starts from 1.

1.29 E37: multiple concurrent submission for single submit not allowed (section 11.1)

Description

Current specification wording:

Under no circumstances may more than a single concurrent submit process be under way for a particular XForms Model.

Correction

Changed specification wording:

Under no circumstances may more than a single concurrent submit process be under way for a particular XForms submission.

1.30 E38: missing double quote in example (section 8.3.4)

Description

Current specification wording:

  <message level="modeless" ev:event="xforms-help" ev:propagate="stop>
Correction

Changed specification wording:

  <message level="modeless" ev:event="xforms-help" ev:propagate="stop">

1.31 E39: Clarify, Content-Type MAY be included instead of MUST (Section 11.5)

Description

Current specification wording:

Example: multipart/form-data
Content-Type: multipart/form-data; boundary=AaB03x
Content-Length: xxx
        
--AaB03x
Content-Disposition: form-data; name="document"; filename="b.txt"
Content-Type: text/plain; charset=iso-8859-1
This is a file.
It has two lines.
--AaB03x
Content-Disposition: form-data; name="title"
Content-Type: text/plain; charset=iso-8859-1
A File
--AaB03x
Content-Disposition: form-data; name="summary"
Content-Type: text/plain; charset=iso-8859-1
This is my file
file test
--AaB03x--
Correction

Changed specification wording:

Example: multipart/form-data
Content-Type: multipart/form-data; boundary=AaB03x
Content-Length: xxx
        
--AaB03x
Content-Disposition: form-data; name="document"; filename="b.txt"
Content-Type: text/plain; charset=iso-8859-1
This is a file.
It has two lines.
--AaB03x
Content-Disposition: form-data; name="title"
A File
--AaB03x
Content-Disposition: form-data; name="summary"
This is my file
file test
--AaB03x--

1.32 E42: default value for @show on <load> (Section 10.1.8)

Description

Current specification wording:

show
Optional link behavior specifier.
Correction

Changed specification wording:

show
Optional link behavior specifier. The default value is replace.

1.33 E44: @appearance is optional but has no default value (section 8.1)

Description

Current specification wording:

appearance

Optional attribute to define an appearance hint.

Correction

Changed specification wording:

appearance

Optional attribute to define an appearance hint. If absent, the user agent may freely choose any suitable rendering.

1.34 E45: Submission processing (Section 11.1)

Description

Current specification wording:

...

  • For a success response including a body of an XML media type, when the value of the replace attribute on element submission is "instance", the response is parsed as XML and all of the internal instance data corresponding to the submitted instance is replaced with the result, using the same processing as remote instance data retrieved through src, and the xforms-model-construct event is dispatched to element model. Submit processing then concludes after dispatching xforms-submit-done.
...
Correction

Changed specification wording:

...

  • For a success response including a body of an XML media type, when the value of the replace attribute on element submission is "instance", the response is parsed as XML and all of the internal instance data corresponding to the submitted instance is replaced with the result. Submit processing then concludes after doing the processing for rebuild, recalculate, revalidate and refresh, bypassing the normal event flow. Submit processing then concludes after dispatching xforms-submit-done.
...

1.35 E50: Section 11.1

Description

Remove specification wording:

Section 11.1 says that submission revalidates selected instance data "taking into account only namespace nodes considered for serialization as described at 3.3.3 The submission Element"

1.36 E51: Clarification of case attribute content in toggle action.

Description

Current specification wording:

Required reference to a case section inside the conditional construct.

Correction

Changed specification wording:

Required reference to a case element.

1.37 E52: Clarify that XML Media Type means having a content type defined in RFC 3023 (Section 11.1)

Description

Current specification wording:

For a success response including a body of an XML media type...

Correction

Changed specification wording:

For a success response including a body of an XML media type (as defined by the content type specifiers in [RFC 3023])...

Description

Current specification wording:

For a success response including a body of a non-XML media type...

Correction

Changed specification wording:

For a success response including a body of a non-XML media type (i.e. with a content type not matching any of the specifiers in [RFC 3023])...

1.38 E54: Missing erratum - xf:minOccurs & xf:maxOccurs (Appendix A)

Description

Current specification wording:

  <xsd:element name="bind"> [...] <xsd:complexType> [...]
    <xsd:attribute name="maxOccurs" type="xforms:XPathExpression" use="optional" default="INF"/>
    <xsd:attribute name="minOccurs" type="xforms:XPathExpression" use="optional" default="0"/>
  [...] </xsd:complexType> [...] </xsd:element>
Correction

The attributes minOccurs and maxOccurs are removed.

1.39 E55: Erratum for avg() (section 7.8.1)

Description

Current specification wording:

Function avg returns the arithmetic average of the result of converting the string-values of each node in the argument node-set to a number. The sum is computed with sum(), and divided with div by the value computed with count(). If the parameter is an empty node-set, the return value is NaN.

Correction

Changed specification wording:

Function avg returns the arithmetic average of the result of converting the string-values of each node in the argument node-set to a number. The sum is computed with sum(), and divided with div by the value computed with count(). If the parameter is an empty node-set, or if any of the nodes evaluate to NaN, the return value is NaN.

1.40 E60: p3ptype example Section 6.1.7

Description

Current specification wording:

Example: Attaching a type constraint using Binding
 ...
  <bind type="my:nonEmptyString" nodeset="my:first-name"
      p3ptype="user.personname.given"/>
Correction

Changed specification wording:

Example: Attaching a type constraint using Binding
 ...
  <bind type="my:nonEmptyString" nodeset="my:first-name"
      p3ptype="user.name.given"/>

1.41 E61: The setindex Element section 9.3.7

Description

Current specification wording:

  1. If the selected index is 0 or less, an xforms-scroll-first event is dispatched and the index is set to 1. If the selected index is greater than the index of the last repeat item, an xforms-scroll-last event is dispatched and the index is set to that of the last item. The indexes for inner nested repeat collections are re-initialized to 1. The implementation data structures for tracking computational dependencies are rebuilt or updated as a result of this action.

Correction

Changed specification wording:

  1. If the selected index is 0 or less, an xforms-scroll-first event is dispatched and the index is set to 1. If the selected index is greater than the index of the last repeat item, an xforms-scroll-last event is dispatched and the index is set to that of the last item. If the index evaluates to NaN the action has no effect. The indexes for inner nested repeat collections are re-initialized to 1. The implementation data structures for tracking computational dependencies are rebuilt or updated as a result of this action.

1.42 E62: Separator and application/x-www-form-urlencoded (section 11.6)

Description

Current specification wording:

Element nodes selected for inclusion are encoded as EltName=value{sep}, where = is a literal character, {sep} is the separator character from the separator attribute on submission, EltName represents the element local name, and value represents the contents of the text node. Note that contextual path information is not preserved, nor are namespaces or namespace prefixes. As a result, different elements might serialize to the same name.

Example: application/x-www-form-urlencoded
GivenName=Ren%C3%A9;

This format consists of simple name-value pairs.

<PersonName title="Mr"> 
  <GivenName>René</GivenName> 
</PersonName>

Here is the instance data for the above example. Note that very little of the data is preserved. Authors desiring greater data integrity should select a different serialization format.

Correction

Changed specification wording:

Element nodes selected for inclusion are encoded as EltName=value, where = is a literal character, EltName represents the element local name, and value represents the contents of the text node. The separator character {sep} from the separator attribute on submission is used between pairs of encoded name/value pairs EltName=value{sep}EltName=value{sep}EltName=value. Note that contextual path information is not preserved, nor are namespaces or namespace prefixes. As a result, different elements might serialize to the same name.

Example: application/x-www-form-urlencoded
GivenName=Ren%C3%A9

This format consists of simple name-value pairs.

<PersonName title="Mr"> 
  <GivenName>René</GivenName> 
</PersonName>

Here is the instance data for the above example. Note that very little of the data is preserved. Authors desiring greater data integrity should select a different serialization format.

1.43 E63: index() does not throw an exception (Section 7.8.5)

Description

Current specification wording:

If the specified argument does not identify a repeat, processing stops with an exception (4.5.4 The xforms-compute-exception Event).

Correction

Changed specification wording:

If the specified argument does not identify a repeat it returns NaN.

1.44 E64: Clarify, predefined datatypes (Section 6.1.1)

Description

Current specification wording:

Legal Values: Any xsd:QName representing a datatype definition in an XML Schema.

Correction

Changed specification wording:

Legal Values: Any xsd:QName representing a datatype definition.

2 References

2.1 Normative References

XML Base
XML Base, Jonathan Marsh, 2001. W3C Recommendation available at: http://www.w3.org/TR/xmlbase/.
RFC 3023
RFC 3023: XML Media Types, M Murata, S. St. Laurent, D. Kohn, 2001. Available at: http://www.ietf.org/rfc/rfc3023.txt.