| <xsl:comment> | |
| Allows you to create a comment in the output document. Comments are sometimes used to add legal notices, disclaimers, or information about when the output document was created. Another useful application of the <xsl:comment> element is the generation of CSS definitions or JavaScript code in an HTML document. | |
| Category | |
|
Instruction |
|
| Required Attributes | |
|
None. |
|
| Optional Attributes | |
|
None. |
|
| Content | |
|
An XSLT template. |
|
| Appears in | |
|
<xsl:comment> appears in a template. |
|
| Defined in | |
|
XSLT section 7.4, Creating Comments. |
|
| Example | |
|
Here's a stylesheet that generates a comment to define CSS styles in an HTML document:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="/">
<html>
<head>
<title>XSLT and CSS Demo</title>
<style>
<xsl:comment>
p.big {font-size: 125%; font-weight: bold}
p.green {color: green; font-weight: bold}
p.red {color: red; font-style: italic}
</xsl:comment>
</style>
</head>
<body>
<xsl:apply-templates select="list/title"/>
<xsl:apply-templates select="list/listitem"/>
</body>
</html>
</xsl:template>
<xsl:template match="title">
<p class="big"><xsl:value-of select="."/></p>
</xsl:template>
<xsl:template match="listitem">
<xsl:choose>
<xsl:when test="position() mod 2">
<p class="green"><xsl:value-of select="."/></p>
</xsl:when>
<xsl:otherwise>
<p class="red"><xsl:value-of select="."/></p>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
This stylesheet creates three CSS styles inside an HTML comment. We'll apply the stylesheet to this document: <?xml version="1.0"?> <list xml:lang="en"> <title>Albums I've bought recently:</title> <listitem>The Sacred Art of Dub</listitem> <listitem>Only the Poor Man Feel It</listitem> <listitem>Excitable Boy</listitem> <listitem xml:lang="sw">Aki Special</listitem> <listitem xml:lang="en-gb">Combat Rock</listitem> <listitem xml:lang="zu">Talking Timbuktu</listitem> <listitem xml:lang="jz">The Birth of the Cool</listitem> </list> The stylesheet will apply one CSS style to the <title> element and will alternate between two CSS styles for the <listitem>s. Here's the generated HTML:
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>XSLT and CSS Demo</title>
<style>
<!--
p.big {font-size: 125%; font-weight: bold}
p.green {color: green; font-weight: bold}
p.red {color: red; font-style: italic}
-->
</style>
</head>
<body>
<p class="big">Albums I've bought recently:</p>
<p class="green">The Sacred Art of Dub</p>
<p class="red">Only the Poor Man Feel It</p>
<p class="green">Excitable Boy</p>
<p class="red">Aki Special</p>
<p class="green">Combat Rock</p>
<p class="red">Talking Timbuktu</p>
<p class="green">The Birth of the Cool</p>
</body>
</html>
When rendered, the document looks like Figure A-6. Document with generated comment nodes |
|