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">

2 つのサイトマップ ファイルがあります。
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 を使用して、これら 2 つのファイルを xmllint で検証します。
1. w3c stitemap ファイル、正常および成功
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 で名前空間が異なることだと思います。これら 2 つのサイトマップ ファイルを検証するために sitemap.xsd を使用するにはどうすればよいですか?

ありがとう!

4

1 に答える 1

0

Google サイトマップ インスタンス ドキュメントに sitemaps.org サイトマップ スキーマへの参照がない場合、どのように検証する必要があるか、または検証する理由さえわかりません。

ファイルの先頭に名前空間を含めることで、Google サイトマップ インスタンスは、それが google.com サイトマップ スキーマのインスタンスであり、sitemaps.org サイトマップ スキーマではないことを明確に示しています。

于 2012-07-02T12:56:18.397 に答える