1<?xml version="1.0"?>
2
3<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
4
5<xsl:output encoding="utf-8"/>
6
7<xsl:template match='top/*[1]'>
8    <A><xsl:value-of select="."/></A>
9</xsl:template>
10
11<xsl:template match='top/*[6]/kid[2]'>
12    <D><xsl:value-of select="."/></D>
13</xsl:template>
14
15
16<xsl:template match='top/*[position()=2]'>
17    <B><xsl:value-of select="."/></B>
18</xsl:template>
19
20<xsl:template match='top/*[position()=3]'>
21    <C><xsl:value-of select="."/></C>
22</xsl:template>
23
24<!-- bug in jclark's xt: "last()=position()" doesn't equal "position()=last()" -->
25
26<xsl:template match='top/*[position()=last()]'>
27    <LAST><xsl:value-of select="."/></LAST>
28</xsl:template>
29
30<xsl:template match='top' priority="1">
31    <TOP>
32       <xsl:apply-templates/>
33    </TOP>
34</xsl:template>
35
36</xsl:stylesheet>
37
38