« これはよい東京湾ですね | Main | 手ぶれ防止とノイズの闘い »

Nov 03, 2007

amazon おまかせリンク貼りの苦労

昨日から blog と本館に、「amazon.co.jp のおまかせリンク」を貼ってみました。以前から延々と放置状態になっていた、アソシエイト・プログラムを復活させてみたというわけです。報酬で大儲けしてウハウハ、なんてことはあまり考えていないのですが (そんなことに使う労力があったら、本業のために使うべきだと思う)、すごく不純な動機がありまして。

つまり、「うちみたいに "特殊" な内容の記事が多いサイトで、記事の内容をベースにする『おまかせリンク』を導入したら、amazon.co.jp はどんな商品をお薦めしてくるか興味があった」というわけです。もうほとんど嫌がらせ (笑)

blog の方は、「マイリスト」を新規にひとつ作成して、amazon.co.jp が生成する HTML タグを貼り付けるだけでできました。ところが問題は本館の方。

御存知の方もいらっしゃるかと思いますが、うちの本館の記事は XML で書いた文章と XSLT のスタイルシートを組み合わせて、自作のスクリプトで HTML を吐かせています。そのため、XSLT スタイルシートにタグをそのまま貼り付けると、コメントになっている設定情報が HTML への変換で消えてしまい、おまかせリンクのスクリプトが動作しないのです。

実は、この問題の解決はそんなに難しくなくて、<xsl:element> タグ、<xsl:attribute> タグ、<xsl:comment> タグを使って、元と同じタグをでっち上げればいいのです。

<xsl:element name="script">
 <xsl:attribute name="type">text/javascript</xsl:attribute>
 <xsl:comment>設定情報がゴニョゴニョ</xsl:comment>
</xsl:element>

ところが、amazon の「おまかせリンク」が使っている <script> タグの中に、テキスト部分がないやつが含まれています。これを素直に <xsl:element> タグで記述すると、出力した HTML では空要素タグ「<script src="" />」になってしまいます。
これをブラウザで表示させてみたら、「おまかせリンク」より後の記事本文を表示しなくなってしまいました。HTML を手作業で修正して「<script>~</script>」の形にすると問題ないので、なんとかして空要素タグの生成を阻止しなければならない、ということになります。

そこで、こうやったらうまく行きました。

<xsl:element name="script">
 <xsl:attribute name="src">http://~</xsl:attribute>
 <![CDATA[ (ダミー) ]]>
</xsl:element>

なんのことはない、ダミーの CDATA セクションをかましたら、XSLT プロセッサが騙されて開始タグと終了タグを作ってくれたというわけです。

ここまでは面倒でしたけれど、いったんタグと配置場所が決まれば、後は全部のコンテンツについて HTML を出力し直して、FTP でアップロードすれば OK。たちどころに、XML ベースで作っているすべての記事に「おまかせリンク」がついてしまいました。めでたしめでたし。

|

« これはよい東京湾ですね | Main | 手ぶれ防止とノイズの闘い »

Comments

Amazonさんのスペースには「もやしもん Vol.1」が表示されているのですが、ここで噴くと見たくない菌が放出されそうなので我慢しますた。で、麹菌の声は聞き覚えのある井上さんの声だと((( ;^^)

ほんかんさんは上に「ユメ-襟を濡らす涙」とKAT-TUN(さすが!イメージなしだ^^;)が出てるんですが、なんだか右に大きなスペースが空いてて、全体が左寄りなんですけど、そういう認識で良いですか?(笑)

Posted by: AL | Nov 03, 2007 at 07:13 PM

>もやしもん
ちょwwwwwwww
amazon 先生は、偵察衛星で私のことを見張っているに違いありませんっ (爆)

>全体が左寄り
右翼思想に染まらないようにバランスをとっているのです。
というのはもちろんウソで、もっと幅が広い選択肢もあったのですが、それだとハミ出してしまうので、抑え気味の幅にしたせいです。ド真ん中に配置する手もあったのですが、おいおい、様子を見ながらデザインを微調整しようかと…

ちなみに、「取材メモ」の「National Cryptologic Museum」だと、私が見たときには「お見事 !」というお薦めでしたよ。
http://www.kojii.net/works/memo01.html

Posted by: 井上 | Nov 03, 2007 at 08:06 PM

今現在、「民主党は、なぜ頼りないのか」が表示されてるのですが。
確認して吹きそうになりました。今現在、党首があんなですし...(^^;

Posted by: tks | Nov 04, 2007 at 11:49 PM

どうして、このエントリの内容で民主党の本をお薦めされてしまうのか、私には皆目、見当がつきません (;´Д`)

Posted by: 井上 | Nov 04, 2007 at 11:54 PM

【ネタ】九条 → 平和 エントリでは分別ペール、つまりゴミ箱でした。
それはゴミ箱のメーカーが「平和」だからであって、けっして他意はないはずなのですきっと。

Posted by: とてもROMの人 | Nov 05, 2007 at 01:24 AM

つまりこのことから、ゴミ箱を作って amazon で売っている会社として「平和」はあるけれども、「九条」はない、という結論が演繹されるのですね !

# なにが "演繹" だよっ

それよりもなによりも、トップで出てくるのが「日本の唱歌 上 明治篇」というのが謎です。

Posted by: 井上 | Nov 05, 2007 at 09:35 AM

Post a comment



(Not displayed with comment.)




« これはよい東京湾ですね | Main | 手ぶれ防止とノイズの闘い »