WARNING: This server provides a static reference view of the NetKernel documentation. Links to dynamic content do not work. For the best experience we recommend you install NetKernel and view the documentation in the live system .

In addition to DPML, NetKernel supports a wide range of traditional dynamic languages (Groovy, Ruby, Python, etc.) as well as domain specific languages.

NetKernel includes the Declarative-Request Process Markup Language (DPML), a programming language that works exclusively with requests and responses, leaving physical level details to the tools, services and representations provided by resource models.

DPML scripts use an XML syntax since it is easy to generate dynamically (see the DPML Guide for details). Because requests are fundamental to NetKernel, a standard declarative request syntax is used by DPML and supported across all NetKernel tools.

DPML is a small language, consisting of support for requests and a small set of operators. Inherently, DPML is a functional, lazily-evaluated language that supports closures and a set of control structures (such as if-then-else and try-catch) and the sequence - used for a sequential style of programming.

Example

We recast the first example in the form of a DPML script. This script uses a sequence with a single child, a request for the resource res:/greetings.txt

<sequence>
  <request assignment="response">
    <identifier>res:/greeting.txt</identifier>
  </request>
</sequence>

NetKernel includes a programming language playpen that allows you to create, edit and run DPML scripts. Click this link to switch to the DPML playpen with this script pre-loaded.

Try changing the res:/greeting URI in the <identifier> tag to: http://resources.1060research.com/greeting.txt

Example

This example recasts the second example resource transformation in a DPML script.

<sequence>
  <request assignment="response">
    <identifier>active:toUpper</identifier>
    <argument name="operand">res:/greeting.txt</argument>
  </request>
</sequence>

Click this link to load this program into the playpen.

Try changing the res:/greeting operand <argument> tag to: http://resources.1060research.com/greeting.txt, now try changing it to http://www.google.com or your own website...