# YandexRssFeedFormat.class.php

Go to the documentation of this file.

    00001 <?php
    00002 /***************************************************************************
    00003  *   Copyright (C) 2010 by Alexandr S. Krotov                              *
    00004  *                                                                         *
    00005  *   This program is free software; you can redistribute it and/or modify  *
    00006  *   it under the terms of the GNU Lesser General Public License as        *
    00007  *   published by the Free Software Foundation; either version 3 of the    *
    00008  *   License, or (at your option) any later version.                       *
    00009  *                                                                         *
    00010  ***************************************************************************/
    00011
    00016     final class YandexRssFeedFormat extends FeedFormat
    00017     {
    00018         const  YANDEX_NAMESPACE_URI     = 'http://news.yandex.ru';
    00019         const  YANDEX_NAMESPACE_PREFIX  = 'yandex';
    00020
    00024         public static function me()
    00025         {
    00026             return Singleton::getInstance(__CLASS__);
    00027         }
    00028
    00032         public function getChannelWorker()
    00033         {
    00034             return RssChannelWorker::me();
    00035         }
    00036
    00040         public function getItemWorker()
    00041         {
    00042             return YandexRssItemWorker::me();
    00043         }
    00044
    00045         public function isAcceptable(SimpleXMLElement $xmlFeed)
    00046         {
    00047             return (
    00048                 ($xmlFeed->getName() == 'rss')
    00049                 && (isset($xmlFeed['version']))
    00050                 && ($xmlFeed['version'] == RssFeedFormat::VERSION)
    00051                 && array_key_exists(
    00052                     self::YANDEX_NAMESPACE_PREFIX,
    00053                     $xmlFeed->getDocNamespaces(true)
    00054                 )
    00055             );
    00056         }
    00057     }
    00058 ?>