Logo TIB AV-Portal Logo TIB AV-Portal

Imagining, building and using an XSLT virtual machine

Video in TIB AV-Portal: Imagining, building and using an XSLT virtual machine

Formal Metadata

Imagining, building and using an XSLT virtual machine
Title of Series
Part Number
Number of Parts
CC Attribution - NoDerivatives 2.0 UK: England & Wales:
You are free to use, copy, distribute and transmit the work or content in unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Release Date
Production Year
Production Place
Prague, Czech Republic

Content Metadata

Subject Area
XSLT is the canonical XML vocabulary for transforming XML, but the creators of realtime server applications such as chatrooms and virtual worlds have tended to rely on lower-level technologies such as SAX and DOM for manipulating XML client-server protocols. The goal of the open-source Xcruciate project is to develop a generic server solution based around XSLT, with I/O, data storage and application code in XML. Theorists have discussed the extent to which XSLT is Turing-complete, with Dimitre Novatchev’s FXSL showing what is possible within a single transformation. The Xcruciate team has taken a less pure and more pragmatic approach, using a LibXSLT-based virtual machine to perform successive transformations on state data and to handle I/O to multiple clients via socket connections. An all-XML server implementation offers a number of advantages compared to bespoke OOP code, notably by enabling snapshots of the entire environment through serialisation. The main challenge has been balancing the conceptual elegance of pure XSLT with the need for rapid throughput and relatively concise application code. The talk will focus on the design decisions made in the course of Xcruciate’s development and the challenges encountered during implementation, as well as giving a taste of server application development within an all-XML environment.