我有一个 xml 格式的站点地图,它给我一个错误“找不到文档类型”。也许源代码有问题,我希望有人帮助我纠正语法。我是 xml/xsl 语法的新手,所以即使站点地图有效,我也不知道要验证我的站点地图,因为我总是找不到文档类型……我使用复制指令将 html 输出放到浏览器中文档类型...
如果我尝试使用输出 xml,我只会看到纯文本而不是 html,并且缺少 doctype...请帮助我使用语法...请更正我的文件...请帮助我!
站点地图.xml:
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="sitemap.xsl" type="text/xsl"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.alecos.it/games.php</loc>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>http://www.alecos.it/diary_31032007.php</loc>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
cut... cut...
</urlset>
站点地图.xsl:
<xsl:stylesheet version="2.0"
xmlns:html="http://www.w3.org/TR/REC-html40"
xmlns:sitemap="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" omit-xml-declaration="yes" 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="/">
<html>
<head>
<title>SiteMap - Alecos Web Site By Alessandro Marinuzzi</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
</head>
<body>
<div id="content">
<h1><a href="index.php" title="Alecos Web Site"><img src="gfx/Logo.png" alt="[Alecos WebSite SiteMap]" border="0"/></a></h1>
<div class="intro">
<p>Generated By <a href="http://www.alecos.it/">www.alecos.it</a>. Windows, Linux, Unix, MacOS(X) and Amiga programs, scripts, translations, articles and more...</p>
<p>This sitemap contains <xsl:value-of select="count(sitemap:urlset/sitemap:url)"/> URLs.</p>
</div>
<table class="sitemap" cellpadding="3">
<thead>
<tr>
<th width="80%">URL</th>
<th width="10%">Priority</th>
<th width="10%">Change Frequency</th>
</tr>
</thead>
<tbody>
<xsl:variable name="lower" select="'abcdefghijklmnopqrstuvwxyz'"/>
<xsl:variable name="upper" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'"/>
<xsl:for-each select="sitemap:urlset/sitemap:url">
<tr>
<td>
<xsl:variable name="itemURL">
<xsl:value-of select="sitemap:loc"/>
</xsl:variable>
<a href="{$itemURL}">
<xsl:value-of select="sitemap:loc"/>
</a>
</td>
<td>
<xsl:value-of select="concat(sitemap:priority*100,'%')"/>
</td>
<td>
<xsl:value-of select="concat(translate(substring(sitemap:changefreq, 1, 1),concat($lower, $upper),concat($upper, $lower)),substring(sitemap:changefreq, 2))"/>
</td>
</tr>
</xsl:for-each>
</tbody>
</table>
</div>
</body>
</html>
</xsl:template>
<xsl:copy>
<xsl:apply-templates select="/"/>
</xsl:copy>
</xsl:stylesheet>