<?xml version="1.0" encoding="UTF-8" ?>
<entry
	xmlns="http://www.w3.org/2005/Atom"
	xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"
	xml:lang="ja-JP"
>
	<title>ジャンル一覧にはてブから取ってきたニュースを並べようとして</title>
	<id>tag:txqz.net,2007-04-16:blog/2007/04/16/0019</id>
	<link rel="self" href="http://txqz.net/blog/2007/04/16/0019.atom"/>
	<link rel="alternate" type="application/rss+xml" href="http://txqz.net/blog/2007/04/16/0019.rdf"/>
	<link rel="alternate" type="application/xhtml+xml" href="http://txqz.net/blog/2007/04/16/0019.xhtml"/>
	<link rel="alternate" type="text/html" href="http://txqz.net/blog/2007/04/16/0019.html"/>
	<link rel="contents" href="http://txqz.net/blog/2007/04/16/.atom" title="2007年4月16日"/>
	<link rel="first" href="http://txqz.net/blog/2001/08/04/0001.atom" title="地球空冷化"/>
	<link rel="prev" href="http://txqz.net/blog/2007/04/14/2124.atom" title="結局再インストール"/>
	<link rel="next" href="http://txqz.net/blog/2007/04/17/2117.atom" title="正しくHTMLを書こうと心がけている人に5の質問を"/>
	<link rel="last" href="http://txqz.net/blog/2010/02/14/1221.atom" title="VIASO/K-power追悼"/>
	<author>
		<name>陽坂智佐</name>
		<email>spambasket@txqz.net</email>
	</author>
	<content type="xhtml">
		<div xmlns="http://www.w3.org/1999/xhtml">
<p>なんかジャンル別一覧の右カラムに、そのジャンルと同じタグをつけた私のはてブとかを載せようと思って、はてブが出してるAtomファイルを眺めてみた。</p>
<pre><code class="xml">  &lt;entry&gt;
    &lt;title&gt;こめびつの中身　-　そろそろ書店ＰＯＰも痛烈に web2.0 化しておくべきだ。&lt;/title&gt;
    &lt;link rel="related" type="text/html" href="http://d.hatena.ne.jp/hachi_gzk/20070320#1174343460" /&gt;
    &lt;link rel="alternate" type="text/html" href="http://b.hatena.ne.jp/denken/#bookmark-4259458" /&gt;
    &lt;link rel="service.edit" type="application/x.atom+xml" href="http://b.hatena.ne.jp/atom/edit/4259458" title="こめびつの中身　-　そろそろ書店ＰＯＰも痛烈に web2.0 化しておくべきだ。" /&gt;
    &lt;issued&gt;2007-03-21T14:13:36+09:00&lt;/issued&gt;
    &lt;author&gt;
      &lt;name&gt;denken&lt;/name&gt;

    &lt;/author&gt;
    &lt;id&gt;tag:hatena.ne.jp,2005:bookmark-denken-4259458&lt;/id&gt;
    &lt;summary type="text/plain"&gt;なる&lt;/summary&gt;
    
    &lt;dc:subject&gt;Web2.0&lt;/dc:subject&gt;
    
    &lt;dc:subject&gt;ポップ&lt;/dc:subject&gt;
    
    &lt;dc:subject&gt;アイデア&lt;/dc:subject&gt;

    
  &lt;/entry&gt;</code></pre>
<p>最初はDOMでやろうと思ったのだけれども、「rel属性の値が"related"であるlink要素のhref属性の値」ってDOMで簡単に書けるのか? と考えあぐねた結果、やっぱ面倒そうなのでXSLTを使った。ていうかXSLTなんてまだこの日記をXMLで書いていたころ(2003年から2004年)以来なので結構さっぱり忘れていた。件の処理はXSLTなら<code class="xml">&lt;xsl:value-of select="atom:link[@rel='related']/@href" /&gt;</code>でOKなので、そんな感じでスラスラと書いていったのだが、「ポップ」とか「アイデア」とかにリンクを張ろうとしてまた詰まった。XSLTにはURLに使えない文字についてパーセントエンコードするような関数がない。DOMを使っていれば、処理中にどこかでrawurlencode()とかかければ済むのに。どうしよう。</p>
<p>ていうかAtomじゃなくてRSSを使えばよかった。</p>
<pre><code class="xml">&lt;item rdf:about="http://d.hatena.ne.jp/gray_feny/20060916/1158376462"&gt;
    &lt;title&gt;バイク乗り野郎の独り言α+ - iPodで聴いた曲をLast.fmに送信することが出来るプラグイン&lt;/title&gt;
    &lt;link&gt;http://d.hatena.ne.jp/gray_feny/20060916/1158376462&lt;/link&gt;
    &lt;description&gt;&lt;/description&gt;
    &lt;content:encoded&gt;
      &lt;blockquote cite="http://d.hatena.ne.jp/gray_feny/20060916/1158376462" title="バイク乗り野郎の独り言α+ - iPodで聴いた曲をLast.fmに送信することが出来るプラグイン"&gt;
        
        &lt;cite&gt;&lt;a href="http://d.hatena.ne.jp/gray_feny/20060916/1158376462"&gt;バイク乗り野郎の独り言α+ - iPodで聴いた曲をLast.fmに送信することが出来るプラグイン&lt;/a&gt; &lt;a href="http://b.hatena.ne.jp/entry/http://d.hatena.ne.jp/gray_feny/20060916/1158376462"&gt;&lt;img src="http://b.hatena.ne.jp/images/entry.gif" title="このエントリーを含むブックマーク" alt="このエントリーを含むブックマーク" border="0"&gt;&lt;/a&gt;&lt;/cite&gt;

      &lt;/blockquote&gt;
      
    &lt;/content:encoded&gt;
    &lt;dc:date&gt;2007-04-15T23:14:29+09:00&lt;/dc:date&gt;
    &lt;dc:creator&gt;denken&lt;/dc:creator&gt;
    
    &lt;dc:subject&gt;last.fm&lt;/dc:subject&gt;
    
    &lt;dc:subject&gt;iPOD&lt;/dc:subject&gt;

    
    &lt;dc:subject&gt;音楽&lt;/dc:subject&gt;
    
    &lt;dc:subject&gt;ソフト&lt;/dc:subject&gt;
    
    
    &lt;taxo:topics&gt;
      &lt;rdf:Bag&gt;
      
      &lt;rdf:li resource="http://b.hatena.ne.jp/t/last%2efm" /&gt;
      
      &lt;rdf:li resource="http://b.hatena.ne.jp/t/iPOD" /&gt;
      
      &lt;rdf:li resource="http://b.hatena.ne.jp/t/%e9%9f%b3%e6%a5%bd" /&gt;
      
      &lt;rdf:li resource="http://b.hatena.ne.jp/t/%e3%82%bd%e3%83%95%e3%83%88" /&gt;

      
      &lt;/rdf:Bag&gt;
    &lt;/taxo:topics&gt;
    
&lt;/item&gt;</code></pre>
<p>なんとご丁寧にエンコード済みのURL情報まであるぞ。じゃあそういうことで。</p>
		</div>
	</content>
	<category term="Atom"/>
	<category term="DOM"/>
	<category term="RSS"/>
	<category term="XML"/>
	<category term="XSLT"/>
	<category term="はてなブックマーク"/>
	<trackback:ping>http://txqz.net/blog/2007/04/16/0019/tb</trackback:ping>
	<published>2007-04-16T00:19:11+09:00</published>
	<updated>2007-04-16T00:31:02+09:00</updated>
	<rights>Attribution-Noncommercial-Share Alike 3.0 Unported</rights>
</entry>