Mapping of complex Forms, XForm validator

Project acronym: QUESTION-HOW
Project Full Title:Quality Engineering Solutions via Tools, Information and Outreach for the New Highly-enriched Offerings from W3C: Evolving the Web in Europe
Project/Contract No. IST-2000-28767
Workpackage 2, Deliverable D2.4

Project Manager: Daniel Dardailler <danield@w3.org>
Author of this document: Michel Bercovier and Daniel Dardailler

Created: 20 March 2003. Last updated: 20 March 2003


Table of Content:


Introduction

This is the continuation of WP1 work in the same area where Forms are the current customer organization interface.

The motivations for this project are numerous: Organizations need efficient and powerful tool to handle forms and users request to have continuous access to the organizational interfaces. In addition, XForms intend to become the bridge across these expectations and Validation of XForms is an essential capabilities. The goals are to be able to map complex HTML forms to the new XForms markup language, and doing so analyze XForms and gain the ability to easily handle complex forms.


Progress to Date

Xform lacks developers tools, and the basic one being a VALIDATOR. As part of the project a simple XForms validator is being developped. Note that this not a "straight" forward step, since XForms relies heavily on existing recommendations such as Xpath http://www.w3.org/TR/xpath and http://www.w3.org/XML/Schema.

Here are some design notes related to the development of this validator.

XForm Validator Design

  1. Validation of Xform syntax, elements and attributes

    The VALIDATOR will use the Xforms schema together with a standard Xml schema parser (e.g. Xerces).

  2. Xpath validations :

    Xforms uses Xpath in 3 places:

    The VALIDATOR will use a standard Xpath parser (e.g. Xalan) to parse the Xpath expressions.

    The VALIDATOR will support the basic Xpath function set, the additional Xforms specifcation and user-defined extensions.

  3. Xlink linking attributes

    The VALIDATOR will identify and skip over these attributes. The Xlink format wont be parsed, nor will the links be transvered.

  4. The host language

    With regard to the Xforms UI elements, which can be embedded in various Xml host languages (e.g. XHTML or SVG).

    We shall attempt to make the VALIDATOR as generic as possible, assuming the host languages embeds and refers to Xforms elements in a generic way.

  5. The Repeat Switch Group UI Controls

    Will be validated by the VALIDATOR so long as they appear as standard constructs.

    The alternative format for Xhtml (the repeat-xxx attributes, 9.3.2) may not be supported.

  6. Circular and Dynamic Dependencies

    A circular dependency refers to an uncomputable Xpath expression which is (in)directly dependent on itself.

    This results in an Xforms-exception during an Xforms-recalculate.

    A dynamic dependency is an Xpath predicate which refers to non fixed fucntions. These may result in an Xforms-exception during form processing.

    Can these dependencies be detected at all at the parsing stage ? If they are "runtime" dependent then will not be supported.

  7. Xforms Full and Basic differentiation

    The validator will not attempt to classify conformance to Full or Basic standard, since this is more of an Xforms processor issue.

  8. Validating any embedded instance data

    This will be done by the VALIDATOR.


Deviations from plan

None.