1

このサイトマップを検証しようとしています: http://animal.org.il/post.xml この検証ツールを使用して: http://www.xmlcheck.com/checkurl.php

すべての image:image タグでこのエラーが発生します: エラー 1845: 要素 '{http://www.google.com/schemas/sitemap-image/1.1}image': 一致するグローバル要素宣言がありませんが、要求されました厳密なワイルドカードによって。

これらの image:image タグのいくつかを示す、私のサイトマップの現在のソースのスニペットを次に示します。

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="http://animal.org.il/wp-content/plugins/bwp-google-xml-sitemaps/xsl/bwp-sitemap.xsl"?>
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">

<url>
    <loc>http://animal.org.il/to-be-goose/</loc>
    <lastmod>2012-07-24T09:57:18+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.4</priority>
    <image:image>
      <image:loc>http://animal.org.il/wp-content/gallery/goose/goose-nature.jpg</image:loc>
      <image:title>אווז בטבע</image:title>
      <image:caption>אווז בטבע עף על פני מאות קילומטרים מדי שנה, אך בתעשיית הבשר והנוצות הוא לא יזכה לפרוש כנף לעולם.</image:caption>
    </image:image>
    <image:image>
      <image:loc>http://animal.org.il/wp-content/gallery/goose/goose-feathers.jpg</image:loc>
      <image:title>תעשיית הנוצות</image:title>
      <image:caption>אווז ממשש במקורו את העור החשוף לאחר מריטת נוצותיו. מתוך תחקיר על תעשיית ה&lt;a href="http://anonymous.org.il/cat40.html" target="_blank"&gt;נוצות&lt;/a&gt; של הטלוויזיה השוודית (Kalla Fatka, TV4)</image:caption>
    </image:image>
    <image:image>
      <image:loc>http://animal.org.il/wp-content/gallery/goose/goose-foie-gras.jpg</image:loc>
      <image:title>כך מייצרים כבד אווז</image:title>
      <image:caption>על מנת לייצר &lt;a href="http://anonymous.org.il/cat14.html" target="_blank"&gt;כבד אווז&lt;/a&gt;, מפטמים את האווז באמצעות החדרת צינור מתכת לגרונו.</image:caption>
    </image:image>
  </url>
4

1 に答える 1

10

デフォルトでは、使用している検証サービスは、http: //www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd のサイトマップ スキーマを使用してサイトマップ ドキュメントを検証しているようです。そのスキーマには要素に一致するワイルドカードがありますがimage:image、それらの要素はhttp://www.google.com/schemas/sitemap-image/1.1/sitemap-image.xsdの別のスキーマ ドキュメントで宣言されており、スキーマでは宣言されていません。使用されています。エラー メッセージが示すように、問題のワイルドカードは「厳密な」ワイルドカードです。つまり、一致する要素をスキーマで宣言する必要があります。

イメージの名前空間についてスキーマ ドキュメントを参照するようにバリデータに指示する方法があるかもしれませんが、明らかな方法は見つかりませんでした。サイトマップ ドキュメントに属性を追加するxsi:schemaLocationと、ルート要素は次のようになります。

<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" 
  xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"
  xsi:schemaLocation="
    http://www.sitemaps.org/schemas/sitemap/0.9
    http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd
    http://www.google.com/schemas/sitemap-image/1.1
    http://www.google.com/schemas/sitemap-image/1.1/sitemap-image.xsd" >

これは通常、スキーマ検証ツールにスキーマの場所を伝える最良の方法ではありませんが、多くの場合は機能します。ただし、この場合はそうではありません。

一方、アップロードするドキュメントの場合、使用している検証サービスでは、スキーマ ドキュメントもアップロードできます。以下に示すように、sitemap と sitemap-image 名前空間に対して必要な 2 つのスキーマ ドキュメントをインポートするだけのスキーマ ドキュメントを作成し、それをサイトマップと一緒にアップロードすると、画像要素のエラーはなくなります。サイトマップをアップロードするのではなく Web から検証する場合は、バリデーターに適切なスキーマを使用させる別の方法があるかもしれません。ドキュメントを探すか、サービスのオペレーターに情報を尋ねる必要があります。

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:import namespace="http://www.sitemaps.org/schemas/sitemap/0.9"
             schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"/>
  <xs:import namespace="http://www.google.com/schemas/sitemap-image/1.1"
             schemaLocation="http://www.google.com/schemas/sitemap-image/1.1/sitemap-image.xsd"/>

</xs:schema>

image:captionその代わりに、要素について不平を言うエラーがありますimage:title。それらが修正されると、サイト マップは有効であると認識されます。

于 2012-12-30T18:42:59.000 に答える