Channels ▼

Web Development

XSL Transformations

Source Code Accompanies This Article. Download It Now.

Related Work

XMILE ( is an XML-based imperative language. Its goal is to keep mobile information devices synchronized by providing updates without stopping execution. Programs written in XMILE are transferred in source form, then interpreted on the remote host, which has the interpreter implemented in Java. In XMILE's case, the interpreter is already existent/installed in the clients. In our case, the interpreter, implemented in XSLT, is bundled together with the program.

In his book C++/XML (New Riders Publishing, 2001), Fabio Arjona Arciniegas describes how to build interpreters for XML-based scripting languages.

In "Towards SMIL as a Foundation for Multimodal, Multimedia Applications" (published in the Proceedings of EUROSPEECH 2001), Jennifer L. Beckham, et al., introduce ReX, which is a simple reactive programming language based on XML.

Superx++ ( is an XML-based object-oriented language whose runtime environment is developed using C++ by Kimanzi Mati.


Sending code over the Internet to be executed on client web browsers represents one more degree of freedom than what is currently available, which is that the language available in the browsers is fixed, and only programs written in that language, and data to be used by that program, are sent to the browser.

The possibility of bundling together the language processor with the program and data opens up tremendous opportunities, allowing special purpose languages to be developed and used without requiring the end users to install additional components to their web browser. This also largely eliminates compatibility problems stemming from the unstandardized nature of scripting (and other) languages built into web browsers currently in use.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.