Chapter 7. XRL

The XML Recursion Language, or XRL, is a declarative language that supports the modular composition of structured XML documents.

How wonderful, isn’t it? If you understood that snippet from the NetKernel documentation, move on to the stuff below. If you didn’t, let me tell you that XRL (and its young sister TRL, Text Recursion Language) is the tool you want to have mastered when somebody asks you, “So what can you actually do with this NetKernel thingie, and why is it different from everything else?”


You should have completed Part I. Chapters in this part do not follow a specific order and do not build upon each other, but the basics should be known by now.


The Scripting Playpen is going to be the theatre of operations, and DPML is the language of choice for the examples, but we need to be able to pull in extra resources (which is in fact the whole point of XRL). A small file serving module will do the trick.

The Design

We’ve seen the required pattern earlier on in this book, in Chapter 3 in fact, where we map the ExtJS libraries. These are the elements:

  1. Requests will be of the form res:/chapter7/.

  2. Requests get mapped to the data directory of the module.

  3. The module is provided with documentation and unittest.

The Code

Example 7-1. module.xml

<?xml version="1.0" encoding="UTF-8"?> <module version="2.0"> <meta> <identity> <uri>urn:org:netkernelbook:chapter7:fileserver</uri> <version>1.0.0</version> </identity> <info> <name>Chapter 7 File Server</name> <description>NetKernelbook ...

Get Resource-Oriented Computing with NetKernel now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.