File: Data.xml
<wine grape="Cabernet">
<winery>shop 1</winery>
<product>product 1</product>
<year>1996</year>
<price>11.99</price>
</wine>
File: Transform.xslt
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output method="html" />
<xsl:param name="bodyTextSize">10pt</xsl:param>
<xsl:template match="/">
<xsl:if test="not(contains($bodyTextSize,'pt'))">
<xsl:message terminate="yes">
bodyTextSize must be specified in points (pt).
</xsl:message>
</xsl:if>
<xsl:apply-templates />
</xsl:template>
<xsl:template match="winery">
<b>
<font size="{$bodyTextSize}">
<xsl:apply-templates />
<xsl:text> </xsl:text>
<xsl:value-of select="../@grape" />
</font>
</b>
<br />
</xsl:template>
<xsl:template match="product">
<i>
<font size="{$bodyTextSize}">
<xsl:apply-templates />
</font>
</i>
<br />
</xsl:template>
<xsl:template match="year | price">
<font size="{$bodyTextSize}">
<xsl:apply-templates />
</font>
<br />
</xsl:template>
</xsl:stylesheet>
Output:
<b><font size="10pt">shop 1 Cabernet</font></b><br>
<i><font size="10pt">product 1</font></i><br>
<font size="10pt">1996</font><br>
<font size="10pt">11.99</font><br>
|