* * Description: * RSS2 driver */ class XML_Driver_Rss2 extends XML { public $root_node = 'rss'; protected static function initialize(XML_Meta $meta) { $meta ->content_type("application/rss+xml") ->nodes ( array( "rss" => array("attributes" => array("version" => "2.0")), "title" => array("filter" => "normalize_text"), "description" => array("filter" => "normalize_text"), "link" => array("filter" => "normalize_uri"), "atom:link" => array("attributes" => array( "rel" => "self", "type" => "application/rss+xml", // "href" => URL::site(Request::initial()->uri(), TRUE) ), "namespace" => "http://www.w3.org/2005/Atom"), "href" => array("filter" => "normalize_uri"), "docs" => array("filter" => "normalize_uri"), "guid" => array("filter" => "normalize_uri"), "pubDate" => array("filter" => "normalize_date"), "lastBuildDate" => array("filter" => "normalize_date") ) ); } public function normalize_date($value) { if ( ! is_numeric($value)) { $value = strtotime($value); } // Convert timestamps to RFC 822 formatted dates, with 4 digits year return date(DATE_RSS, $value); } public function normalize_text($value) { // Strip HTML tags return strip_tags($value); } }