The following shows the XSL file read by the sample program.
<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output method="html" indent="yes" encoding="Shift_JIS"/>
<xsl:template match="/">
<xsl:apply-templates />
</xsl:template>
<!-- start conversion for START as a root -->
<xsl:template match="START">
<HTML>
<HEAD>
<TITLE>Display XML at a table of HTML</TITLE>
</HEAD>
<BODY BGCOLOR="#C0C0C0">
<FONT SIZE="5">Ordering Payment Slip</FONT>
<TABLE BORDER="2">
<TR><TH>Brand_Name</TH><TH>Unit_Price</TH>
<TH>Amount</TH><TH>Subtotal</TH></TR>
<xsl:apply-templates />
<TR><TH>Total</TH><TD> </TD><TD> </TD>
<TD ALIGN="RIGHT"><xsl:value-of
select="(//Merchandise[1]/Unit_Price * //Merchandise[1]/Amount +
//Merchandise[2]/Unit_Price * //Merchandise[2]/Amount +
//Merchandise[3]/Unit_Price * //Merchandise[3]/Amount)" /></TD></TR>
</TABLE>
</BODY>
</HTML>
</xsl:template>
<xsl:template match="Payment_Slip">
<xsl:apply-templates />
</xsl:template>
<!-- make one line with one merchandise, and output a subtotal -->
<xsl:template match="Merchandise">
<TR><xsl:apply-templates />
<TD ALIGN="RIGHT">
<xsl:value-of select="number(Unit_Price)*number(Amount)" />
</TD></TR>
</xsl:template>
<!-- output a brand name -->
<xsl:template match="Brand_Name">
<TD><xsl:value-of select="."/></TD>
</xsl:template>
<!-- output unit price -->
<xsl:template match="Unit_Price">
<TD ALIGN="RIGHT"><xsl:value-of select="."/></TD>
</xsl:template>
<!-- output amount -->
<xsl:template match="Amount">
<TD ALIGN="RIGHT"><xsl:value-of select="."/></TD>
</xsl:template>
</xsl:stylesheet>