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サンプル集を参考にして下さい。