Declarative Web Applications Current Status

This page summarizes the relationships among specifications, whether they are finished standards or drafts. Below, each title links to the most recent version of a document.

Completed Work

W3C Recommendations have been reviewed by W3C Members, by software developers, and by other W3C groups and interested parties, and are endorsed by the Director as Web Standards. Learn more about the W3C Recommendation Track.

Group Notes are not standards and do not have the same level of W3C endorsement.



State Chart XML (SCXML): State Machine Notation for Control Abstraction

This document describes SCXML, or the "State Chart extensible Markup Language". SCXML provides a generic state-machine based execution environment based on CCXML and Harel State Tables.


XForms 1.1

XForms is an XML application that represents the next generation of forms for the Web. XForms is not a free-standing document type, but is intended to be integrated into other markup languages, such as XHTML, ODF or SVG. An XForms-based web form gathers and processes XML data using an architecture that separates presentation, purpose and content. The underlying data of a form is organized into instances of data schema (though formal schema definitions are not required). An XForm allows processing of data to occur using three mechanisms:

  • a declarative model composed of formulae for data calculations and constraints, data type and other property declarations, and data submission parameters

  • a view layer composed of intent-based user interface controls

  • an imperative controller for orchestrating data manipulations, interactions between the model and view layers, and data submissions.

Thus, XForms accommodates form component reuse, fosters strong data type validation, eliminates unnecessary round-trips to the server, offers device independence and reduces the need for scripting.

XForms 1.1 refines the XML processing platform introduced by [XForms 1.0] by adding several new submission capabilities, action handlers, utility functions, user interface improvements, and helpful datatypes as well as a more powerful action processing facility, including conditional, iterated and background execution, the ability to manipulate data arbitrarily and to access event context information.

Group Notes


DOM Event I/O Processor for SCXML

This document describes the DOM Event I/O Processor for SCXML. This event processor allows SCXML state machines to communicate with external entities via DOM Events. For more details on Event I/O Processors, see the SCXML specification.

The category of this specification should be "Voice" but the original SCXML specification is included in "Declarative Web Applications" as well. So it would make sense to include this Note in that category as well.


XPath Data Model for SCXML

This document describes the XPath Data Model for SCXML. This data model allows SCXML state charts to use XML as their data representation, and to manipulate it with XPath. For more details on data models, see the SCXML specification.

The category of this specification should be "Voice" but the original SCXML specification is included in "Declarative Web Applications" as well. So it would make sense to include this Note in that category as well.


MBUI - Abstract User Interface Models

Defines a meta-model and XML serialization for interchange of user interface designs, that are expressed at an abstract level, independent of the target platform or modes of interaction.


MBUI - Task Models

Task models are useful when designing and developing interactive systems. They describe the logical activities that have to be carried out in order to reach the user’s goals. This document covers the specification of Task Models, with a meta-model expressed in UML, and an XML Schema that can be used as the basis for interchange of Task Models between different user interface development tools.


Introduction to Model-Based User Interfaces

This is an introduction to Model-Based User Interfaces covering the benefits and shortcomings of the model-based approach, a collection of use cases, and terminology.


MBUI - Glossary

This document is a glossary of terms recurrent in the Model-based User Interface domain (MBUI). It is intended to capture a common, coherent terminology for specifications of the MBUI Working Group and to provide a concise reference of domain terms for interested audience. The document arose from a thorough review and discussion of the glossaries published by the CAMELEON and AMODEUS research projects.


Declarative Formats for Applications and User Interfaces

The Charter of the Web Application Formats Working Group includes a deliverable titled Specification of a declarative format for applications and user interfaces. This document includes the status of this deliverable and a recommendation that the Working Group stop formal work on this deliverable and consider this Note as the one and only publication for this deliverable. This Note also includes some potential options if W3C Members choose to do related work.


Rich Web Application Backplane

This paper introduces the concept of a "Rich Web Application Backplane" -- a set of common building blocks for web applications. We argue that submission, data models, model-view binding and behavior, and web components can provide a common infrastructure for multiple markup formats. Further, we propose a common infrastructure for both declarative and imperative web programming languages. By aligning APIs and their declarative representations, we hope to support both implementation approaches and increase interoperability between them.


Below are draft documents: Candidate Recommendations, other Working Drafts . Some of these may become Web Standards through the W3C Recommendation Track process. Others may be published as Group Notes or become obsolete specifications.

Candidate Recommendations


XForms 1.0 Basic Profile

The XForms Basic Profile describes a minimal level of XForms processing tailored to the needs of constrained devices and environments.

Other Working Drafts


XForms 2.0

XForms 2.0 adds support for defining custom functions, variables, a pluggable expression language with extra functions (XPath 2.0), model-based switch and repeat, Attribute Value Templates, consuming and submitting JSON and CSV instance data, amongst other things.


XForms 2.0: XPath expression module

This specification defines how XPath can be used for addressing instance data nodes in binding expressions, to express constraints, and to specify calculations in XForms. This module is based on XPath 2.0, but an XPath 1.0 backwards compatibility mode is provided to ensure that nearly all XPath 1.0 expressions continue to deliver the same result with XPath 2.0.

This specification also defines the XForms Function Library which contains additional functions that are useful for creating forms.