<sect1 id="zend.feed.introduction">
    <title>Wprowadzenie</title>
    <para>
        <code>Zend_Feed</code> zapewnia funkcjonalność umożliwiającą przetwarzanie
        kanałów informacyjnych RSS oraz Atom. Zapewnia ona naturalną składnię umożliwiającą
        dostęp do elementów kanałów informacyjnych, ich atrybutów oraz atrybutów samych wpisów.
        <code>Zend_Feed</code> daje także obszerne wsparcie w modyfikowaniu kanałów
        i struktury wpisów w ten sam naturalny sposób i umożliwia zapisanie rezultatów
        jako XML. W przyszłości klasa ma zapewnić obsługę protokołu publikowania Atom
        (Atom Publishing Protocol).
    </para>

    <para>
        Programowo <code>Zend_Feed</code> składa się z bazowej klasy <code>Zend_Feed</code>,
        abstrakcyjnych klas <code>Zend_Feed_Abstract</code> oraz <code>Zend_Feed_Entry_Abstract</code>
        reprezentujących kanały informacyjne i ich wpisy, specyficznych implementacji
        kanałów i wpisów dla RSS i Atom, oraz z pomocników odpowiedzialnych za
        naturalną składnię.
    </para>

    <para>
        W przykładzie poniżej pokazujemy prosty przykład odbierania danych RSS
        i zapisywania potrzebnych części danych kanału do prostej tablicy PHP,
        która może być potem użyta do wyświetlenia danych, zapisania ich do bazy
        danych itp.
    </para>

    <note>
        <title>Bądż ostrożny</title>
        <para>
            Wiele kanałów RSS ma dostępne różne właściwości samego kanału i jego elementów.
            Specyfikacja RSS umożliwia użycie wielu opcjonalnych parametrów, więc
            bądź ostrożny gdy będziesz pisał kod pracujący z RSS.
        </para>
    </note>

    <example id="zend.feed.introduction.example.rss">
        <title>Użycie Zend_Feed do pobierania danych RSS</title>
        <programlisting role="php"><![CDATA[
// Ściągamy najnowsze nagłówki ze Slashdot
try {
    $slashdotRss =
        Zend_Feed::import('http://rss.slashdot.org/Slashdot/slashdot');
} catch (Zend_Feed_Exception $e) {
    // importowanie danych nie udało się
    echo "Exception caught importing feed: {$e->getMessage()}\n";
    exit;
}

// inicjalizacja tablicy z danymi kanału
$channel = array(
    'title'       => $slashdotRss->title(),
    'link'        => $slashdotRss->link(),
    'description' => $slashdotRss->description(),
    'items'       => array()
    );

// Pętla po każdym elemencie kanału i zapisanie potrzebnych danych
foreach ($slashdotRss as $item) {
    $channel['items'][] = array(
        'title'       => $item->title(),
        'link'        => $item->link(),
        'description' => $item->description()
        );
}
]]>
        </programlisting>
    </example>
</sect1>