にしし ふぁくとりー(西村文宏 個人サイト)

Presented by Nishishi via Movable Type. Last Updated: 2015/09/22. 13:24:22.

Amazon Web Serviceが返すXML用のXSLTで

Amazon Web Services(AWS)を使って返ってくるXMLの名前空間は、今だと http://webservices.amazon.com/AWSECommerceService/2005-10-05 なんだけど、今後、AWSの機能が変更されたときには、この名前空間の文字列が(そのときの日付に)変更になるらしい。

そうすると、この名前空間が何であっても解釈されるようなXSLTを作ろうと思うと、名前空間を無視するようなXPathの記述をしないといけないわけで、

*[local-name()='ItemAttributes']/*[local-name()='Title']

みたいな指定をしないといけないっぽくて、なんだかややこしいなあ…と思ってたんですよね。

ところが。

Amazon Web Servicesが返してくるXMLは、「いつのバージョンの形式で返して欲しいか」をこちらがリクエストできるらしく、自分が開発に使ったときのバージョンで返すように常に指定しておけば、(新しく実装された内容については得られないものの)普通にXSLTを記述するだけで良くなることが判明。

Versionプロパティに、「2005-10-05」みたいな値を指定しておけば、常にこのバージョンでのXMLが返ってくるようです。
こうしておけば、最初から、

xmlns:aws="http://webservices.amazon.com/AWSECommerceService/2005-10-05"

みたいな名前空間を記述しておいて

aws:ItemAttributes/aws:Title

のように参照できるのですね~。

コメント

検索してたどりつきました。

今ECS4.0に取り組もうといろいろやっていまして、
まさにタイムリーな記事でした。

この記事を書かれたのは1年以上前ですが。。。

参考にさせていただきます。

ありがとうございました。

そしてトラックバックさせていただきます。

投稿者 はやぶさ じろう : 2007年10月18日 10:46

はやぶささん、どうもです。
お役に立てたようで嬉しいです。(^_^;)
ESC4.0がんばって下さい。^^;

投稿者 にしし : 2007年12月01日 23:36

コメント数: 2件

コメント投稿欄 この日記に対するコメント投稿を歓迎します。

保存しますか?



※本文中にURLは書けません。(書くと投稿が拒否されますのでご注意下さい。)

※投稿内容は、実際にページ上に掲載される前に、管理者によって確認される設定にしている場合があります。その場合は、投稿後にその旨が表示されます。たいてい1~2日以内には表示されるはずですので、気長にお待ち願います。m(_ _)m

トラックバック

このエントリーへのトラックバックURLを表示するにはここをクリック
※スパム防止のため、トラックバックURLは別ウインドウで表示します。(JavaScriptが有効でないと表示されません。)

このリストは、次のエントリーを参照しています: Amazon Web Serviceが返すXML用のXSLTで:

» ecs4.0に挑戦 from 「ゴクロウサンデス。」
呼び出すパラメータ部分では問題ないと思ってます。 用はXSLを理解してないままサンプルをパクリパクリ進んでいったので そこでつまづいているような気がします...

トラックバック時刻: 2007年10月18日 10:51

--- 当サイト内を検索 ---