XML_Serializer -Create a RSS1.0 feed

From: Date: Mon, 06 Dec 2004 09:13:56 +0000
Subject: XML_Serializer -Create a RSS1.0 feed
Groups: php.pear.general 
Request: Send a blank email to pear-general+get-16046@lists.php.net to get a copy of this message
Hi, I try to create a RSS1.0 feed by use of Pear::XML_Serializer, but I can't create a correct RSS1.0 syntax. I want to create RSS1.0 syntax as hereinafter defined. ************************************************************************************************** <?xml version="1.0" encoding="utf-8" ?> <rdf:RDF xmlns="http://purl.org/rss/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="ja"> <channel rdf:about="http://members.at.infoseek.co.jp/XXXX.rdf"> <title>*** TITLE ***</title> <link>http://members.at.infoseek.co.jp/XXXX.html</link> <description>abcdefghijklmn...</description> <items> <rdf:Seq> <rdf:li rdf:resource="http://members.at.infoseek.co.jp/XXXX.html#jump1"/> <rdf:li rdf:resource="http://members.at.infoseek.co.jp/XXXX.html#jump2"/> </rdf:Seq> </items> </channel> <item rdf:about="http://members.at.infoseek.co.jp/XXXX.html#jump1"> <title>Item Title1</title> <link>http://members.at.infoseek.co.jp/XXXX.html#jump1</link> <description>item1 description...</description> <dc:creator>Chiemi Akasaka</dc:creator> <dc:date>2004-09-28</dc:date> <dc:subject>abc</dc:subject> </item> <item rdf:about="http://members.at.infoseek.co.jp/XXXX.html#jump2"> <title>Item Title2</title> <link>http://members.at.infoseek.co.jp/XXXX.html#jump2</link> <description>item2 description...</description> <dc:creator>Chiemi Akasaka</dc:creator> <dc:date>2004-09-25</dc:date> <dc:subject>abc</dc:subject> </item> </rdf:RDF> ************************************************************************************************ I described following a PHP code to meet the above syntax. ************************************************************************************************ <?php error_reporting(E_ALL ^ E_NOTICE); require_once 'XML/Serializer.php'; $options = array(
	"indent"    => "    ",
"linebreak" => "\n", "typeHints" => false, "addDecl" => true, "encoding" => "UTF-8", "rootName" => "rdf:RDF", "rootAttributes" => array("xmlns" => "http://purl.org/rss/1.0/",
	                                        "xmlns:rdf"
                                           => "http://www.e3.org/1999/02/22-rdf-syntax-ns#",
                                                            "xmlns:dc"
                                           => "http://purl.org/dc/elements/1.1/",				                  "xml:lang" => "ja"),
"defaultTagName" => "item", "attributesArray" => "_attributes" ); $item1 = array( "titile" => "Item Title1",
	    "link"   => "http://members.at.infoseek.co.jp/XXXX.html#jump1",
	    "description" => "item1 description...",
	    "dc:creator"  => "Chiemi Akasaka",
	    "dc:date"     => "2004-09-28",
	    "dc:subject"  => "abc",
	    "_attributes" => array("rdf:about"
                                   => "http://members.at.infoseek.co.jp/XXXX.html#jump1")
); $item2 = array( "titile" => "Item Title2",
	    "link"   => "http://members.at.infoseek.co.jp/XXXX.html#jump2",
	    "description" => "item2 description...",
	    "dc:creator"  => "Chiemi Akasaka",
	    "dc:date"     => "2004-09-25",
	    "dc:subject"  => "abc",
	    "_attributes" => array( "rdf:about"
                                    => "http://members.at.infoseek.co.jp/XXXX.html#jump2")
);
    		 	 $resource[] = array( "rdf:li" =>                                        array( "_attributes" => 	                                     array( "rdf:resource"
                                    => "http://members.at.infoseek.co.jp/XXXX.html#jump1")
                                                ) 	            );  
$resource[] = array( "rdf:li" =>
	                    array( "_attributes" =>
	                                      array( "rdf:resource"
                                      => "http://members.at.infoseek.co.jp/XXXX.html#jump2")
	                             )
                                );
$data["channel"] = array( "title" => "*** TITLE ***",
	                    "link"  => "http://members.at.infoseek.co.jp/XXXX.html",
	                    "description" => "abcdefghijklmn..."
	                    "_attributes" => array("rdf:about"
                                                   => "http://members.at.infoseek.co.jp/XXXX.rdf"),
	                    "items"  => array( "rdf:Seq" => $resource )
	                     );
						  $data[] = $item1;
$data[] = $item2; $Serializer = &new XML_Serializer($options); $status = $Serializer->serialize($data); if (PEAR::isError($status)){ die($status->getMessage()); } header('Content-type: text/xml'); echo $Serializer->getSerializedData(); ?> ************************************************************************************************ But, this code generate incorrect RSS feed. ************************************************************************************************ <?xml version="1.0" encoding="UTF-8" ?> <rdf:RDF xml:lang="ja" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.e3.org/1999/02/22-rdf-syntax-ns#"> <channel rdf:about="http://members.at.infoseek.co.jp/XXXX.rdf"> <title>*** TITLE ***</title> <link>http://members.at.infoseek.co.jp/XXXX.html</link> <description>abcdefghijklmn...</description> <items> <rdf:Seq> <item> <rdf:li rdf:resource="http://members.at.infoseek.co.jp/XXXX.html#jump1" /> </item> <item> <rdf:li rdf:resource="http://members.at.infoseek.co.jp/XXXX.html#jump2" /> </item> </rdf:Seq> </items> </channel> <item rdf:about="http://members.at.infoseek.co.jp/XXXX.html#jump1"> <titile>Item Title1</titile> <link>http://members.at.infoseek.co.jp/XXXXX.html#jump1</link> <description>item1 description...</description> <dc:creator>Chiemi Akasaka</dc:creator> <dc:date>2004-09-28</dc:date> <dc:subject>abc</dc:subject> </item> <item rdf:about="http://members.at.infoseek.co.jp/XXXX.html#jump2"> <titile>Item Title2</titile> <link>http://members.at.infoseek.co.jp/XXXX.html#jump2</link> <description>item2 description...</description> <dc:creator>Chiemi Akasaka</dc:creator> <dc:date>2004-09-25</dc:date> <dc:subject>abc</dc:subject> </item> </rdf:RDF> **************************************************************************************************************

« previous php.pear.general (#16046) next »