我生成 xhtml,但验证器(http://validator.w3.org/check)给我错误“文档类型不允许元素“li”在这里;缺少“ul”、“ol”开始标签之一
代码是:
<xsl:template match="/">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Catalogue</title>
</head>
<body>
<h1>Producers</h1>
<div style="margin:1em;background-color:lightgray;padding:0.5em">
<strong>Quick links to producers</strong>
<xsl:call-template name="producer" />
</div>
<xsl:apply-templates select="//producer[@id]" />
<h1>Products</h1>
<xsl:apply-templates select="//product[@id]" />
</body>
</html>
</xsl:template>
<xsl:template name="producer">
<xsl:for-each select="//producer[@id]">
<li>
<a href="#{@id}">
<b>
<xsl:value-of select="name"/>
</b>
<xsl:text> (</xsl:text><xsl:value-of select="@id"/><xsl:text>) </xsl:text>
</a>
</li>
</xsl:for-each>
</xsl:template>
<xsl:template match="producer[@id]">
<a name="{@id}"/>
<div style="border: thin solid gray;margin:1em;padding:0.5em;">
<h2>
<xsl:value-of select="name"/>
</h2>
<xsl:text>
<xsl:value-of select="description"/>
</xsl:text>
<xsl:apply-templates select="//producer[@id=current()/@id]/products"/>
</div>
</xsl:template>
知道如何生成有效的 xhtml 吗?谢谢。