Goodpic.com
2004年05月12日

Amazon WEBサービス:REST/XSLTを使い倒す1 基礎知識

G-ToolsはAmazonのWEBサービス、XSLT機能を活用しているのですが、G-Toolsを作る過程で、XSLの書き方などを試行錯誤したので、何回かに分けてまとめてみます。
まずは何はともあれ、AmazonのWEBサービスを使えるようにするために、下記の記事を参考にしてください。

AmazonのXML Webサービス(REST)はXSLを書くだけでもかなり使える

RESTってなに?と興味をもった方はこちらの記事に概要が書いてあります。

RESTアーキテクチャとは? SOAPとの関係は?

ザックリ言ってしまうと、AmazonのWEBサービスのURLにパラメーターをつけてHTTPアクセスすると、XMLで答えを返してくれる、という程度の理解でもよいのかと。SOAPなどに比べると、答えをもらうまでの手続きがはるかに簡単ということですね。

ただし答えをAmazonからもらって、XMLをそのまま表示しても、見に来た人は「なんじゃこれ?」ということになるので、普通のホームページとして表示するためにHTMLフォーマットに変換してあげる必要があるわけです。そのXMLをHTMLに変換するために使うのが、XSLT機能です。

XSLとXSLTの用語の違いが分かりにくいのですが、@ITのXML用語辞典を読むと理解できます。XML文章のスタイルを定義する目的で、XSL (Extensible Stylesheet Language) という名前ではじまった仕様が、その中でもスタイル変換部分が重要だったのでXSLT (XSL Transformations) というかたちで分離独立した、とのことです。
XSLT機能を利用するけれども、元々はXSLという一つの仕様の一部であるために、XSLT文章も拡張子は .xsl のまま、区別せず扱うことになっているのでしょうか。
というわけで、Amazonのドキュメントにも書いてある通り、REST/XSLT機能というのが正しい表現のようです(僕も今までXSLとXSLTを、いい加減に混同して書いていましたが)。

XMLファイル内の「<item>というタグ要素は、○○のように変換したい」というように”パターン”と”テンプレート”を組み合わせた、複数のテンプレート・ルールが記述されてXSLT文章となります。
自分の表示したいHTMLを得るためには、変換ルールを記述したXSLT文章と、Amazonの商品情報が書かれたXMLを一緒に、XSLプロセッサーという、実際に変換をしてくれるプログラムに渡す必要があります。Amazonは親切にも、このXSLプロセッサーも用意してくれているので、WEBサービスを使う側の僕らは「ここ(XSLT文章)に書かれている通りにやっといて」と文章を渡すだけでいいわけです(下の図を参照)。自分オリジナルなサービスっぽく見せるためには、ちょこっとスクリプトを付け足す必要はあるのですが、XSLT文章を書くだけで、色々と試すことができる手軽さをAmazonは提供してくれているのですね。

次回は、具体的なXSLTの書き方をちょっとまとめてみたいと思います。
Amazon アソシエイト解説 2:WEBサービスからXSLTで簡単なHTMLを作成へ続く

AmazonのWEBサービス概要図

Posted by jkanekomt at 2004年05月12日 02:34 | trackBack



Comments

何時も丁寧な解説をありがとうございます。しかし未だ60%位しか理解していないようです。また読み返させていただきます。
ありがとうございました。

Posted by: maida01 at 2004年05月13日 13:43
Post a comment









Remember personal info?







関連記事