- Home ›
- Amazon Web サービス入門 ›
- ページ管理 ›
- HERE
XSLTスタイルシートの作成
それではXSLTスタイルシートを作成していきます。XSLTスタイルシートもXML文書ですのでまずはXML宣言を記述します。
<?xml version="1.0" encoding="UTF-8"?>
次にXSLTのバージョン情報と名前空間を指定します。XSLTの名前空間のURIは「http://www.w3.org/1999/XSL/Transform」でありプリフィックスは「xsl」となります。
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> </xsl:stylesheet>
またAmazon Webサービスで使用しているXMLの名前空間のURIは「http://webservices.amazon.com/AWSECommerceService/」+APIのバージョンとなっておりプリフィックスは「aws」です。こちらも宣言に追加しておきます。
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:aws="http://webservices.amazon.com/AWSECommerceService/2009-07-01"
version="1.0">
</xsl:stylesheet>
ここで指定するバージョン番号はリクエストを作成する方で使用しているProduct Advertising APIのバージョンと同じにする必要があります。
次に結果をどのように出力するのかを指定しておきます。
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:aws="http://webservices.amazon.com/AWSECommerceService/2009-07-01"
version="1.0">
<xsl:output method="html" encoding="UTF-8"/>
</xsl:stylesheet>
<xsl:output>要素はいくつかの属性を指定可能ですが、今回は出力フォーマットとして「html」を、出力エンコーディングとして「UTF-8」を指定しています。
これでXSLTスタイルシートの宣言部分は完了です。
リクエスト送信時にXSLTスタイルシートを指定
作成したXSLTスタイルシートは「任意の名前」+「.xsl」というファイル名で保存しインターネットからアクセスできる場所に設置しておきます。そしてリクエストを送信する時にXSLTスタイルシートのファイル名を指定することで、リクエストに対する結果をXMLデータではなくXSLTスタイルシートを使って変換されたHTMLデータとして受け取ることができます。
リクエストにXSLTスタイルシートのファイル名を指定するには例えば次のように記述します。
http://ecs.amazonaws.jp/onca/xml?
Service=AWSECommerceService
&AWSAccessKeyId=[AccessKey]
&Version=2009-07-01
&ResponseGroup=Medium
&Operation=ItemSearch
&SearchIndex=Books
&Keywords=Java
&ContentType=text/html
&Style=http://www.example.com/filename.xsl
StyleプロパティにXSLTスタイルシートのURLを指定すると同時に、ContentTypeプロパティに「text/html」を指定して下さい。
なおXSLTスタイルシートを使用する場合はリクエストの送信先が「xml-jp.amznxslt.com」を指定しないとうまく行かない場合があります。その場合は次のようにリクエストを変更して下さい。
http://xml-jp.amznxslt.com/xml?
Service=AWSECommerceService
&AWSAccessKeyId=[AccessKey]
&Version=2009-07-01
&ResponseGroup=Medium
&Operation=ItemSearch
&SearchIndex=Books
&Keywords=Java
&ContentType=text/html
&Style=http://www.example.com/filename.xsl
( Written by Tatsuo Ikura )