0

w3c sitemap.xsd:http
://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd 它看起来像这样:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" targetNamespace="http://www.sitemaps.org/schemas/sitemap/0.9" elementFormDefault="qualified">

我有两个站点地图文件。
1. w3c 站点地图文件,像这样:

<?xml version="1.0" encoding="UTF-8"?>                                                                                                                                                                                                       
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url><loc>http://t.qq.com/p/t/42509089158929/</loc></url>
</urlset>

2.google-sitemap文件,如下:</p>

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.google.com/schemas/sitemap/0.9"> 
<url>
<loc>http://blog.ifeng.com/article/11487489.html</loc>
<lastmod>2011-05-23T09:33:01+08:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
</urlset>

我使用 w3c sitemap.xsd 通过 xmllint 验证这两个文件。
1. w3c 站点地图文件,正常成功
2. google-sitemap 文件,输出如下

$ xmllint --schema sitemap.xsd sitemap_google.xml  --noout 
sitemap_google.xml:2: element urlset: Schemas validity error : Element '{http://www.google.com/schemas/sitemap/0.9}urlset': No matching global declaration available for the validation root.
sitemap_google.xml fails to validate

我认为,问题在于 google-sitemap.xml 和 sitemap.xsd 中的命名空间不同。我应该如何使用 sitemap.xsd 来验证这两个站点地图文件?

谢谢!

4

1 回答 1

0

如果在 google 站点地图实例文档中没有对 sitemaps.org 站点地图架构的引用,那么我看不到您应该如何验证它,甚至看不到您想要验证它的原因。

通过在文件顶部包含命名空间,google 站点地图实例清楚地表明它是 google.com 站点地图架构的实例,而不是 sitemaps.org 站点地图架构的实例。

于 2012-07-02T12:56:18.397 回答