レンタルサーバー選びの迷いを解決!全力サポートします

Google or AdMax Promotion (srv)

XSLTのみネームスペース指定表示例(XMLサイトマップ+XSLT)【Googleエラー】

XML文書を使いサイトマップやサイトマップインデックスを
ブラウザ表示(HTML)する際にはXSLT(スタイルシート)を割り当てて表示します。
XML側にネームスペースを指定しかつ、スタイルシートを割り当てることで、
Googleにインデックス要求ができる妥当なXMLを生成しつつ、
XSLT(スタイルシート)割当例についてご紹介します。

本記事は以下の1コンテンツです。

この方法は初歩的な構成でスタイルを割り当てますが、
XML文書のネームスペース指定を省いている為、
Googleのサイトマップ登録ではエラーが表示されます(食べてはくれます)
あくまでも1例、サンプルとしてお考えください。

問題 説明
エラー 誤ったネームスペース サイトマップまたはサイトマップ インデックス ファイルのネームスペース宣言が不適切です。

Googleへの登録が目的であれば、以下の例が一番シンプルかと思います。

XSLTのみネームスペース指定表示例(XMLサイトマップ+XSLT)

XML文書にネームスペースの指定を行わず、
XSLT(スタイルシート)を反映し、可読性を高めた表示ができる指定方法です。

サイトマップインデックスの例

まずは、サイトマップインデックスの例です。

通常、3行目の「<sitemapindex>」の部分は、
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">」と書きます。
これはサイトマッププロトコルの仕様です。
(参考)sitemaps.org – プロトコル 

これに以下の様なスタイルシートを割り当てています。

以下URLでXMLを表示するとXMLにスタイルシートが適用された
サイトマップインデックス表示が確認できます。

スタイルが反映されない例

ちなみに私が躓いた失敗ポイントとして、
1行が違うだけでうまくスタイル反映がされませんのでご注意下さい。

スタイルシートの「<html>」タグ部分の名前空間指定を省略します。

XMLの方は同じです(スタイルファイル指定のみ異なります)

では実際の表示をご確認ください。
スタイルが反映されないままの平文が表示されている事と思います。
値だけはちゃんと出力されているので、処理はされているのですが。

 

サイトマップの例

まずは、サイトマップインデックスの例です。

通常、3行目の「<sitemapindex>」の部分は、
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">」と書きます。
これはサイトマッププロトコルの仕様です。
(参考)sitemaps.org – プロトコル 

これに以下の様なスタイルシートを割り当てています。

以下URLでXMLを表示するとXMLにスタイルシートが適用された
サイトマップインデックス表示が確認できます。

スタイルが反映されない例

ちなみに私が躓いた失敗ポイントとして、
1行が違うだけでうまくスタイル反映がされませんのでご注意下さい。

スタイルシートの「<html>」タグ部分の名前空間指定を省略します。

XMLの方は同じです(スタイルファイル指定のみ異なります)

では実際の表示をご確認ください。
スタイルが反映されないままの平文が表示されている事と思います。
値だけはちゃんと出力されているので、処理はされているのですが。

 

この例を見れば、XML側にネームスペース指定がない状態で、
XSLT側に独自にスタイル指定を行うだけでも、
表示上は十分に要件を満たすことが分かります。

このままではGoogleは食べてくれるものの、エラーだと怒るわけですけども・・・。

 


プロモーション

Google or AdMax Promotion (srvpos)

公開日:

コンテンツナビ
すべて展開 | すべて省略

AdMax Promotion

カテゴリ
すべて展開 | すべて省略

QRコードからもこのURLを開けます。