• ベストアンサー

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

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

質問者が選んだベストアンサー

  • ベストアンサー
noname#20377
noname#20377
回答No.3

ところで。 僕が#2で遭遇したエラーは質問文と何ら関係のないものでしたが、 xsl:output要素の(名前空間の話は省略)method属性の値が htmlの場合、htmlとして出力するので当然出力結果のlink要素は閉じられません。このときHTTPサーバがHTTPヘッダの中で Content-type:text/xml;charset=UTF-8 とか返している場合Firefox等でXMLと判断されて質問文のエラーが出ることがあります META要素が大文字なのは・・・どこなのか詳しくは調べてないです

その他の回答 (2)

noname#20377
noname#20377
回答No.2

どうやらURLの書き方に問題がありそうな気がします &で区切るとこうなるわけですけど・・・ http://xml-jp.amznxslt.com/onca/xml Service=AWSECommerceService SubscriptionId=0AGFR9Z0BHQR7N3RGJR2 AssociateTag=wbooker-1-22 Operation=ItemSearch Version=2004-10-04 ResponseGroup=Small%2CItemAttributes%2COfferFull%2CImages%2CReviews%2CSimilarities Keywords=hacks SearchIndex=Books ItemPage=1 ContentType=text%2Fhtml Style=http://webservices.amazon.co.jp/onca/xml Service=AWSECommerceService SubscriptionId=0QRPDEYA3S34NHGWRRG2 AssociateTag=auctionzituyo-22 Operation=ItemSearch SearchIndex=Electronics Keywords=%E3%82%A4%E3%83%B3%E3%83%8A%E3%83%BC%E3%82%A4%E3%83%A4%E3%83%BC Sort=salesrank ResponseGroup=Request,ItemIds,OfferFull,VariationSummary,ItemAttributes,EditorialReview,Images,Reviews,VariationMinimum ItemPage=1 Style=http://doracken.com/wikiplus/amazon.xsl これはどう読むのでしょう? http://xml-jp.amznxslt.com/onca/xml? {Style=(http://webservices.amazon.co.jp/onca/xml?Service=hoge &Sytle=http://doracken.com/wikiplus/amazon.xsl)} なのか http://xml-jp.amznxslt.com/onca/xml? {Style=(http://webservices.amazon.co.jp/onca/xml?Service=hoge)} & {Sytle=(http://doracken.com/wikiplus/amazon.xsl)} なのか。 多分システムは下側で判断しているのではないでしょうか?(Style値が二つある??)

noname#20377
noname#20377
回答No.1

僕はAWSの使用経験はないし、質問文のリンクのURLが何故か途中で途切れているため、検証できませんが勘として。 ==== HTML 4.01では http://msugai.fc2web.com/web/tips/link.html (メールアドレス文字化けしているけど) 【DTDで内容モデルがEMTPYである要素は開始タグしか存在せず、終了タグを書いてはいけません】から <link rel="stylesheet" href="atomic.css" type="text/css"> となりますがXHTMLでは 【全ての要素には開始タグと終了タグ両方が存在し、 空要素の場合は<要素名 属性="属性値" />等として省略できる】ので <link rel="stylesheet" href="atomic.css" type="text/css" /> とならなければなりません。XHTMLの場合、HTML4.01同様に(名前空間とhtml要素,body要素については面倒なので省略) <head> <link rel="stylesheet" href="atomic.css" type="text/css"> </head> と書いてしまうと終了タグがないために閉じてないと見なされてしまい、「整形式でない」というエラーが出ます。(link要素が閉じる前にhead要素終了タグが来ている) ==== 以上を参考にソースを見直してみてください

doracken
質問者

補足

XSLTははじめたばかりなので、本当に勉強になりました。しかし今確認しなおしたところ、なぜかちゃんとタグは閉じられていました。 僕の投稿があまりにも説明不足だったので、質問内容を補足したいと思います。gooでUrlが使えるようになったのも今日気づきましたし。 http://webservices.amazon.co.jp/onca/xml?Service=AWSECommerceService&SubscriptionId=0QRPDEYA3S34NHGWRRG2&AssociateTag=auctionzituyo-22&Operation=ItemSearch&SearchIndex=Electronics&Keywords=%E3%82%A4%E3%83%B3%E3%83%8A%E3%83%BC%E3%82%A4%E3%83%A4%E3%83%BC&Sort=salesrank&ResponseGroup=Request,ItemIds,OfferFull,VariationSummary,ItemAttributes,EditorialReview,Images,Reviews,VariationMinimum&ItemPage=1 http://doracken.com/wikiplus/amazon.xsl コレがxmlとxsltファイルです。ローカルに保存してスタイルシートを適用させたときはうまく言ったんですが、 http://xml-jp.amznxslt.com/onca/xml?Service=AWSECommerceService&SubscriptionId=0AGFR9Z0BHQR7N3RGJR2&AssociateTag=wbooker-1-22&Operation=ItemSearch&Version=2004-10-04&ResponseGroup=Small%2CItemAttributes%2COfferFull%2CImages%2CReviews%2CSimilarities&Keywords=hacks&SearchIndex=Books&ItemPage=1&ContentType=text%2Fhtml&Style=http://webservices.amazon.co.jp/onca/xml?Service=AWSECommerceService&SubscriptionId=0QRPDEYA3S34NHGWRRG2&AssociateTag=auctionzituyo-22&Operation=ItemSearch&SearchIndex=Electronics&Keywords=%E3%82%A4%E3%83%B3%E3%83%8A%E3%83%BC%E3%82%A4%E3%83%A4%E3%83%BC&Sort=salesrank&ResponseGroup=Request,ItemIds,OfferFull,VariationSummary,ItemAttributes,EditorialReview,Images,Reviews,VariationMinimum&ItemPage=1&Style=http://doracken.com/wikiplus/amazon.xsl とweb上で適用させるとうまくいかないんです。

関連するQ&A