O'Reilly logo

Resource-Oriented Computing with NetKernel by Tom Geudens

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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?”

Prerequisites

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.

Setup

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required