3.2 XHTML's several flavors, ECMAScript and the DOM
In the beginning of 2000, the W3C further pushed the envelope with its XHTML 1.0 recommendation28. XHTML stands for Extensible HyperText Markup Language and is a reformulation of HTML 4.01 as an application of the Extensible Markup Language (XML)29. This means that XHTML 1.0 is a markup language with the same expressive possibilities as HTML 4.01 while using a stricter, XML 1.0 compliant syntax. Therefore, XHTML 1.0 documents must be well-formed,30 tag and attribute names must be in lower case, et cetera.31 This stricter syntax increases the portability of web documents and allows them to be interpreted by and deployed on a constantly growing range of platforms.
Soon after its XHTML 1.0 recommendation, the W3C started working on XHTMLMOD or Modularization of XHTML32 (2001). The project's goal was to divide XHTML in several abstract modules, which can be combined and extended in innovative ways, thereby further enhancing XHTML's flexibility. One of the first applications of this modular view was the XHTML Basic33 recommendation (2000), which “includes the minimal set of modules required to be an XHTML host language document type”. XHTML Basic is best understood as a lightweight version of XHTML intended for “small information appliances” (which also includes mobile devices). A next step was the May 2001 announcement of the XHTML 1.134 recommendation: very similar to XHTML 1.0, but this time defined as an application of the new modular framework.
The process of standardization also continued on levels other than (X)HTML and CSS. From 1998 on, the W3C released several complementary recommendations regarding the so called Document Object Model (DOM)35. The DOM is described as a “platform- and language-neutral interface that will allow programs and scripts to dynamically access and update the content, structure and style of [web] documents.” Thus, by means of a standardized object model, scripts can easily hook in on a webpage's structure and add a layer of interactivity to web browsing. The in this context usually deployed scripting language is ECMAScript,36 an ECMA International37 specification that is based on Netscape's JavaScript and is also often referred to as such. The third and so far latest version of the ECMAScript specification dates from 1999.
28 The XHTML 1.0 recommendation can be found at http://www.w3.org/TR/xhtml1/.
29 Wikipedia's definition of XML: “The Extensible Markup Language (XML) is a W3C recommendation for creating special-purpose markup languages. It is [...] capable of describing many different kinds of data. Its primary purpose is to facilitate the sharing of structured text and information across the Internet.” See http://en.wikipedia.org/wiki/XML for more info. Currently, there are two versions of XML: XML 1.0 (http://www.w3.org/TR/REC-xml/) and XML 1.1 (http://www.w3.org/TR/xml11/).
30 More information about XML's well-formedness requirement at http://en.wikipedia.org/wiki/XML#Well-formed_documents.
31 For a full overview of the differences between HTML and XHTML, see http://www.w3.org/TR/xhtml1/#diffs.
32 The Modularization of XHTML recommendation can be found at http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/.
33 The XHTML Basic recommendation can be found at http://www.w3.org/TR/xhtml-basic/.
34 The XHTML 1.1 recommendation can be found at http://www.w3.org/TR/xhtml11/.
35 The DOM activity page can be found at http://www.w3.org/DOM/.
36 The third version of the ECMAScript standard (1999) can be found at http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf.
37 ECMA International describes itself as “an industry association founded in 1961, dedicated to the standardization of information and communication systems”. See also http://www.ecma-international.org/.