请教:XSLT+XML转换HTML问题
预期的效果是产生一个表格,但是现在只有表头,其余是文本,哪位DX帮忙解释一下?
test.xml文件如下:
<?xml version="1.0" encoding="gb2312" ?>
<?xml-stylesheet type="text/xsl" href="test.xsl"?>
<xml>
<Main>
</Main>
<people name="p11" sex="m" age="13">
<memo><![CDATA[....contents1]]></memo>
</people>
<people name="p21" sex="f" age="23">
<memo><![CDATA[....contents2]]></memo>
</people>
<people name="p31" sex="f" age="33">
<memo><![CDATA[....contents3]]></memo>
</people>
<people name="p41" sex="m" age="43">
<memo><![CDATA[....contents4]]></memo>
</people>
</xml>
test.xsl文件如下:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" indent="yes"/>
<xsl:template match="Main">
<html>
<head>
</head>
<body>
<table border="1" cellspacing="1" cellpadding="2" align="center" width="100%">
<tr valign="bottom">
<td width='30%'>att a</td>
<td width='30%'>att b</td>
<td width='40%'>att c</td>
</tr>
<xsl:apply-templates />
</table>
</body>
</html>
</xsl:template>
<xsl:template match="people">
<tr valign="top">
<xsl:choose>
<xsl:when test="@sex='m'">
<td><xsl:value-of select="@name"/></td>
<td><font color="ff0000"><xsl:value-of select="@sex"/></font></td>
<td><xsl:value-of select="@age"/></td>
</xsl:when>
<xsl:when test="@sex='f'">
<td><xsl:value-of select="@name"/></td>
<td><font color="0000ff"><xsl:value-of select="@sex"/></font></td>
<td><xsl:value-of select="@age"/></td>
</xsl:when>
</xsl:choose>
</tr>
</xsl:template>
</xsl:stylesheet>