Document Update Markup Language



Document Update Markup Language (DUML) is an XML specification created by Brian Kardell to enable server-side logic DOM manipulation outside the context of conventional JavaScript functions.

DUML supports a simpler approach to AJAX. With most current approaches, DOM manipulation is accomplished through arbitrarily complex client-side JavaScript. With the DUML approach, the browser makes a standard AJAX call to the server. Then DOM manipulation instructions (such as appending nodes, replacing nodes, etc.) are generated server-side as a DUML document, delivered to the browser, and finally interpreted by a simple DUML interpreter running on the web page.



The net effect is to move complex DOM manipulation logic out of the web page (and out of any associated JavaScript files) and onto the server. This may be desirable in cases where a development team wishes to put this sort of logic in the hands of the software developers rather than having the web designers handle this.

DUML itself is very simple, supporting a set of nine manipulations: appendChild, insertBefore, insertAfter, replace, remove. replaceContent, set-attribute, executeScript and queueScript. Since instructions map more or less directly to universally supported methods, the interpreter is correspondingly simple.

The DUML specification itself is generic and not tied directly to HTML based applications and therefore can be used with any XML/DOM based user interface language as long as the client supports a language in which an interpreter can be implemented.

History
The name "DUML" originated with Kardell's son, who remarked that writing DOM manipulation code using complicated client-side JavaScript was "dumb".