Syndicate this site ATOM (XML) Syndicate this site RSS 2.0 (XML)

« ヒナタイノコズチ -Achyranthes fauriei- | Blog's TOP | at 新疆塔什库尔干 on 18/Aug/1999 »

Amazon XSLT for MT

Category : [Movable Type]
Posted by snotch at September 19, 2003 11:21 PM
MTで amazon ウェブサービスを手軽に利用するには、 hirataさんの mt-aws というプラグインが便利で、使わせてもらっています。amazon ウェブサービスで出来そうなことをあれこれ試行錯誤していたのですが、リアルタイムな検索結果を自分のページ風に表示する機能を、XSLT+MTのテンプレートで簡単に実現する方法をご紹介します。mt-aws プラグインと一緒に用いると、さらに充実したものができそうです。

---
MTで新たなテンプレートを作成するだけで、Amazon webservices の検索結果を自分のウェブログのように表示できるようにする方法です。

MTさえ利用できる環境にあれば、インストールに必要な条件はありませんが、Amazon webservices を利用するので、 Amazon webservices のデベロッパー・トークン、及び AmazonのアソシエイトIDを取得済みであることが前提です。(現時点03/09/19、どちらも無料です)

リスト1、リスト2をコピー&ペーストして、テンプレートを作成します。Index Templateのリビルドと同時に更新されるように、チェックボックスにチェックを入れてセーブします。

リスト1::JavaScript for amazon web service
テンプレート出力ファイル名 : aws.js

リスト2::XSLT for amazon web service
テンプレート出力ファイル名 : aws.xsl

セーブしたらそれぞれリビルドして、ファイルを出力しておきます。以上で準備は完了です。

- - - 利用サンプル

e.g.1. 検索フォーム
下記のリスト3をエントリやテンプレートに貼り付けると、検索機能を利用できます。リスト3の編集箇所を記しておきます。
1行目:リスト1のJavaScriptへのパス
3行目:デベロッパートークン
4行目:アフェリエイトID
5行目:リスト2のXSLTへのパス
それぞれ自身の環境のものに書き換えて貼り付けます。
検索結果の表示は、MTのCSSの定義に従います。CSSの名前をデフォルトと異なる名前にしている場合には、リスト2の10行目にあるCSSへのパスを編集します。

リスト2のXSLTは、MTのデフォルトテンプレートをもとに作成してあります。検索結果画面のサイドメニューをカスタマイズしたり、画面の構成を変更したい場合、通常のテンプレートを編集するようにしてリスト2の該当箇所を変更します。このサイト用にカスタマイズしたものを作ってみました。

リスト3

e.g.2. ASINサーチ

情報を閲覧したい書籍のISBNコードがわかっている場合、下記のようなリンクを設けると書籍の詳細を表示させることができます。

リスト2のXSLTと、MTのデフォルトCSSによる表示

リスト2のXSLTを、このサイト用に編集した場合の表示

リスト4
http://xml.amazon.co.jp/onca/xml3
?locale=jp
&type=heavy
&AsinSearch=4788505800,4046515082,4757100809 ←ISBN (複数の場合はカンマ区切り)
&dev-t=D39JFLVWL31IM ←デベロッパートークン
&t=dailyblogbysn-22 ←アソシエイトID
&f=http://bloggers.ja.bz/sunouchi/aws.xsl ←リスト2のXSLT出力ファイルを、フルURLで指定
(実際にはコメントをはずして、1行です)
http://xml.amazon.co.jp/onca/xml3?locale=jp&type=heavy&t=dailyblogbysn-22&AsinSearch=4788505800,4046515082,4757100809&dev-t=D39JFLVWL31IM&f=http://bloggers.ja.bz/sunouchi/aws.xsl

TrackBack

Listed below are links to weblogs that reference Amazon XSLT for MT:

» Amazon XSLT for MT from  pblog
daily blogさんのdaily bLog by snotch: Amazon XSLT for MT を読んで実際にやってみました。 凄い!!自分のページがアマゾンになっちゃいました。 ありがとうございます。 ただ鯖がXreaなんで再構築... [Read More]

» Amazon XSLT for MT from Place of Peace...
AWSについて、SOAP+PHPで現在当サイトで試験中ですが、movabletypeにより特化したスクリプトというか、テンプレをつくって公開しているサイト発見。やってみるとよいかも。 daily bLog by snotch: ... [Read More]

» Amazon XSLT for MT from First Weblog
簡単にAmazon検索結果と検索フォームがBlogに貼り付けられるので良いぞ! [Read More]

» Amazon XSLT for MT from First Weblog
簡単にAmazon検索結果と検索フォームがBlogに貼り付けられるので良いぞ! [Read More]

» Amazon XSLT for MT を少し改造 from 小室哲哉 Mixography
snotchさんのAmazon XLST for MTを,色々改造して使ってます。各カテゴリの分野別ブラウズ(ノード表示)を組み込んでみました。... [Read More]

» 「カソウケン附属図書館」とりあえずOPEN from KASOKEN satellite
Amazonのwebサービスを使ったサイト、KASOKEN library:カソウケン附属図書館暫定的オープンです。 前々から、ばらばらになっている本の話題を一カ所にまとめたいなと思っていたのと、Amazonのw... [Read More]

» 「カソウケン附属図書館」とりあえずOPEN from KASOKEN satellite
Amazonのwebサービスを使ったサイト、KASOKEN library:カソウケン附属図書館暫定的オープンです。 前々から、ばらばらになっている本の話題を一カ所にまとめたいなと思っていたのと、Amazonのw... [Read More]

» Amazon Webサービス from 膰〓〓*cc
以前からやろうと思っていてのびのびになっていた、Amazon Webサービスを使ってみました。 ↓daily bLog by snotchのsnotchさんが作られたモジュールです。感謝!Amazon XSLT for MT XSLT+Movabletypeで、... [Read More]

» [XSLT〓貴ovabletype] Amazon Web Service from blog | bookslope
縁側*cc: Amazon Webサービス XSLT+Movabletypeで、リアルタイムな書籍検索結果を自分のページに表示するという機能です。 に触発されて (?!) 自分でも組み込んで見ました (左の「Amazon Web Service... [Read More]

» Amazon XSLT for MT from Nakayama Weblog
Quoted fromdrifting blog by snotch: Amazon XSLT for MT MTで amazon ウェブサービスを手軽に利用するには、 hirataさんの mt-aws というプラグインが便利で、使わせてもらっています。amazon ウェブサービス... [Read More]

» Amazon Web Service + MT from SMAC: Diary
 SMAC: Bookstoreのページはアマゾンのアソシエイトプログラムを利用しているが、手作業でHTMLを書いて更新するのは厄介なため、CGIを使った簡易データベースシステムを導入することにし... [Read More]

» amazon の商品画像を貼り付けたい from わがやのうんこ
いろいろと調べたのですが今ひとつ、左右、両脇に固定的に貼り付けるなら 大御所、平田 大治さんの aws.plや Amazon XSLT for MT などが参考になります。 ただ自分がしたいこととは違うのです... [Read More]

» Amazon XSLT for MTの導入 from むーのぶろぐ
drifting blog by snotch: Amazon XSLT for MT を導入してみました。 アソシエイトIDはもっていたので、デベロッパーIDだけとってきて、 テンプレートに二つ追加して、フォームをいれて終了。 しかし... [Read More]

» AmazonのXML Webサービス(REST)はXSLを書くだけでもかなり使える from Goodpic
AmazonのWebサービスですが、実際に使ってみると、思ったより簡単に、かなり色々な機能が実現できそうです。Amazon.co.jp Webサービスのページでディベロッパー・トークンの登録、ツールの... [Read More]

» AmazonWEBサービステスト from hatayanlog
daily bLog by snotchのAmazon XSLT for MTにあるAmazon webサービスのsoapをxsltでHTMLに変換して表示してくれる。サービスを入れてみた。 RDFがでてきたらXSLTも捨てたもんじゃないなあというのが僕の感... [Read More]

» Amazon Web Serviceボタン from Trivial BLOG.
観たDVDをメモしているのですが、毎回手作業でTSUTAYAサイトの該当タイトルにリンク張ったりしてたんですが、面倒だし、そろそろアマゾンのウェブサービスあたりも使ってみたいと思っ... [Read More]

» Amazon XSLT for MT from ZeroDimension
drifting blog by snotch: Amazon XSLT for MT... [Read More]

» Amazon Web Serviceボタン from Trivial BLOG.
観たDVDをメモしているのですが、毎回手作業でTSUTAYAサイトの該当タイトルにリンク張ったりしてたんですが、面倒だし、そろそろアマゾンのウェブサービスあたりも使ってみたいと思っ... [Read More]

» Amazonアソシエイト from Take a Walk**
AmazonWebサービス(以後AWS)をMovableTypeに導入したいと 考えDLしたものの、難しいわ、英語は読めんわで、PCの前で固まってました。 とっても参考になるサイトを見っけなければ、これは無... [Read More]

» Amazon XSLT for MT 絨〓〓 from くえりの見聞ログ
drifting blog で公開されている Amazon XSLT for MT を導入しました。記事別ページにある関連商品に使用しています。... [Read More]

» amazonのデータをblogに表示 from Cafe's Weblog ☆ 珈琲たいむ
amazonのデータをcandyさんが表示させてるのをみて試してみましたが・・・うまくいくのかな? drifting blog by snotch: Amazon XSLT for MT http://xml.amazon.co.jp/onca/xml3?locale=jp&type=heavy&t=cafekumahou06-22&AsinSear... [Read More]

» Amazon XSLT from ESCAPE WHILE YOU CAN
AmazonのXSLTを使ったインタラクティブなやつ。 見かけがDrk7jpみたいなものをオリジナルで作りたかった。 サイトの記事で表示、みたいなことは出来ないけどね!! 遂に出来ました。今日5... [Read More]

» amazone test from msmc::LABO
drifting blog by snotch: Amazon XSLT for... [Read More]

» amazone test from msmc::LABO
drifting blog by snotch: Amazon XSLT for... [Read More]

» amazone test from goods::uchinchi
モノは試し。UTF化の目的はこれっている話もあるけれど、アマゾンの検索窓設置してみた。 和書 洋書 和書と洋書 エレクトロニクス ポピュラー音楽 クラシック音楽 DVD ビデオ ソフトウェ... [Read More]

» drifting blog by snotch: Amazon XSLT for MT from なんでもできる
● drifting blog by snotch: Amazon XSLT f... [Read More]

» drifting blog by snotch: Amazon XSLT for MT from なんでもできる
● drifting blog by snotch: Amazon XSLT f... [Read More]

» amazon webサービスらしきものに挑戦 from 19770903@blog
webサービス XMLwebサービスだったり、SOAP(Simple Objec... [Read More]

» AMAZONでの検索機能を追加 from my private blog
drifting blog by snotch: Amazon XSLT for MTのサイトを参考に、Amazonでの検索機能を追加してみました。 サイトの指示通りにLINKなどの修正をした後、自分のページにも追加してみましたが、意外とす... [Read More]

» Internal/folksonomy本棚 from PukiWiki/TrackBack 0.2
開発紹介/tel 7/6, いよいよミーティング。tel, masken, takuji-i -- tel 2005-07-05 18:59:12 (火) ru... [Read More]

» Amazon Webサービスはすごい! from うさぎ四姉妹日記
少し遅い気もするが、最近Amazon Webサービスに登録して、登録IDを取得... [Read More]

» Amazon Webサービスはすごい! from うさぎ四姉妹日記
少し遅い気もするが、最近Amazon Webサービスに登録して、登録IDを取得... [Read More]

Comments

早速使わせていただきました。
なかなか便利そうでGOODです。
トラックバック失敗したのでコメントで失礼します。

ありがとうございます
面白い使用方法などありましたら
是非教えてください

さっそく使用させて頂きました。ありがとうございました。
幾つか改善点がありましたので,お伝え致します。

MacOSXのsafariから使用すると,以下の問題がありました。

1. 検索フォームに日本語を入れると,検索できないようです。
2. 複数のキーワードを入れると正確に検索結果が表示されない。

MacOSXのIEやnetscapeでは以上の問題は発生しませんでしたが,発売日順でのソートが上手く行かないようです。

aws.xslはDOCTYPE宣言がないからか,IEでは同じCSSを用いていても文字の大きさ等が変わってしまいます。

リダイレクトが暴走するので,aws.xslは以下のように修正しました。
http://xml.amazon.com/onca/xml3

http://xml-na.amznxslt.com/onca/xml3

ご指摘どうもありがとうございます

aws.xsl について、"xml.amazon.com"を"xml-na.amznxslt.com"へ修正しました。
Safariでの動作不具合は、おそらくJavaScriptによるエンコードの問題かと思いますので、対応してみたいと思います。

使用させて頂きました。
ありがとうございました。

私のところのMTはEUC-JPで運用している為、
MTとの連携は出来ませんでした。
aws.xslだけUTF-8のままアップして使っています。

一度MTのUTF-8化を行ったのですが、
他に運用しているphpプログラムとの絡みもあり、泣く泣くEUC-JPに戻しました。

何かいい方法が無いか考えてみます。

リスト2は3行目に下記のDOCTYPEの指定を入れてあげると,MTの他のページとのフォントの大きさのズレがなくなります。

<xsl:output method="xml" encoding="utf-8" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="DTD/xhtml1-strict.dtd" />

R-SITEさん、ありがとうございます
リスト2に追加させていただきました

現在製作中のサイトに、早速使わせていただこうと思い、試してみたところ検索時にどうしてもエラー(We encountered an error applying your XSL template. Please retry.)が出てしまいます。
どうやら& ampのampがリビルド時に削除されてしまうようなのです。versionが2.661のせいなのかと調査中なのですが、何かヒントはないでしょうか?

はじめまして gpさん

当方もMT2.661を使用しておりますが、問題なく動作しております。リスト2の内容を、そのままテンプレートのフォームにペーストするだけで動作するはずなのですが・・・

何行目あたりでエラーが出ているかわかると、何かわかるかもしれません。

お返事ありがとうございます。
説明がわかりにくいかと思いますが、リビルド後に出力されるaws.xslの中の& ampがすべて&になってしまうのです。このサイトのaws.xsl(勝手にすみません)と自分のサイトで出力されたaws.xslを比べてみたところ、MTタグで出力される部分以外では、& amp以外は同じに見えました。そこで、xsl:templat部分を自分のサイトのものにコピペしたら正常に検索することができました。自宅サーバでperl5.8,MT2.661,UTF-8,MySQLという環境なのですが、なぜですかねー
とりあえずは、今のファイルを再構築を行わないことで回避しようとは思っていますが‥‥

上記方法だと

Invalid locale parameter "jp". Valid locales are: us

がでます。

参考
http://jam.apricot.co.jp/affiliate/aws/awschange.html

によると 3/15 に問い合わせ先が変更になったようです。
http://xml-na.amznxslt.com/は
http://xml.amazon.co.jp になったようです。

お世話とは思いますがコメントさせていただきます。

上記内容のAWSを実装中であります。お世話になっております。基本的に初心者なもので分からない部分があり質問させていただきます。
自宅にてサーバを構築しており、MT2.661をWindowsXP + IISにて動作させております。snotch様がコーディングされた上記プログラムをコピペしたものの、検索すると.xlsを適用できない旨のエラーが表示されてしまいます。
最も疑問な点は、MainIndexにおける、aws.xlsのURLの指定方法についてです。インターネットアドレスを指定した場合、ローカルアクセスだとエラーになるのは何となく分かるのですが、外部PCからのアクセスでも.xlsを適用できない旨のエラーが表示されます。xmlデータは間違いなく取得できていて、snotch様のサーバのaws.xlsは適用可能であることは確認させていただきました。
何か情報をお持ちでしたらご教授いただけないでしょうか?

ハイジドルフさん
コメントありがとうございます
関連URLの変更処理を行いました

これで上手くいくと思います> evian さん

素敵なシステムだと思い、使用させていただきたいと思っています。ですが…本当に初心者的質問で申し訳ないのですが…

リスト1と2を
新しいインデックス・テンプレートを作る
で制作し、リビルド後、
リスト3を
Main Indexテンプレートに組み込んだのですが…
実際検索をしてみると、以下のようにxmlのソースがそのまま表示されてしまいます。

何が悪いのか悩んでも悩んでもわからなくて…もし何か、アドバイスがありましたら、教えていただけないでしょうか…?
突然ずうずうしいとは思いますがよろしくお願いします。


-
-
-
・・・中略

Your request has one or more parameters missing. Please check and retry.

はじめまして

結果として表示されているXMLはアマゾンからのエラーコードです。XSLTの構文もしくは、パラメータに誤りのある可能性が高いので、下記の項目をもう一度確認してみてください。日本語を用いる場合には、文字コードとしてUTF-8を使用する必要があります。

1行目:リスト1のJavaScriptへのパス
3行目:デベロッパートークン
4行目:アフェリエイトID
5行目:リスト2のXSLTへのパス

それから、リスト3の先頭に文字化け(??がリスト先頭にくっついていました)が発生していましたので、一応確認してみてください。

お返事ありがとうございます!
私の文字コードがUTF-8でないのが問題のようです…。
以前のコメントに「EUC-JP」での話題が載っていたので、「EUC-JP」でも大丈夫なのかと誤解していました。

自分で書き出したXMLで、サイト名を書き出す時点で「テキストの内容に無効な文字が見つかりました。」とエラーが出ていたので、早く気がつくべきでした。
↓ここの部分です
<title><$MTBlogName$></title>

お手数をかけてすみませんでした。
残念ですが設置はあきらめます。
どうもありがとうございました!

解説通り作業を行い試してみたところ検索時にどうしてもエラー(We encountered an error applying your XSL template. Please retry.)が出てしまいます。& ampのampがリビルド時は削除されていません。

関係がないとは思いますがAmazonアソシエイトの審査に通らないとWebサービスは使用できないのでしょうか? 関係ないですよね。。。(-_-;)

こんばんは、初めまして。
この記事のAmazon XSLT for MTを使わせていただきました。
とってもCSSに苦労しながら作りました。
なかなか面白い仕組みですね。
でも、できて満足しています。
また、これからもよろしくお願いします!