<?xml version="1.0" encoding="iso-8859-1"?>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns="http://purl.org/rss/1.0/"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
>
    <channel rdf:about="http://pear.php.net/">
    <link>http://pear.php.net/</link>
    <dc:creator>pear-webmaster@lists.php.net</dc:creator>
    <dc:publisher>pear-webmaster@lists.php.net</dc:publisher>
    <dc:language>en-us</dc:language><items>
<rdf:Seq><rdf:li rdf:resource="http://pear.php.net/pepr/pepr-proposal-show.php?id=567"/>
<rdf:li rdf:resource="http://pear.php.net/pepr/pepr-proposal-show.php?id=566"/>
<rdf:li rdf:resource="http://pear.php.net/pepr/pepr-proposal-show.php?id=561"/>
<rdf:li rdf:resource="http://pear.php.net/pepr/pepr-proposal-show.php?id=558"/>
<rdf:li rdf:resource="http://pear.php.net/pepr/pepr-proposal-show.php?id=557"/>
<rdf:li rdf:resource="http://pear.php.net/pepr/pepr-proposal-show.php?id=551"/>
<rdf:li rdf:resource="http://pear.php.net/pepr/pepr-proposal-show.php?id=550"/>
<rdf:li rdf:resource="http://pear.php.net/pepr/pepr-proposal-show.php?id=549"/>
<rdf:li rdf:resource="http://pear.php.net/pepr/pepr-proposal-show.php?id=540"/>
<rdf:li rdf:resource="http://pear.php.net/pepr/pepr-proposal-show.php?id=515"/>
</rdf:Seq>
</items>

<title>PEPr: Latest proposals with status Draft</title>
<description>The latest PEPr proposals with status Draft</description>
</channel>

<item rdf:about="http://pear.php.net/pepr/pepr-proposal-show.php?id=567">
 <title>PEPr Proposal [567]: Web Services::Services_Shipping</title>
 <link>http://pear.php.net/pepr/pepr-proposal-show.php?id=567</link>
 <content:encoded>&lt;br /&gt;
Proposed package:        Web Services::Services_Shipping&lt;br /&gt;&lt;br /&gt;
Proposer:                &lt;a href=&quot;/user/nullmind&quot;&gt;Kristopher Ives&lt;/a&gt;&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
A framework for shipping services that allows sub-packages to provide different shipping carriers, services, and features. This package includes only the framework interfaces. Packages that provide shipping services will have the name &amp;quot;Services_Shipping_Driver_XYZ&amp;quot; where XYZ is some upper-case identifier.&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
The Services_Shipping_XML package extends the framework to make it easier to implement for XML-based carriers that use HTTPS using the PHP5 domxml and libcurl.&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
Services_Shipping requires PHP versions 5 or newer.
 </content:encoded>
 <dc:date>2008-08-13T22:44:26-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/pepr/pepr-proposal-show.php?id=566">
 <title>PEPr Proposal [566]: Database::DB_MY_ACCESS</title>
 <link>http://pear.php.net/pepr/pepr-proposal-show.php?id=566</link>
 <content:encoded>&lt;br /&gt;
Proposed package:        Database::DB_MY_ACCESS&lt;br /&gt;&lt;br /&gt;
Proposer:                &lt;a href=&quot;/user/blackid&quot;&gt;Jyot Vakharia&lt;/a&gt;&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
This package is written from scratch, without any base class required. It is created to make the access to database more robust, easy to use and a tracked one. It still requires some work to it, but for now, it has got some functions which can make your development easy by converting mysql return into arrays. This makes the development very easy and fast. I will be putting the class for now, while I am documenting it. Any documentation help for PHP Documentor would be highly appreciated.&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
Thanks&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
Jyot Vakharia
 </content:encoded>
 <dc:date>2008-07-14T23:15:16-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/pepr/pepr-proposal-show.php?id=561">
 <title>PEPr Proposal [561]: PHP::functional</title>
 <link>http://pear.php.net/pepr/pepr-proposal-show.php?id=561</link>
 <content:encoded>&lt;br /&gt;
Proposed package:        PHP::functional&lt;br /&gt;&lt;br /&gt;
Proposer:                &lt;a href=&quot;/user/andrewiq&quot;&gt;Andrew Kovalev&lt;/a&gt;&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
functional will provides PHP users with numerous tools common in functional programming, such as foldl, foldr, flip, as well as mechanisms for partial function application and function composition.&lt;br /&gt;&lt;br /&gt;
This is will ported from Python functional module.&lt;br /&gt;&lt;br /&gt;
Look here :&lt;a href=&quot;http://oakwinter.com/code/functional/&quot;&gt;http://oakwinter.com/code/functional/&lt;/a&gt;
 </content:encoded>
 <dc:date>2008-06-23T07:54:44-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/pepr/pepr-proposal-show.php?id=558">
 <title>PEPr Proposal [558]: Text::Text_Beautifier</title>
 <link>http://pear.php.net/pepr/pepr-proposal-show.php?id=558</link>
 <content:encoded>&lt;br /&gt;
Proposed package:        Text::Text_Beautifier&lt;br /&gt;&lt;br /&gt;
Proposer:                &lt;a href=&quot;/user/davidk&quot;&gt;David Kendal&lt;/a&gt;&amp;nbsp;[&lt;a href=&quot;http://www.pear.php.net/wishlist.php/davidk&quot;&gt;Wishlist&lt;/a&gt;]&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
Basically, this package will contain a set of functions designed to make text more aesthetically pleasing and better reading. It will contain functions for generating word-numbers from integers, working out where plurals should go, generating the correct rendition of st, nd, rd, th for numbers as well as producing lists with an &amp;quot;and&amp;quot; on the end.&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;code&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;
class Text_Beautifier {&lt;br /&gt;&lt;br /&gt;
  function english_list($array, $glue=&amp;quot;, &amp;quot;, $lastglue=&amp;quot; and &amp;quot;, $oxfordglue=1) {&lt;br /&gt;&lt;br /&gt;
    if (count($array) == 0) {&lt;br /&gt;&lt;br /&gt;
      return FALSE;&lt;br /&gt;&lt;br /&gt;
    } elseif (count($array) == 1) {&lt;br /&gt;&lt;br /&gt;
      return $array[0];&lt;br /&gt;&lt;br /&gt;
    }&lt;br /&gt;&lt;br /&gt;
    $count = count($array)-1;&lt;br /&gt;&lt;br /&gt;
    $last = $array[$count];&lt;br /&gt;&lt;br /&gt;
    unset($array[$count]);&lt;br /&gt;&lt;br /&gt;
    $str = join($glue, $array);&lt;br /&gt;&lt;br /&gt;
    if ($oxfordcomma) {&lt;br /&gt;&lt;br /&gt;
      $str .= $glue;&lt;br /&gt;&lt;br /&gt;
    }&lt;br /&gt;&lt;br /&gt;
    $str .= &amp;quot;$glue&amp;quot;.&amp;quot;$last&amp;quot;;&lt;br /&gt;&lt;br /&gt;
    return $str; }&lt;br /&gt;&lt;br /&gt;
    &lt;br /&gt;&lt;br /&gt;
}&lt;br /&gt;&lt;br /&gt;
?&amp;gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;
This shows what I have got so far - the readable list function.&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
Interested? I invite your comments...
 </content:encoded>
 <dc:date>2008-05-17T08:30:29-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/pepr/pepr-proposal-show.php?id=557">
 <title>PEPr Proposal [557]: PHP::Kernel</title>
 <link>http://pear.php.net/pepr/pepr-proposal-show.php?id=557</link>
 <content:encoded>&lt;br /&gt;
Proposed package:        PHP::Kernel&lt;br /&gt;&lt;br /&gt;
Proposer:                &lt;a href=&quot;/user/tsvetanfilev&quot;&gt;Tsvetan Filev&lt;/a&gt;&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;p&gt;PHP framework for rapid applications development. Automatic environment recognition: mobile devices; SOAP; XML-RPC; RSS&lt;/p&gt;&lt;br /&gt;
&lt;br /&gt;

 </content:encoded>
 <dc:date>2008-05-02T11:16:41-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/pepr/pepr-proposal-show.php?id=551">
 <title>PEPr Proposal [551]: RFC::Lowercase namespace/package names in PEAR2</title>
 <link>http://pear.php.net/pepr/pepr-proposal-show.php?id=551</link>
 <content:encoded>&lt;br /&gt;
Proposed package:        RFC::Lowercase namespace/package names in PEAR2&lt;br /&gt;&lt;br /&gt;
Proposer:                &lt;a href=&quot;/user/tswicegood&quot;&gt;Travis Swicegood&lt;/a&gt;&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
With the introduction of namespaces we have the challenge of determining what part of a fully-qualified package name is the namespace and what is the class.  This becomes a larger issue when you try to instantiate what is only a namespace.&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
To help with this issue, I am proposing we move to lowercase characters to signify what is part of the full name is the namespace/package name, and what part is the object.&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;strong&gt;Examples&lt;/strong&gt;:&lt;br /&gt;&lt;br /&gt;
These examples are written assuming RFC #549 passes:&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
The Text_Diff package in PEAR becomes pear2::text_diff.  The class Text_Diff becomes pear2::text_diff::Diff.&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
The Text_CAPTCHA package in PEAR becomes pear2::text_captcha.  The class Text_CAPTCHA becomes pear2::text_captcha::CAPTCHA.
 </content:encoded>
 <dc:date>2008-04-13T21:27:36-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/pepr/pepr-proposal-show.php?id=550">
 <title>PEPr Proposal [550]: Web Services::Services_GeoNames</title>
 <link>http://pear.php.net/pepr/pepr-proposal-show.php?id=550</link>
 <content:encoded>&lt;br /&gt;
Proposed package:        Web Services::Services_GeoNames&lt;br /&gt;&lt;br /&gt;
Proposer:                &lt;a href=&quot;/user/izi&quot;&gt;David Jean Louis&lt;/a&gt;&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;p&gt;PEAR interface to the &lt;a href=&quot;http://www.geonames.org/export/web-services.html&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;GeoNames web services&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;p&gt;The GeoNames database contains over 8,000,000 geographical names corresponding to over 6,500,000 unique features. All features are categorized into one out of nine feature classes and further subcategorized into one out of 645 feature codes. Beyond names of places in various languages, data stored include latitude, longitude, elevation, population, administrative subdivision and postal codes. All coordinates use the WGS84 system (World Geodetic System 1984).&lt;/p&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;p&gt;Those data are accessible free of charge through a number of Web services and a daily database export. The Web services include direct and reverse geocoding, finding places through postal codes, finding places next to a given place, and finding Wikipedia articles about neighbouring places.&lt;/p&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;p&gt;You will find more informations on the &lt;a href=&quot;http://www.geonames.org/&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;GeoNames website&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;
&lt;br /&gt;

 </content:encoded>
 <dc:date>2008-04-10T02:57:03-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/pepr/pepr-proposal-show.php?id=549">
 <title>PEPr Proposal [549]: RFC::Package Naming Conventions</title>
 <link>http://pear.php.net/pepr/pepr-proposal-show.php?id=549</link>
 <content:encoded>&lt;br /&gt;
Proposed package:        RFC::Package Naming Conventions&lt;br /&gt;&lt;br /&gt;
Proposer:                &lt;a href=&quot;/user/tswicegood&quot;&gt;Travis Swicegood&lt;/a&gt;&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;strong&gt;note this is a work in progress that is merely a collection of notes at this point&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
This RFC calls for a change in the way package names are mapped to namespaces.  It will use existing packages within the context of PEAR2 will be used throughout to show how existing code would fix into this.&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
Using PEAR's Text_Diff class in the Text_Diff package, in PEAR2 the class would become PEAR2::Text_Diff::Diff.  Or in PHP code:&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;&lt;br /&gt;
namespace PEAR2::Text_Diff;&lt;br /&gt;&lt;br /&gt;
class Diff&lt;br /&gt;&lt;br /&gt;
{&lt;br /&gt;&lt;br /&gt;
    ....&lt;br /&gt;&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
This package/namespace combination is reached via:&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;&lt;br /&gt;
namespace Vendor::Package;&lt;br /&gt;&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
PEAR2 is the Vendor, the package name is Text_Diff.  Within the current directory structure, this would map to include_path/PEAR2/Text_Diff/Diff.php.&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;strong&gt;Background&lt;/strong&gt;:&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
PEAR packages currently do not enforce a single-directory, single-package rule.  This makes it harder contain packages within a version control system through means such as Subversion's svn:externals or Git's submodules.&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
This proposal is aimed at making the package name map to a specific directory and that each file within that directory is considered part of its package.&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;strong&gt;Benefits&lt;/strong&gt;:&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;&lt;br /&gt;&lt;br /&gt;
&lt;/li&gt;&lt;li&gt; Tracking packages within a version control system is easier as most modern vcs delineate externals along directory lines&lt;br /&gt;&lt;br /&gt;
&lt;/li&gt;&lt;li&gt; Keeps existing package names in tact&lt;br /&gt;&lt;br /&gt;
&lt;/li&gt;&lt;li&gt; Allows classes to be properly named by their use instead of forcing names by their location within a directory hierarchy&lt;br /&gt;&lt;br /&gt;
&lt;/li&gt;&lt;li&gt; Helps explicitly show what is a class and what is a namespace (first two elements are always Vendor and Package Name, everything else is the class)&lt;br /&gt;&lt;br /&gt;
&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;strong&gt;Drawbacks&lt;/strong&gt;:&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;&lt;br /&gt;&lt;br /&gt;
&lt;/li&gt;&lt;li&gt; Changes existing, 9 year structure&lt;br /&gt;&lt;br /&gt;
&lt;/li&gt;&lt;li&gt; Changes existing behavior of &amp;quot;_&amp;quot;&lt;br /&gt;&lt;br /&gt;
&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;strong&gt;Examples&lt;/strong&gt;:&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
The examples that follow are meant to be illustrative of how an existing package might fit into this new structure.  These are not meant as a discussion of the benefits of one particular implement over another, but only so we are discussing familiar code.&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;strong&gt;&lt;em&gt;MDB2 Example&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;&lt;br /&gt;
namespace PEAR2::MDB2;&lt;br /&gt;&lt;br /&gt;
class MDB2 {&lt;br /&gt;&lt;br /&gt;
    ...&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
namespace PEAR2::MDB2_MySQLDriver {&lt;br /&gt;&lt;br /&gt;
class Driver {&lt;br /&gt;&lt;br /&gt;
    ...&lt;br /&gt;&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
The existing MDB2 package presents a unique case with its package and sub-package model.  The current PEAR implementation of its drivers requires the naming convention &amp;quot;MDB2_Driver_&amp;lt;SomeDriver&amp;gt;&amp;quot; in order to keep all of the drivers in a central location.  With the new autoload capable code, you would check for the existence of a properly named package, the MDB2_MySQLDriver (note that MySQL in this package name modifies the &amp;quot;Driver&amp;quot;, and not the other way around).&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;&lt;br /&gt;
// possible snippet for checking for a driver...&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
$driver_name = $this-&amp;gt;getFullyQualifiedDriverName($driver);&lt;br /&gt;&lt;br /&gt;
if (!class_exists($driver_name, true)) {&lt;br /&gt;&lt;br /&gt;
    throw new UnknownDriverException($driver);&lt;br /&gt;&lt;br /&gt;
}&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
// etc., etc.&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
function getFullyQualifiedDriverName($driver) {&lt;br /&gt;&lt;br /&gt;
    if (strpos('::', $driver) === false) {&lt;br /&gt;&lt;br /&gt;
        $driver = 'PEAR2::MDB2_' . $driver . 'Driver::Driver';&lt;br /&gt;&lt;br /&gt;
    }&lt;br /&gt;&lt;br /&gt;
    return $driver;&lt;br /&gt;&lt;br /&gt;
}&lt;br /&gt;&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
This also allows for the presence of a namespace token (&amp;quot;::&amp;quot;) to signify that you want to use your own driver that's not part of the PEAR2's MDB2 distribution.&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;strong&gt;Text_Diff and Text_CAPTCHA Example&lt;/strong&gt;:&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;&lt;br /&gt;
// located in include_path/PEAR2/Text_Diff/Diff.php&lt;br /&gt;&lt;br /&gt;
namespace PEAR2::Text_Diff;&lt;br /&gt;&lt;br /&gt;
class Diff {&lt;br /&gt;&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;&lt;br /&gt;
// located in include_path/PEAR2/Text_CAPTCHA/CAPTCHA.php&lt;br /&gt;&lt;br /&gt;
namespace PEAR2::Text_CAPTCHA;&lt;br /&gt;&lt;br /&gt;
class CAPTCHA {&lt;br /&gt;&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
This demonstrates two classes that could very possibly be used in conjunction.  In a normal PEAR style installation, these two files would be located in the same directory.  The new method would put both of them in their own directories, allowing external developers to track versions independently.
 </content:encoded>
 <dc:date>2008-04-06T15:32:23-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/pepr/pepr-proposal-show.php?id=540">
 <title>PEPr Proposal [540]: Framework::Trigger</title>
 <link>http://pear.php.net/pepr/pepr-proposal-show.php?id=540</link>
 <content:encoded>&lt;br /&gt;
Proposed package:        Framework::Trigger&lt;br /&gt;&lt;br /&gt;
Proposer:                &lt;a href=&quot;/user/wattz&quot;&gt;Wesley Cope&lt;/a&gt;&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
Trigger 1.0 (&lt;a href=&quot;http://openrosewood.com/files/trigger-1.0.tar.gz&quot;&gt;http://openrosewood.com/files/trigger-1.0.tar.gz&lt;/a&gt;) is a small base framework for developing PHP5+ applications.  With no complex DB structures (our db abstraction is mysqli with  3 helper functions).  Following the standard (and strictly) Model View Controller (MVC) structure, Trigger is the smallest, fast, and most stable frameworks available.  Utilizing PEAR setup and installation practices would allow for Trigger to have a central install of system files and make using trigger easier.  Also with the plugin system, trigger can utilize PEAR packages when ever someone wants to use them
 </content:encoded>
 <dc:date>2008-03-09T13:51:22-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/pepr/pepr-proposal-show.php?id=515">
 <title>PEPr Proposal [515]: XML::XML_Feed</title>
 <link>http://pear.php.net/pepr/pepr-proposal-show.php?id=515</link>
 <content:encoded>&lt;br /&gt;
Proposed package:        XML::XML_Feed&lt;br /&gt;&lt;br /&gt;
Proposer:                &lt;a href=&quot;/user/mjijackson&quot;&gt;Michael Jackson&lt;/a&gt;&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
This package provides a base for XML feed generation classes to extend from. Already, two implementations (RSS2 and Atom) are complete. Combined with XML_Feed_Parser, this package will provide complete support for reading/writing all of the most popular types of XML feeds with PHP.
 </content:encoded>
 <dc:date>2007-11-01T11:52:58-05:00</dc:date>
</item>

</rdf:RDF>