« RESTによるAmazon ECS4の呼出し | メイン | サイトURLとサイトパスの変更 »

ECS XSLTサービスによるHTML変換

XSLT(XSL Transformations)は任意のXML文書をHTMLなどに変換するための言語です。Amazon ECSのXSLTサービスを利用して、REST要求の結果をXMLでなくHTMLで表示させることもできます。

リクエストURLは以下のようになります。改行していますが、一行です。

http://webservices.amazon.co.jp/onca/xml?Service=AWSECommerceService
&SubscriptionId=XXXXXXXXXX&AssociateTag=YYYYYYYYY
&Operation=ItemSearch&Version=2005-10-05
&ResponseGroup=Small,ItemAttributes,OfferFull,Images
&Keywords=JavaScript&SearchIndex=Books&ItemPage=1
&ContentType=text/html&Style=http://www.yumemaro.com/style/itemall.xsl

Styleパラメータで変換用のXSLファイルを指定しています。このファイルはアクセス可能なWebディレクトリになければなりません。XSLT用の.xslファイルは以下のようになっています。

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:aws="http://webservices.amazon.com/AWSECommerceService/2005-10-05" 
  exclude-result-prefixes="aws">
	<xsl:output method="html" standalone="yes" media-type="text/html" 
         doctype-system="http://www.w3.org/TR/html4/strict.dtd "/>
	<xsl:template match="/">
		<xsl:apply-templates/>
	</xsl:template>
   ・・・ 略
</xsl:stylesheet>

重要なのは、リクエストにあるVersionパラメータとXSLTの名前空間(xmlns:awsの部分)が一致する(この例では2005-10-05)必要があることです。一致していないと全くXSLTが動作しません。

具体的なXSLTの内容についてはAmazonのXSLTサンプル集を参考にして下さい。

トラックバック

このエントリーのトラックバックURL:
http://www.yumemaro.com/apps/mt-tb.cgi/34

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)