<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"/>
<xsl:template match="/RESULTS">
<html>
<head>
<title>Table data</title>
</head>
<body>
<table>
<thead>
<!-- Extract the column-names from the first row. -->
<xsl:apply-templates select="ROW[1]" mode="header"/>
</thead>
<tbody>
<xsl:apply-templates select="ROW"/>
</tbody>
</table>
</body>
</html>
</xsl:template>
<!-- "header"-mode generates the column headers. -->
<xsl:template match="ROW" mode="header">
<tr>
<xsl:apply-templates match="COLUMN" mode="header"/>
</tr>
</xsl:template>
<xsl:template match="COLUMN" mode="header">
<th>
<xsl:value-of select="@NAME"/>
</th>
</xsl:template>
<!-- normal mode generates the table data -->
<xsl:template match="ROW">
<tr>
<xsl:apply-templates match="COLUMN"/>
</tr>
</xsl:template>
<xsl:template match="COLUMN">
<td>
<xsl:value-of select="text()"/>
</td>
</xsl:template>
</xsl:stylesheet>
输出:
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1- transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Table data</title>
</head>
<body>
<table>
<thead>
<tr>
<th>Employee_Names</th>
<th>Salary</th>
<th>STREET_ADDRESS</th>
</tr>
</thead>
<tbody>
<tr>
<td>Steven</td>
<td>24000</td>
<td>1297 Via Cola di Rie</td>
</tr>
<tr>
<td>Neena</td>
<td>17000</td>
<td>1297 Via Cola di Rie</td>
</tr>
</tbody>
</table>
</body>
</html>