w3c sitemap.xsd: http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd
Это выглядит следующим образом:Как использовать w3c sitemap.xsd для проверки w3c sitemap & google sitemap?
<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 sitmap файл, например:
<?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-файл карты сайта, как это:
<?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 stitemap файл, нормальный и успех
2. Google-карта сайта файл, выход, как показано ниже
$ 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 для проверки этих двух файлов Sitemap?
Спасибо!
Тело каждого файла абсолютно одинаково. Файл Sitemap содержит ... и такие теги, я хочу проверить эти файлы на один файл xsd (schema), но я этого не сделал. Если я удалю xmlns = "http://www.google.com/schemas/sitemap/0.9" в файле Sitemap google, проверка будет проходить. –
Felix
Независимо от тела файла атрибут namespace определяет, где определены типы в вашем xml. Если вы хотите проверить файл, объявляющий его типы как определенные в schemaA, но используя schemaB, он не будет работать. –
ой, так плохо. Я хочу проверить тезисы xml игнорировать их декларации пространства имен, есть ли у вас какие-либо идеи? Я использую xerces-c lib. – Felix