XML_Serializer -Create a RSS1.0 feed
| From: | (Chiemi Akasaka) | 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> **************************************************************************************************************