Since R6 came out, IBM has included a "teaser" XSLT file for performing transformations of DXL rendered design elements. I've expanded this XSLT file to include design element properties, fields, formulas, computed text, actions, etc, of the typical design elements (forms, pages, views, folders, agents, scriptlibraries, image resources).
I've used this often recently to create a report that sorts design elements by the date modified. This has been very helpful to me recently and I thought I would share the XSLT file for those interested. Feel free to use and improve as you see fit.
The easiest way to use this is to copy the XSL code below to a text file with the ".xsl" extension or just save the attached file to your Lotus Notes /Data/xsl directory. Use the designer client's DXL Tools-->Transformer menu to build the report using your newly created XSLT file.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:dxl='http://www.lotus.com/dxl'>
<xsl:output method='html' />
<xsl:strip-space elements='*' />
<xsl:template match="/">
<style>body{font-family:arial;} h3 {font:16pt arial;} a {font-family:arial;text-align:center;} td {font-family:arial;font:x-small; border-width:1px;border-style:single;border-color:#CCCCCC;} th {font-family:arial;text-align:left;font:bold;color:black;background-color:#CCCCCC;} .hover{background-color:#eoeoeo;} .small{font:x-small;} .informational{background-color:#c6eff7;} .warning{background-color:#ffb573;}</style>
<xsl:apply-templates select="dxl:database"/>
<table>
<xsl:attribute name="align">center</xsl:attribute>
<xsl:attribute name="width">90%</xsl:attribute>
<xsl:attribute name="cellpadding">1</xsl:attribute>
<xsl:attribute name="cellspacing">0</xsl:attribute>
<xsl:attribute name="border">1</xsl:attribute>
<tr>
<th><xsl:text>Design Element:</xsl:text></th>
<th><xsl:text>Comment:</xsl:text></th>
<th><xsl:text>Last Modified (descending):</xsl:text></th>
<th/>
</tr>
<xsl:for-each select="//dxl:modified">
<xsl:sort select="dxl:datetime" order="descending"/>
<tr>
<td><xsl:value-of select="../../@name"/></td>
<td> <xsl:value-of select="../../@comment"/>
</td>
<td><xsl:apply-templates select="."/></td>
<td>
<a>
<xsl:attribute name="href">#<xsl:value-of select="../@noteid"/>
</xsl:attribute>
<xsl:text>More info</xsl:text>
</a>
</td>
</tr>
</xsl:for-each>
</table>
<xsl:apply-templates select="//*[local-name()='form' or local-name()='subform']" />
<xsl:apply-templates select="//*[local-name()='view' or local-name()='folder']" />
<xsl:apply-templates select="//dxl:agent" />
<xsl:apply-templates select="//dxl:scriptlibrary" />
<xsl:if test="count(//dxl:imageresource) > 0">
<h4>
Image Resources
</h4>
<div>
<xsl:attribute name="id">
IMAGERESOURCE
</xsl:attribute>
<xsl:attribute name="style">display:block;</xsl:attribute>
<table>
<xsl:attribute name="align">center</xsl:attribute>
<xsl:attribute name="width">90%</xsl:attribute>
<xsl:attribute name="cellpadding">1</xsl:attribute>
<xsl:attribute name="cellspacing">0</xsl:attribute>
<xsl:attribute name="border">1</xsl:attribute>
<tr>
<th>
<xsl:text>Name:</xsl:text>
</th>
<th>
<xsl:text>Last Modified:</xsl:text>
</th>
<th>
<xsl:text>Last Updated By:</xsl:text>
</th>
</tr>
<xsl:apply-templates select="//dxl:imageresource"/>
</table>
<br />
</div>
</xsl:if>
</xsl:template>
<xsl:template match="dxl:database">
<h3><xsl:value-of select="@title"/></h3>
<h3><xsl:value-of select="@path"/></h3>
<h3><xsl:value-of select="@replicaid"/></h3>
<h3>From Template: <xsl:value-of select="@fromtemplate"/></h3>
</xsl:template>
<xsl:template match="//*[local-name()='form' or local-name()='subform' or local-name()='page']">
<h4>
<xsl:value-of select="translate(local-name(),'formsubformpage','FormSubformPage')" />
<xsl:value-of select="@name" />
</h4>
<div>
<xsl:attribute name="id">
FORM_
<xsl:value-of select="local-name()" />
<xsl:value-of select="@name" />
</xsl:attribute>
<xsl:attribute name="style">display:block;</xsl:attribute>
<table>
<xsl:attribute name="align">center</xsl:attribute>
<xsl:attribute name="width">90%</xsl:attribute>
<xsl:attribute name="cellpadding">1</xsl:attribute>
<xsl:attribute name="cellspacing">0</xsl:attribute>
<xsl:attribute name="border">1</xsl:attribute>
<tr>
<th>
<xsl:value-of select="translate(local-name(),'formsubformpage','FormSubformPage')" />
<xsl:text>Name:</xsl:text>
</th>
<td>
<a>
<xsl:attribute name="name">#<xsl:value-of select="dxl:noteinfo/@noteid"/></xsl:attribute>
<xsl:value-of select="@name" />
</a>
</td>
</tr>
<tr>
<th>
<xsl:text>Comments:</xsl:text>
</th>
<td>
<xsl:value-of select="@comment" />
</td>
</tr>
<tr>
<th>
<xsl:text>Signed By:</xsl:text>
</th>
<td>
<xsl:value-of select="dxl:wassignedby" />
</td>
</tr>
<tr>
<th>
<xsl:text>Last Modified:</xsl:text>
</th>
<td>
<xsl:apply-templates select="dxl:noteinfo/dxl:modified" />
</td>
</tr>
<tr>
<th>
<xsl:text>Last Updated:</xsl:text>
</th>
<td>
<xsl:value-of select="dxl:updatedby" />
</td>
</tr>
<tr>
<th>
<xsl:attribute name="colspan">2</xsl:attribute>
<xsl:text>Summary of Data Elements:</xsl:text>
</th>
</tr>
<tr>
<td>
<xsl:text>Field Elements (visible on the form):</xsl:text>
</td>
<td>
<xsl:value-of select="count(.//*[local-name()='field'])" />
</td>
</tr>
<tr>
<td>
<xsl:text>Item Elements (store data but not visible on the form):</xsl:text>
</td>
<td>
<xsl:value-of select="count(.//dxl:item)" />
</td>
</tr>
<tr>
<th>
<xsl:attribute name="colspan">2</xsl:attribute>
<xsl:text>Summary of Presentation/Functionality Elements:</xsl:text>
</th>
</tr>
<tr>
<td>
<xsl:text>Action Elements:</xsl:text>
</td>
<td>
<xsl:value-of select="count(.//dxl:action)" />
</td>
</tr>
<tr>
<td>
<xsl:text>Link Elements:</xsl:text>
</td>
<td>
<xsl:value-of select="count(.//dxl:urllink)" />
</td>
</tr>
<tr>
<td>
<xsl:text>Computed Text (for display only):</xsl:text>
</td>
<td>
<xsl:value-of select="count(.//dxl:computedtext)" />
</td>
</tr>
<tr>
<th>
<xsl:attribute name="colspan">2</xsl:attribute>
<xsl:text>Form Properties</xsl:text>
</th>
</tr>
<tr>
<td>
<xsl:text>Automatically Refresh Fields</xsl:text>
</td>
<td>
<xsl:value-of select="@recalc" />
</td>
</tr>
<tr>
<td>
<xsl:text>Include in menu:</xsl:text>
</td>
<td>
<xsl:value-of select="@nocompose" />
</td>
</tr>
<tr>
<td>
<xsl:text>Include in search builder</xsl:text>
</td>
<td>
<xsl:value-of select="@noquery" />
</td>
</tr>
<tr>
<td>
<xsl:text>Display HTML for all fields</xsl:text>
</td>
<td>
<xsl:value-of select="@htmlallfields" />
</td>
</tr>
<tr>
<td>
<xsl:text>Allow public access:</xsl:text>
</td>
<td>
<xsl:value-of select="@publicaccess" />
</td>
</tr>
</table>
<br />
<table>
<xsl:attribute name="width">90%</xsl:attribute>
<xsl:attribute name="align">center</xsl:attribute>
<xsl:attribute name="cellpadding">1</xsl:attribute>
<xsl:attribute name="cellspacing">0</xsl:attribute>
<xsl:attribute name="border">1</xsl:attribute>
<tr>
<th>
<xsl:attribute name="colspan">5</xsl:attribute>
<xsl:text>Field Elements</xsl:text>
</th>
</tr>
<tr>
<th>
<xsl:attribute name="width">30%</xsl:attribute>
<xsl:text>Name</xsl:text>
</th>
<th>
<xsl:text>Type</xsl:text>
</th>
<th>
<xsl:text>Kind</xsl:text>
</th>
<th>
<xsl:text>Multi</xsl:text>
</th>
<th>
<xsl:text>Formula</xsl:text>
</th>
</tr>
<xsl:apply-templates select=".//dxl:field"/>
</table>
<br />
<table>
<xsl:attribute name="align">center</xsl:attribute>
<xsl:attribute name="width">90%</xsl:attribute>
<xsl:attribute name="cellpadding">1</xsl:attribute>
<xsl:attribute name="cellspacing">0</xsl:attribute>
<xsl:attribute name="border">1</xsl:attribute>
<tr>
<th>
<xsl:attribute name="colspan">2</xsl:attribute>
<xsl:text>Item Elements</xsl:text>
</th>
</tr>
<tr>
<th>
<xsl:attribute name="width">30%</xsl:attribute>
<a>
<xsl:attribute name="name">#<xsl:value-of select="dxl:noteinfo/@noteid"/></xsl:attribute>
<xsl:value-of select="@name" />
</a>
</th>
<th>
<xsl:text>Value</xsl:text>
</th>
</tr>
<xsl:apply-templates select=".//dxl:item"/>
</table>
<xsl:apply-templates select="dxl:actionbar" />
<xsl:if test="count(.//dxl:urllink) > 0">
<br />
<table>
<xsl:attribute name="width">90%</xsl:attribute>
<xsl:attribute name="align">center</xsl:attribute>
<xsl:attribute name="cellpadding">1</xsl:attribute>
<xsl:attribute name="cellspacing">0</xsl:attribute>
<xsl:attribute name="border">1</xsl:attribute>
<tr>
<th>
<xsl:attribute name="colspan">2</xsl:attribute>
<xsl:text>URL Elements</xsl:text>
</th>
</tr>
<tr>
<th>
<xsl:attribute name="width">30%</xsl:attribute>
<xsl:text>Label</xsl:text>
</th>
<th>
<xsl:text>URL</xsl:text>
</th>
</tr>
<xsl:apply-templates select=".//dxl:urllink" />
</table>
</xsl:if>
<xsl:if test="count(.//dxl:computedtext) > 0">
<br />
<table>
<xsl:attribute name="align">center</xsl:attribute>
<xsl:attribute name="width">90%</xsl:attribute>
<xsl:attribute name="cellpadding">1</xsl:attribute>
<xsl:attribute name="cellspacing">0</xsl:attribute>
<xsl:attribute name="border">1</xsl:attribute>
<tr>
<th>
<xsl:text>Computed Text Elements</xsl:text>
</th>
</tr>
<tr>
<th>
<xsl:text>Formula</xsl:text>
</th>
</tr>
<xsl:apply-templates select=".//dxl:computedtext" />
</table>
</xsl:if>
</div>
</xsl:template>
<xsl:template match="//*[local-name()='view' or local-name()='folder']">
<h4>
<xsl:value-of select="translate(local-name(),'viewfolder','ViewFolder')" />
<xsl:value-of select="@name" />
</h4>
<div>
<xsl:attribute name="id">
VIEW_
<xsl:value-of select="local-name()" />
<xsl:value-of select="@name" />
</xsl:attribute>
<xsl:attribute name="style">display:block;</xsl:attribute>
<table>
<xsl:attribute name="align">center</xsl:attribute>
<xsl:attribute name="width">90%</xsl:attribute>
<xsl:attribute name="cellpadding">1</xsl:attribute>
<xsl:attribute name="cellspacing">0</xsl:attribute>
<xsl:attribute name="border">1</xsl:attribute>
<tr>
<th>
<xsl:value-of select="translate(local-name(),'viewfolder','ViewFolder')" />
<xsl:text>Name:</xsl:text>
</th>
<td>
<a>
<xsl:attribute name="name">#<xsl:value-of select="dxl:noteinfo/@noteid"/></xsl:attribute>
<xsl:value-of select="@name" />
</a>
</td>
</tr>
<tr>
<th>
<xsl:text>Comments:</xsl:text>
</th>
<td>
<xsl:value-of select="@comment" />
</td>
</tr>
<tr>
<th>
<xsl:text>Signed By:</xsl:text>
</th>
<td>
<xsl:value-of select="dxl:wassignedby" />
</td>
</tr>
<tr>
<th>
<xsl:text>Last Modified:</xsl:text>
</th>
<td>
<xsl:apply-templates select="dxl:noteinfo/dxl:modified" />
</td>
</tr>
<tr>
<th>
<xsl:text>Last Updated:</xsl:text>
</th>
<td>
<xsl:value-of select="dxl:updatedby" />
</td>
</tr>
<tr>
<th>
<xsl:attribute name="colspan">2</xsl:attribute>
<xsl:text>Summary:</xsl:text>
</th>
</tr>
<tr>
<td>
<a>
<xsl:attribute name="href">#COLUMNS</xsl:attribute>
<xsl:text>Columns:</xsl:text>
</a>
</td>
<td>
<xsl:value-of select="count(//dxl:column)" />
</td>
</tr>
<tr>
<td>
<xsl:text>Discard Index:</xsl:text>
</td>
<td>
<xsl:value-of select="@indexdiscard" />
</td>
</tr>
<tr>
<td>
<xsl:text>Refresh Index:</xsl:text>
</td>
<td>
<xsl:value-of select="@indexrefresh" />
</td>
</tr>
<tr>
<td>
<xsl:text>Allow public access:</xsl:text>
</td>
<td>
<xsl:value-of select="@publicaccess" />
</td>
</tr>
</table>
<br />
<table>
<xsl:attribute name="width">90%</xsl:attribute>
<xsl:attribute name="align">center</xsl:attribute>
<xsl:attribute name="cellpadding">1</xsl:attribute>
<xsl:attribute name="cellspacing">0</xsl:attribute>
<xsl:attribute name="border">1</xsl:attribute>
<tr>
<th>
<xsl:attribute name="colspan">6</xsl:attribute>
<xsl:text>Columns</xsl:text>
</th>
</tr>
<tr>
<th>
<xsl:attribute name="width">30%</xsl:attribute>
<xsl:text>Programmatic Name:</xsl:text>
</th>
<th>
<xsl:text>Sort:</xsl:text>
</th>
<th>
<xsl:text>Show as Link:</xsl:text>
</th>
<th>
<xsl:text>Hidden:</xsl:text>
</th>
<th>
<xsl:text>Formula:</xsl:text>
</th>
</tr>
<xsl:apply-templates select="dxl:column" />
</table>
<xsl:apply-templates select="dxl:actionbar"/>
</div>
</xsl:template>
<xsl:template match="//dxl:agent">
<h4><xsl:text>Agent</xsl:text>
<xsl:value-of select="@name" />
</h4>
<div>
<xsl:attribute name="id">
AGENT_
<xsl:value-of select="local-name()" />
<xsl:value-of select="@name" />
</xsl:attribute>
<xsl:attribute name="style">display:block;</xsl:attribute>
<table>
<xsl:attribute name="align">center</xsl:attribute>
<xsl:attribute name="width">90%</xsl:attribute>
<xsl:attribute name="cellpadding">1</xsl:attribute>
<xsl:attribute name="cellspacing">0</xsl:attribute>
<xsl:attribute name="border">1</xsl:attribute>
<tr>
<th>
<xsl:text>Agent</xsl:text>
<xsl:text>Name:</xsl:text>
</th>
<td>
<a>
<xsl:attribute name="name">#<xsl:value-of select="dxl:noteinfo/@noteid"/></xsl:attribute>
<xsl:value-of select="@name" />
</a>
</td>
</tr>
<tr>
<th>
<xsl:text>Comments:</xsl:text>
</th>
<td>
<xsl:value-of select="@comment" />
</td>
</tr>
<tr>
<th>
<xsl:text>Signed By:</xsl:text>
</th>
<td>
<xsl:value-of select="dxl:wassignedby" />
</td>
</tr>
<tr>
<th>
<xsl:text>Last Modified:</xsl:text>
</th>
<td>
<xsl:apply-templates select="dxl:noteinfo/dxl:modified" />
</td>
</tr>
<tr>
<th>
<xsl:text>Last Updated:</xsl:text>
</th>
<td>
<xsl:value-of select="dxl:updatedby" />
</td>
</tr>
<tr>
<th>
<xsl:attribute name="colspan">2</xsl:attribute>
<xsl:text>Summary:</xsl:text>
</th>
</tr>
<tr>
<td>
<xsl:text>Documents:</xsl:text>
</td>
<td>
<xsl:value-of select="dxl:documentset/@type" />
</td>
</tr>
<tr>
<td>
<xsl:text>Trigger:</xsl:text>
</td>
<td>
<xsl:value-of select="dxl:trigger/@type" />
</td>
</tr>
<tr>
<td>
<xsl:text>Schedule:</xsl:text>
</td>
<td>
<xsl:value-of select="dxl:trigger/dxl:schedule/@type" />
</td>
</tr>
<tr>
<td>
<xsl:text>Run on Location:</xsl:text>
</td>
<td>
<xsl:value-of select="dxl:trigger/dxl:schedule/@runlocation" />
</td>
</tr>
<tr>
<td>
<xsl:text>Run on Server:</xsl:text>
</td>
<td>
<xsl:value-of select="dxl:trigger/dxl:schedule/@runserver" />
</td>
</tr>
<tr>
<td>
<xsl:text>Start Time:</xsl:text>
</td>
<td>
<xsl:value-of select="dxl:trigger/dxl:schedule/dxl:starttime/dxl:datetime" />
</td>
</tr>
</table>
<br />
<table>
<xsl:attribute name="width">90%</xsl:attribute>
<xsl:attribute name="align">center</xsl:attribute>
<xsl:attribute name="cellpadding">1</xsl:attribute>
<xsl:attribute name="cellspacing">0</xsl:attribute>
<xsl:attribute name="border">1</xsl:attribute>
<tr>
<th>
<xsl:attribute name="colspan">6</xsl:attribute>
<xsl:text>Code</xsl:text>
</th>
</tr>
<xsl:for-each select=".//dxl:code">
<tr>
<td>
<xsl:apply-templates select="."/>
</td>
</tr>
</xsl:for-each>
</table>
</div>
</xsl:template>
<xsl:template match="//dxl:scriptlibrary">
<h4><xsl:text>Agent</xsl:text>
<xsl:value-of select="@name" />
</h4>
<div>
<xsl:attribute name="id">
SCRIPTLIBARY_
<xsl:value-of select="local-name()" />
<xsl:value-of select="@name" />
</xsl:attribute>
<xsl:attribute name="style">display:block;</xsl:attribute>
<table>
<xsl:attribute name="align">center</xsl:attribute>
<xsl:attribute name="width">90%</xsl:attribute>
<xsl:attribute name="cellpadding">1</xsl:attribute>
<xsl:attribute name="cellspacing">0</xsl:attribute>
<xsl:attribute name="border">1</xsl:attribute>
<tr>
<th>
<xsl:text>Script Library</xsl:text>
<xsl:text>Name:</xsl:text>
</th>
<td>
<a>
<xsl:attribute name="name">#<xsl:value-of select="dxl:noteinfo/@noteid"/></xsl:attribute>
<xsl:value-of select="@name" />
</a>
</td>
</tr>
<tr>
<th>
<xsl:text>Comments:</xsl:text>
</th>
<td>
<xsl:value-of select="@comment" />
</td>
</tr>
<tr>
<th>
<xsl:text>Signed By:</xsl:text>
</th>
<td>
<xsl:value-of select="dxl:wassignedby" />
</td>
</tr>
<tr>
<th>
<xsl:text>Last Modified:</xsl:text>
</th>
<td>
<xsl:apply-templates select="dxl:noteinfo/dxl:modified" />
</td>
</tr>
<tr>
<th>
<xsl:text>Last Updated:</xsl:text>
</th>
<td>
<xsl:value-of select="dxl:updatedby" />
</td>
</tr>
</table>
<br />
<table>
<xsl:attribute name="width">90%</xsl:attribute>
<xsl:attribute name="align">center</xsl:attribute>
<xsl:attribute name="cellpadding">1</xsl:attribute>
<xsl:attribute name="cellspacing">0</xsl:attribute>
<xsl:attribute name="border">1</xsl:attribute>
<tr>
<th>
<xsl:attribute name="colspan">6</xsl:attribute>
<xsl:text>Code</xsl:text>
</th>
</tr>
<xsl:for-each select="//dxl:code">
<tr>
<td>
<xsl:apply-templates select="."/>
</td>
</tr>
</xsl:for-each>
</table>
</div>
</xsl:template>
<xsl:template match="dxl:imageresource">
<tr>
<td>
<a>
<xsl:attribute name="name">#<xsl:value-of select="dxl:noteinfo/@noteid"/></xsl:attribute>
<xsl:value-of select="@name" />
</a>
</td>
<td><xsl:apply-templates select="dxl:noteinfo/dxl:modified"/></td>
<td><xsl:value-of select="dxl:updatedby"/></td>
</tr>
</xsl:template>
<xsl:template match="dxl:field">
<tr>
<td>
<xsl:value-of select="@name" />
</td>
<td>
<xsl:value-of select="@type" />
</td>
<td>
<xsl:value-of select="@kind" />
</td>
<td>
<xsl:choose>
<xsl:when test="@allowmultivalues='true'">true</xsl:when>
<xsl:otherwise>false</xsl:otherwise>
</xsl:choose>
</td>
<td>
<xsl:apply-templates select=".//*[local-name()='code']" />
</td>
</tr>
</xsl:template>
<xsl:template match="dxl:item">
<tr>
<td>
<xsl:value-of select="@name" />
</td>
<td>
<xsl:apply-templates select=".//dxl:number" />
<xsl:apply-templates select=".//dxl:datetime" />
<xsl:apply-templates select=".//dxl:text"/>
</td>
</tr>
</xsl:template>
<xsl:template match="dxl:action">
<tr>
<td>
<xsl:value-of select="@title" />
</td>
<td>
<xsl:apply-templates select=".//*[local-name()='code']" />
</td>
</tr>
</xsl:template>
<xsl:template match="dxl:actionbar">
<br />
<table>
<xsl:attribute name="align">center</xsl:attribute>
<xsl:attribute name="width">90%</xsl:attribute>
<xsl:attribute name="cellpadding">1</xsl:attribute>
<xsl:attribute name="cellspacing">0</xsl:attribute>
<xsl:attribute name="border">1</xsl:attribute>
<tr>
<th>
<xsl:attribute name="colspan">6</xsl:attribute>
<xsl:text>Action Elements</xsl:text>
</th>
</tr>
<tr>
<th>
<xsl:attribute name="width">30%</xsl:attribute>
<xsl:text>Name</xsl:text>
</th>
<th>
<xsl:text>Action Performed</xsl:text>
</th>
</tr>
<xsl:apply-templates select="dxl:action" />
</table>
</xsl:template>
<xsl:template match="dxl:urllink">
<tr>
<td>
<xsl:value-of select="*" />
</td>
<td>
<xsl:value-of select="@href" />
</td>
</tr>
</xsl:template>
<xsl:template match="dxl:computedtext">
<tr>
<td>
<xsl:apply-templates select=".//*[local-name()='code']" />
</td>
</tr>
</xsl:template>
<xsl:template match="*[local-name()='datetime']">
<xsl:value-of select="substring(., 5,2)" />/<xsl:value-of select="substring(., 7,2)" />/<xsl:value-of select="substring(., 1,4)" />
<xsl:value-of select="substring(., 10,2)" />
:
<xsl:value-of select="substring(., 12,2)" />
:
<xsl:value-of select="substring(., 14,2)" />
</xsl:template>
<xsl:template match="*[local-name()='code']">
<br />
<b>
<xsl:value-of select="@event" />
<xsl:text>:</xsl:text>
</b>
<xsl:apply-templates select=".//*[local-name()='formula']" />
<xsl:apply-templates select=".//*[local-name()='lotusscript']" />
<xsl:apply-templates select=".//*[local-name()='java']" />
<xsl:apply-templates select=".//*[local-name()='javascript']" />
</xsl:template>
<xsl:template match="dxl:formula">
<xsl:value-of select="." />
</xsl:template>
<xsl:template match="dxl:lotusscript">
<xsl:value-of select="." />
</xsl:template>
<xsl:template match="dxl:java">
<xsl:value-of select="." />
</xsl:template>
<xsl:template match="dxl:javascript">
<xsl:value-of select="." />
</xsl:template>
<xsl:template match="dxl:modified">
<br />
<xsl:apply-templates select="dxl:datetime" />
</xsl:template>
<xsl:template match="dxl:column">
<tr>
<td>
<xsl:value-of select="@itemname" />
</td>
<td>
<xsl:value-of select="@sort" />
</td>
<td>
<xsl:value-of select="@showaslinks" />
</td>
<td>
<xsl:value-of select="@hidden" />
</td>
<td>
<xsl:apply-templates select=".//*[local-name()='code']" />
</td>
</tr>
</xsl:template>
<xsl:template match="*">
<xsl:value-of select="." />
</xsl:template>
<!-- Match all text that has not yet been picked up by the templates, and discard it. -->
<xsl:template match="text()"></xsl:template>
</xsl:stylesheet>