<xsl:stylesheet
  version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  indent-result="no"
  default-space="strip">

<xsl:output method="text"/>

<xsl:strip-space elements="*"/>

<xsl:template match="/">
   <xsl:apply-templates match="xdelta" />
</xsl:template>

<xsl:template match="xdelta">
<xsl:text>*SHOW </xsl:text><xsl:value-of select="description"/><xsl:text> Revised </xsl:text><xsl:value-of select="@revised" />
<xsl:text>

</xsl:text>
<xsl:apply-templates select="character-list" />
</xsl:template>

<xsl:template match="character-list">
<xsl:text>*CHARACTER LIST</xsl:text>
<xsl:text>

</xsl:text>
<xsl:apply-templates select="//character" />
</xsl:template>

<xsl:template match="character">
<xsl:text>#</xsl:text><xsl:value-of select="@number"/><xsl:text>. </xsl:text>
<xsl:value-of select="description" /><xsl:text> </xsl:text>
<xsl:if test="comment">
<xsl:text disable-output-escaping="yes">&lt;</xsl:text><xsl:value-of select="comment" /><xsl:text disable-output-escaping="yes">&gt;</xsl:text>
</xsl:if>
<xsl:text>/
</xsl:text>
<xsl:if test="multi">
<xsl:apply-templates match="//multi" />
</xsl:if>
<xsl:if test="num">
<xsl:apply-templates match="//num"/>
</xsl:if>
<xsl:text>

</xsl:text>
</xsl:template>

<xsl:template match="multi">
<xsl:apply-templates match="//state" /><xsl:text>
</xsl:text>
</xsl:template>

<xsl:template match="state">
<xsl:text>       </xsl:text><xsl:value-of select="@number" /><xsl:text>. </xsl:text><xsl:value-of select="text()" />
<xsl:text>/
</xsl:text>
</xsl:template>

<xsl:template match="num">
<xsl:text>       </xsl:text><xsl:value-of select="@units" />
<xsl:text>/
</xsl:text>
</xsl:template>

<xsl:template match="*"></xsl:template>

</xsl:stylesheet>
