<?xml version="1.0" encoding="UTF-8"?>
<!-- Reviewed: no -->
<!-- EN-Revision: 24249 -->
<sect1 id="zend.feed.introduction">
    <title>導入</title>

    <para>
        <classname>Zend_Feed</classname> は、<acronym>RSS</acronym> や Atom のフィードを扱う機能を提供します。
        フィードの要素や属性、そしてエントリの属性に、自然な方法でアクセスできるようになります。
        また、<classname>Zend_Feed</classname> でフィードやエントリの構造を変更し、
        その結果を <acronym>XML</acronym> に書き戻すという拡張機能もあります。将来的には Atom Publishig Protocol
        (AtomPP) にも対応させる予定です。
    </para>

    <para>
        <classname>Zend_Feed</classname> の構成は、基底クラス <classname>Zend_Feed</classname>、
        フィードやエントリを扱うための基底抽象クラス <classname>Zend_Feed_Abstract</classname>
        および <classname>Zend_Feed_Entry_Abstract</classname>、<acronym>RSS</acronym> や Atom
        用のフィードクラスとエントリクラスの実装、
        そして自然な方法でそれらを操作するためのヘルパーから成り立っています。
    </para>

    <para>
        以下では、<acronym>RSS</acronym> フィードの取得、
        フィードデータの <acronym>PHP</acronym> 配列への変換、データの表示、
        データベースへの保存などの簡単な使用例を示します。
    </para>

    <note>
        <title>注意</title>

        <para>
            <acronym>RSS</acronym> フィードによって、使用できるチャネルやアイテムのプロパティが違います。
            <acronym>RSS</acronym> の仕様ではオプションのプロパティが多く定義されているので、
            <acronym>RSS</acronym> データを扱うコードを書く際にはこのことに注意しましょう。
        </para>
    </note>

    <example id="zend.feed.introduction.example.rss">
        <title>Zend_Feed による RSS フィードデータの使用</title>

        <programlisting language="php"><![CDATA[
// 最新の Slashdot ヘッドラインを取得します
try {
    $slashdotRss =
        Zend_Feed::import('http://rss.slashdot.org/Slashdot/slashdot');
} catch (Zend_Feed_Exception $e) {
    // フィードの読み込みに失敗しました
    echo "フィードの読み込み中に例外が発生: {$e->getMessage()}\n";
    exit;
}

// チャネルデータの配列を初期化します
$channel = array(
    'title'       => $slashdotRss->title(),
    'link'        => $slashdotRss->link(),
    'description' => $slashdotRss->description(),
    'items'       => array()
    );

// チャネルの各項目をループし、関連するデータを保存します
foreach ($slashdotRss as $item) {
    $channel['items'][] = array(
        'title'       => $item->title(),
        'link'        => $item->link(),
        'description' => $item->description()
        );
}
]]></programlisting>
    </example>
</sect1>
<!--
vim:se ts=4 sw=4 et:
-->
