[GENERIC] Zend_Translate:
[zend.git] / documentation / manual / ja / module_specs / Zend_Feed-ConsumingRss.xml
blobbf82d9e568803ba025fb9e21fa7ea8e678cdb87c
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Reviewed: no -->
3 <!-- EN-Revision: 20774 -->
4 <sect1 id="zend.feed.consuming-rss">
5     <title>RSS フィードの使用</title>
6     <para>
7         <acronym>RSS</acronym> フィードの読み込みは、フィードの <acronym>URL</acronym> を指定して
8         <classname>Zend_Feed_Rss</classname> のインスタンスを作成するのと同じくらい簡単です。
9     </para>
10     <programlisting language="php"><![CDATA[
11 $channel = new Zend_Feed_Rss('http://rss.example.com/channelName');
12 ]]></programlisting>
13     <para>
14         フィードの取得時にエラーが発生した場合は
15         <classname>Zend_Feed_Exception</classname> がスローされます。
16     </para>
18     <para>
19         フィードオブジェクトを取得すると、標準的な <acronym>RSS</acronym> の "channel"
20         プロパティに対して直接アクセスできるようになります。
21     </para>
22     <programlisting language="php"><![CDATA[
23 echo $channel->title();
24 ]]></programlisting>
25     <para>
26         関数の構文に注意しましょう。"getter" 方式の構文 (<code>$obj->property</code>)
27         をした場合は、<classname>Zend_Feed</classname> はプロパティを <acronym>XML</acronym> オブジェクトとして扱います。
28         一方、メソッドの構文 (<code>$obj->property()</code>)
29         を使用した場合は文字列として扱います。
30         これにより、特定のノードを取得したあとで、さらにその子要素にもアクセスできるようになります。
31     </para>
33     <para>
34         チャネルのプロパティが属性を保持している場合、<acronym>PHP</acronym>
35         の配列構文を使用してそれらにアクセスできます。
36     </para>
37     <programlisting language="php"><![CDATA[
38 echo $channel->category['domain'];
39 ]]></programlisting>
40     <para>
41         <acronym>XML</acronym> の属性は子を持つことができないので、
42         属性値へアクセスする際にメソッド構文を使用する必要はありません。
43     </para>
45     <para>
46         たいていの場合は、フィードをループさせたうえで、
47         個々のエントリに対して何かをすることになるでしょう。
48         <classname>Zend_Feed_Abstract</classname> は <acronym>PHP</acronym> の <code>Iterator</code>
49         インターフェイスを実装しているので、
50         例えばチャネル内の全記事のタイトルを表示するには単にこのようにするだけです。
51     </para>
52     <programlisting language="php"><![CDATA[<?php
53 foreach ($channel as $item) {
54     echo $item->title() . "\n";
56 ]]></programlisting>
57     <para>
58         <acronym>RSS</acronym> にあまり詳しくない方のために、<acronym>RSS</acronym> チャネルおよび個々の <acronym>RSS</acronym>
59         アイテム (エントリ) で利用できる標準的な要素をまとめます。
60     </para>
62     <para>
63         必須のチャネル要素
64     </para>
66     <para>
67         <itemizedlist>
68             <listitem>
69                 <para><code>title</code> - チャネルの名前</para>
70             </listitem>
71             <listitem>
72                 <para><code>link</code> - チャネルに対応するウェブサイトの <acronym>URL</acronym></para>
73             </listitem>
74             <listitem>
75                 <para><code>description</code> - チャネルについての説明</para>
76             </listitem>
77         </itemizedlist>
78     </para>
80     <para>
81         よく使用されるオプションのチャネル要素
82     </para>
84     <para>
85         <itemizedlist>
86             <listitem>
87                 <para><code>pubDate</code> -
88                 コンテンツの発行日を <acronym>RFC</acronym> 822 の日付書式で表したもの</para>
89             </listitem>
90             <listitem>
91                 <para><code>language</code> - チャネルで使用している言語</para>
92             </listitem>
93             <listitem>
94                 <para><code>category</code> -
95                 チャネルの所属するカテゴリ (複数の場合は複数のタグで指定)</para>
96             </listitem>
97         </itemizedlist>
98     </para>
100     <para>
101         <acronym>RSS</acronym> の <code>&lt;item&gt;</code> 要素には必須要素はありません。
102         しかし <code>title</code> あるいは <code>description</code>
103         が存在しなければなりません。
104     </para>
106     <para>
107         よく使用されるアイテム要素
108     </para>
110     <para>
111         <itemizedlist>
112             <listitem>
113                 <para><code>title</code> - アイテムのタイトル</para>
114             </listitem>
115             <listitem>
116                 <para><code>link</code> - アイテムの <acronym>URL</acronym></para>
117             </listitem>
118             <listitem>
119                 <para><code>description</code> - アイテムの概要</para>
120             </listitem>
121             <listitem>
122                 <para><code>author</code> - 著者のメールアドレス</para>
123             </listitem>
124             <listitem>
125                 <para><code>category</code> - アイテムが所属するカテゴリ</para>
126             </listitem>
127             <listitem>
128                 <para><code>comments</code> - このアイテムに関連するコメントの <acronym>URL</acronym></para>
129             </listitem>
130             <listitem>
131                 <para><code>pubDate</code> - アイテムの発行日を <acronym>RFC</acronym> 822 の日付書式で表したもの</para>
132             </listitem>
133         </itemizedlist>
134     </para>
136     <para>
137         要素が空要素であるかどうかは、以下のようにして調べられます。
138     </para>
139     <programlisting language="php"><![CDATA[
140 if ($item->propname()) {
141     // ... 続行できます
143 ]]></programlisting>
145     <para>
146         <code>$item->propname</code> 形式を使用した場合は、
147         空のオブジェクトについても <constant>TRUE</constant> と評価されてしまうので、
148         このように調べることはできません。
149     </para>
151     <para>
152         詳細な情報は、
153         <ulink url="http://blogs.law.harvard.edu/tech/rss">http://blogs.law.harvard.edu/tech/rss</ulink>
154         にある <acronym>RSS</acronym> 2.0 の公式仕様を参照ください。
155     </para>
156 </sect1>
157 <!--
158 vim:se ts=4 sw=4 et: