W3C is pleased to receive the XTND/XEXPR submission from eBusiness Technologies, Inc. The submission shows how XML can be used to define a general purpose functional scripting language (XEPR), and for representing state transition networks (XTND).
It is common to combine the declarative potential of XML with imperative scripting languages such as ECMAScript. The submission defines a new scripting language (XEXPR) which is itself expressed directly in XML. The language takes a functional approach and avoids the need for further parsing machinery as would be needed for a syntax featuring infix operators.
Many applications can be expressed in terms of transitions between a set of named states. Common examples are such things as automated teller machine control flows, editorial review processes, and definitions of protocol states. Typically, each of these transition networks has its own specific data format, and its own specific editing tool. The submission proposes an XML syntax for state transition networks (XTND) as the basis for an interchange format for such applications.
The submission demonstrates the use of XML for defining a functional scripting language and for representing finite state transition networks. This may prove to be of interest to future W3C work on dialogs for human-computer interaction, and more generally as a component for a Web application framework.
Current W3C work on voice browsers is taking a different approach, using a form filling metaphor for representing dialogs, with a focus on easy authoring for voice applications. This work is drawing upon rich experience with earlier markup languages for voice interaction, and it is unclear whether the more abstract approach presented in the submission is relevant.
W3C's work on forms is using XML Schema as the basis for the modelling data, with the addition of dynamic integrity constraints that act over multiple fields. For example, the total value of an order can be defined in terms of a computation over the values of other fields such as unit prices, quantities, discounts, and tax and shipping costs. Such computations can be conveniently represented as expressions that evaluate to typed values. The focus is on a simple side-effect free representation of constraints, based upon the type system defined by XML Schema and the use of XPath for addressing form data.
The XML scripting language proposed in the submission could be of interest to the XForms working group, but may prove to be too complicated, for the restricted requirements for forms. XForms is expected to have to interoperate with popular scripting languages such as ECMAScript. This avoids the need for the constraint language to evolve into a general purpose scripting language.
Disclaimer: Placing a Submission on a Working Group/Interest Group agenda does not imply endorsement by either the W3C Staff or the participants of the Working Group/Interest Group, nor does it guarantee that the Working Group/Interest Group will agree to take any specific action on a Submission.