XML_Serializer -Create a RSS1.0 feed

From: Date: Mon, 06 Dec 2004 09:48:57 +0000
Subject: XML_Serializer -Create a RSS1.0 feed
Groups: php.pear.general 
Request: Send a blank email to pear-general+get-16044@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> ************************************************************************************************************** This RSS1.0 syntax have a problem. ************************************************************************
*       <Items>                                                                   @@ * *             <rdf:Seq>                                                          @   *
*           Ë@<item>                                                                 *
*         	 <rdf:li rdf:resource="http://abcd/xxx.html"/>    *
*           Ë  </item>                                                                 *
*             </rdf:Seq>                                                               *
*       </Items>                                                                         *
************************************************************************ Is the "defaultTagName" => "item" not good? I tried to create otherwise, but go wrong. Please teach me your advice about this problem! --Chiemi Akasaka

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