• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:amazonECS4.0 XMLをHTMLに変換出来ません)

amazonECS4.0でxmlをhtmlに変換できません

himajin100000の回答

  • ベストアンサー
回答No.2

>どこかおかしな点がありますでしょうか? 指摘しようとしたら実はわからなかったので,敢えて検討せずにごまかしてました。ちぇー許してくれないか。 手元での検証の結果とそれを元にした検証でひとつはっきりしました。 ====================== http://developer.mozilla.org/ja/docs/Introduction_to_using_XPath_in_JavaScript >注意すべきなのは、【XPath では接頭辞のない QName は名前空間が null の要素にのみマッチすると定義されている】という点です。XPath にはデフォルト名前空間を取得する手段はありません。名前空間が null ではない要素や属性にマッチさせるには、接頭辞付きの名前テストを使い、その接頭辞を名前空間にマッピングする名前空間リゾルバを作成する必要があります。詳しくは下記のユーザ定義の名前空間リゾルバを作成する方法を参照して下さい。 ================= だそうです 現に手元の別ソースのamazon名前空間接頭辞をデフォルト名前空間にして取り除いたら結果が異なりました(汗 あとはほとんど影響ありません。前回の回答の地点でわかっていた内容ばかりです 「Item要素の直接の子としてTitle要素は存在しないので,<xsl:value-of select="ItemAttributes/Title" />としないとならない点。 それから,xsl:apply-templatesのselectを省略したときは その全ての子要素(【OperationRequest要素を含みます!!】)にテンプレートルールを適用する ビルトインテンプレートのおかげで、xsl:value-of要素のselect属性でテキストノードを指定しなくてもそのテキストが表示されます http://www.asahi-net.or.jp/~PS8A-OKZK/xml/xslt10_1/builtin_template.html http://www.asahi-net.or.jp/~ps8a-okzk/xml/memo/memo_xslt.html 上記で述べたことを考えると,これはRequestId要素のテキストノードやRequestProcessingTime要素のテキストノードにも適用されていますので注意!

関連するQ&A

  • Amazon の WEB サービス(REST)でエラー

    AmazonのWEBサービスで、アクセスキーを取得して、 ブラウザから以下のURLを投げたのですが、エラー がかえってきてしまいます。いろいろ調べたのですが 原因がわかりません。どなたかご教示いただければ 大変助かります。 (Perl関連の本を探そうとしました) http://webservices.amazon.co.jp/onca/xml?Service=AWSECommerceService&AWSAccessKeyId=xxxxxxxxx&Operation=ItemSearch&SearchIndex=Books&Keywords=Perl

    • 締切済み
    • XML
  • amazonAPI XSLによるHTML変換エラー

    どなたかご教授頂けたら幸いです。 ※Styleを指定しない場合はxmlが正常に返ってきます。 ※アクセスキーは正確に入力しています。 【エラー内容】 <?xml version="1.0"?> <ItemSearchErrorResponse xmlns="http://ecs.amazonaws.com/doc/2011-08-01/"><Error><Code>SignatureDoesNotMatch</Code><Message>The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.</Message></Error><RequestId>607e93a3-0c6e-44ce-a354-c4c2e1c555cd</RequestId></ItemSearchErrorResponse> 【リクエスト】 http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService &AWSAccessKeyId=〇〇〇〇〇〇〇〇〇〇〇〇 &AssociateTag=〇〇〇〇〇〇〇 &Version=2011-08-01 &ResponseGroup=Small &Operation=ItemSearch &SearchIndex=Books &Keywords=質問 &ContentType=text/html &Style=http://www.〇〇〇〇〇.com/sample.xsl (←複数のサーバで試行も不可) ↓ここで署名生成されたSigned URLにてリクエスト http://associates-amazon.s3.amazonaws.com/signed-requests/helper/index.html 【xsl】 ================================================================================== <?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/2011-08-01" version="1.0"> <xsl:output method="html" encoding="UTF-8"/> <xsl:template match="/"> <html lang="ja"> <head> <title>テスト</title> </head> <body> <xsl:apply-templates select="aws:ItemSearchResponse/aws:Items/aws:Item"/> </body> </html> </xsl:template> <xsl:template match="aws:ItemSearchResponse/aws:Items/aws:Item"> <p> [タイトル] <xsl:element name="a"> <xsl:attribute name="href"> <xsl:value-of select="aws:DetailPageURL" /> </xsl:attribute> <xsl:value-of select="aws:ItemAttributes/aws:Title" /> </xsl:element> [著者] <xsl:value-of select="aws:ItemAttributes/aws:Author" /> </p> </xsl:template> </xsl:stylesheet> ================================================================================== Styleを指定しない場合はxmlが正常に返ってくるのでxslに問題があるのではと思い、 amazonで色々調べましたが、何も発見できませんでした。 宜しくお願いします。

    • 締切済み
    • XML
  • アマゾンWEBサービスのデータを自分のドメイン中で表示したい

    本日「WEBサイトコンテンツ増強テクニック」という本を買いました それで実際自分のHPにアマゾンの書籍を載せるように 作成してみました aaというボタンを押すと アマゾンの本の詳細に進みますがこのページは 私のドメインではなく http://xml-jp.amznxslt.com/onca/xml?Service=AWSECommerceService&SubscriptionId=1QGE というドメインでの表示となっております アマゾンのデータを取得し、私のドメイン名(私のページ)で 詳細データ(値段、レビューなど)を記載したいのですが どのようにしたら良いでしょうか? 例を挙げると「はてな」があります 以下のページは「はてな」のドメインで アマゾンの本を紹介しています http://b.hatena.ne.jp/asin http://b.hatena.ne.jp/から始まるドメインですが アマゾンの詳細データを取得できており、 http://b.hatena.ne.jp/上にアマゾンの詳細データが記載されています このように http://xml-jp.amznxslt.com/onca/xml?Service=AWSECommerceService&SubscriptionId=1QGE に飛ばさずに自分のドメイン上で 商品の詳細データを記述させるにはどうしたらよいでしょうか? 解説がむずかしかったら 参考ページ、書籍など紹介いただければ 幸いです よろしくお願いします

    • ベストアンサー
    • XML
  • yahoo pipesでamazonから画像を

    yahoo pipesを利用し、amazonから画像をとってこようと考えております。 しかしエラーが出て取得できない状態です。 ※書籍のAmazonIDとpipesのIDを記述すると動きます。 参考書籍はjQueryによるWebサービス活用ワザというものです。 やった事としましては、 ・AmazonのアカウントID取得 ・yahoo pipesの作成 ・htmlファイルの中のphpの部分の書き直し(AmazonIDの部分とpipesのID)です。 エラーが出て、 http://ecs.amazonaws.jp/onca/xml?AWSAccessKeyId=[AmazonAccessID(ここは自分のIDを記述してます)]&Keywords=jQuery&Operation=ItemSearch&ResponseGroup=Medium&SearchIndex=All&Service=AWSECommerceService&Timestamp=&Version=2009- 31&Signature= (400 Bad Request) と書かれています。 作業環境 windows vista homepremium intel core 2duo google chrome4.1 ご教授頂ければ幸いです。宜しくお願い致します。

  • Cache Liteでcasheを作ってくれない

    .htaccessを利用して、awsの商品ページにアクセスして、xmlをキャッシュするようなphpを組んでみました。 たとえば、http://doracken.com/ds/13305831-4.html にアクセスすると、.htaccessでitem.phpにアクセスされ、13305831-4の部分をGETで因数として渡す→ブラウズノードとページを送り、自動的にawsのURLに組み立てるというものです。 --Item.php-- <?php $Browse = $_GET['b'] ; $Bro = $_GET['bro'] ; $pgn = $_GET['Page']; $URL = "http://xml-jp.amznxslt.com/onca/xml?Service=AWSECommerceService&SubscriptionId=1ZVAJQT4R8GWRG0G6502&AssociateTag=auctionzituyo-22&Operation=ItemSearch&SearchIndex=VideoGames&BrowseNode=".$Browse."&ResponseGroup=Offers,ItemAttributes,Similarities,Reviews&ContentType=text/html&Style=http://doracken.com/dsitems.xsl&Version=2006-05-17&ItemPage=".$pgn; require_once 'Cache/Lite.php'; $options = array( 'cacheDir' => './tmp/', "lifeTime" => 3600, ); $Cache_Lite = new Cache_Lite($options); if ($cache = $Cache_Lite->get($URL)) { $content = $cache; }else{ $content = file_get_contents($URL); $Cache_Lite->save($content,$URL); } print $content; ?> しかしなぜか、アクセスしたawsページをキャッシュしてくれないんです。一体どのように書けばいいでしょうか?

    • ベストアンサー
    • PHP
  • PEARのXML/Unserializer.phpが見つからない

    PHP5をインストールしたローカル環境で、落ちていたサンプルコードを改造して使おうとしているのですが、PearのXML/Unserializer.phpが無いと言われます。 PEARのサイトで検索してみても見つかりません。 どこで見つけたらよいのでしょうか? それともPHP5では使えないのでしょうか? ちなみに落ちていたサンプルコードは以下の通りです。 <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>PHPのPEARパッケージであるServices_Amazon</title> <meta name="description" content="Amazonウェブサービスを簡単に扱うことができるPEARのServices_Amazonを使ってみる。" /> </head> <body> <form method="POST" action="<?php $_SERVER['PHP_SELF'] ?>"> 書籍検索: <input type="text" name="keywd" size="30" maxlength="255" value="<?php print($_POST['keywd']); ?>" /> <input type="submit" value="検索" /> </form> <?php // 検索ボックスに入力されたかの判定 if($_POST['keywd'] != '') { $AWSAccessKeyId = "****************"; $Version = "2008-04-07"; $AssociateTag = "working16h-22"; $SearchIndex = "Books"; $ResponseGroup = "Medium"; $Keywords = htmlspecialchars($_POST['keywd']); require_once 'Services/AmazonECS4.php'; $amazon = new Services_AmazonECS4($AWSAccessKeyId,$AssociateTag); $amazon->setLocale('JP'); $option = array( 'Keywords' => $Keywords, 'Sort' => 'salesrank', 'ResponseGroup' => $ResponseGroup, 'Version' => $Version, ); $result = $amazon->ItemSearch($SearchIndex,$option); if(PEAR::isError($result)){ die($result->message); } foreach ($result["Item"] as $key => $value){ $ama1 = $value["DetailPageURL"]; $ama2 = $value["ItemAttributes"]["Title"]; $ama3 = $value["ItemAttributes"]["Author"][0]; print('<p>タイトル:<a href="' . $ama1 . '" target="_blank">' . $ama2 . '</a><br />著者:' . $ama3 . '</p>'); } } ?> </body> </html>

    • ベストアンサー
    • PHP
  • [AWS] 取得したURLにスタイルシートを適用させると、エラーが出る。

    XSLTスタイルシートをstyleを適用させると必ず 終了タグ 'head' が開始タグ 'link' と一致していません。リソース 'http://xml-jp.amznxslt.com/onca/xml?Service=AWSECommerceService&SubscriptionId=0Q... って出てきてしまいます。具体的にXSLTスタイルシートのどこがまずいんでしょうか・・・

    • ベストアンサー
    • XML
  • この表示はどういう意味なのでしょうか?

    おとといまで普通に見れたサイトがこのような表示のまま2日たちました。これはどういう意味なのでしょうか?閉鎖という意味なんでしょうか?ちなみに普通の音楽情報サイトです。 Warning: file_get_contents(http://ecs.amazonaws.jp/onca/xml?Service=AWSECommerceService&AWSAccessKeyId=1VS2CSFJJ1VHW79RB5G2&AssociateTag=x0c-22&Operation=ItemSearch&ResponseGroup=Medium,Offers&SearchIndex=Blended&Keywords=ELLECTGARDEN%25E3%2582%25A2%25E3%2583%25BC%25E3%2583%2586%25E3%2582%25A3%25E3%2582%25B9%3325E3%2583%2588&ItemPage=1): failed to open stream: HTTP request failed! HTTP/1.1 503 Service Temporarily Unavailable in /lvm09/vuser03/3/8/0050683/www.@@@@@@@@.jp/main/pcapi.php on line 136 Fatal error: Call to a member function on a non-object in /lvm09/vuser03/3/8/0050683/www.@@@@@@@@.jp/main/pcapi.php on line 142

  • Amazon API で、Seller ID

    Amazon APIで、 SellerIDを設定して、 商品情報を取得したいのですが、 どのようなURLを 記述すればよろしいでしょうか? 現状のURLは、以下のようになっております。 http://ecs.amazonaws.jp/onca/xml?AWSAccessKeyId=XXXXXXXXXXXXX&AssociateTag=hoge-22&MerchantId=A3HKNDJ5XOPL1Y&Operation=SellerListingSearch&ResponseGroup=Request%2CLarge&Service=AWSECommerceService&Timestamp=2015-04-22T20%3A14%3A59Z&Version=2011-08-02&Signature=A9JbbdIPPj%2FzMK2tNydFcx12vJ3u4HCdDEDoD6pC2CY%3D"

  • Amazon Web Service のBrowseNode

    下記リクエストを送ってもブラウズノード 1065852は、OKですが569196ですと エラーになってしまいます。 何処が悪いのでしょうか? http://webservices.amazon.com/onca/xml?Service=AWSECommerceService &AWSAccessKeyId=[Your Access Key ID Here] &Operation=BrowseNodeLookup &BrowseNodeId=1065852 ■参考:ブラウズノード一覧 http://park8.wakwak.com/~da101/nikky/log/2004/09/18_1643.html

    • ベストアンサー
    • XML