<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Lettre 13 &#187; Programming</title>
	<atom:link href="http://lettre13.com/category/english/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://lettre13.com</link>
	<description>Un rien l'amène, un rien l'anime, un rien la mine, &#60;br /&#62;un rien l'emmène. -Queneau</description>
	<lastBuildDate>Sun, 21 Feb 2010 02:46:05 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>WordPress As Back End For Posh Widgets and OpenSocial Gadgets</title>
		<link>http://lettre13.com/2009/08/26/wordpress-as-back-end-for-posh-widgets-and-opensocial-gadgets/</link>
		<comments>http://lettre13.com/2009/08/26/wordpress-as-back-end-for-posh-widgets-and-opensocial-gadgets/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 20:47:06 +0000</pubDate>
		<dc:creator>Emmanuel Décarie</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Gadget]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[OpenSocial]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Widget]]></category>

		<guid isPermaLink="false">http://lettre13.com/?p=203</guid>
		<description><![CDATA[I developed for percolab.com, under the supervision of my friend Yves Otis a framework that can generate interfaces for OpenSocial gadgets (Orkut, iGoogle), widgets (Portaneo Posh) and HTML.
The goal of this framework is to offer to Québec&#8217;s immigrants a way to show to others and themselves their abilities. These abilities are regrouped in activities, themselves [...]]]></description>
			<content:encoded><![CDATA[<p>I developed for <a href="http://percolab.com/">percolab.com</a>, under the supervision of my friend <a href="http://www.percolab.com/site/Team">Yves Otis</a> a framework that can generate interfaces for <a href="http://code.google.com/intl/fr/apis/gadgets/">OpenSocial gadgets</a> (<a href="http://orkut.com/">Orkut</a>, <a href="http://igoogle.com/">iGoogle</a>), widgets (<a href="http://www.portaneo.com/solutions/en/opensource.php">Portaneo Posh</a>) and HTML.</p>
<p>The goal of this framework is to offer to Québec&#8217;s immigrants a way to show to others and themselves their abilities. These abilities are regrouped in <em>activities</em>, themselves grouped under broader terms like <em>Practical Life</em>, <em>Learning French</em>,  <em>Experiences</em>, <em>About Me</em>, <em>Working Outside Québec</em> and so on.</p>
<p>The idea is for the immigrant to be able to edit a widget in Posh, or a gadget in Orkut or iGoogle that is generated by the framework. The same core templates are used to generate all the interfaces.</p>
<p>Here&#8217;s two examples:</p>
<div style="text-align:center;"><img src="http://lettre13.com/blog/wp-content/uploads/2009/08/gadget.orkut.png" border="0" alt="gadget.orkut.png" width="464" height="395" /></div>
<div style="text-align:center;"><img src="http://lettre13.com/blog/wp-content/uploads/2009/08/gadget.igoogle.png" border="0" alt="gadget.igoogle.png" width="408" height="394" /></div>
<p>You will note that nothing is really styled or designed. This is an early stage of the project where the designers have not yet worked on the templates.</p>
<p>The framework is based on the marvelous <a href="http://codeigniter.com">CodeIgniter</a>. Fundamentally, here how it works. Sorry, I&#8217;m not very good at modelling, but you will get the basic idea.</p>
<div style="text-align:center;"><img src="http://lettre13.com/blog/wp-content/uploads/2009/08/schema_simple_epimm.png" border="0" alt="schema_simple_epimm.png" width="503" height="312" /></div>
<p>Ok, it’s much more complicated than that. I&#8217;ll post about it later because the framework use <a href="http://dev.mysql.com/tech-resources/articles/mysql-5.1-xml.html">MySQL 5.1 XML</a> capabilities as an almost free form database, where the all the values populating the forms are filtered using a mix of SQL/XPath, XSLT and jQuery, bypassing PHP to do this work. Basically, you drop a form in the framework, and it just work, you don&#8217;t have to write new PHP code to handle the values, you don&#8217;t need to modify the database schema, you don&#8217;t need to edit a config file for the database like in Rails.</p>
<p>To get back to my schema, the first request to the framework is done by a GET from Posh/Orkut/iGoogle, and then, CodeIgniter throw back at the host of the widgets/gadgets a chunk of XHTML where all interactions (create, update, delete )are done with Ajax. In a way, the widget/gadget contains a self-contained mini application.</p>
<p>Some activities are basically resources where the user does not need to edit anything. The only thing he/she can do to contribute is to comment about the resource and add some pointer to other resources on the Internet. Yves, being what he is, asked me, why not using <a href="http://wordpress.org/">WordPress</a>, so, average people who are not programmers will be able to edit the resources and control/approve the comments? Since WordPress offer a nice interface that almost anybody can use, I plugged WordPress for some activities on the framework.</p>
<p>Here&#8217;s an example of an activity of the kind &laquo;&nbsp;ressource&nbsp;&raquo;.</p>
<p>The top of the gadget.</p>
<div style="text-align:center;"><img src="http://lettre13.com/blog/wp-content/uploads/2009/08/orkutdico1.png" border="0" alt="orkutdico1.png" width="606" height="423" /></div>
<p>The bottom of the same gadget.</p>
<div style="text-align:center;"><img src="http://lettre13.com/blog/wp-content/uploads/2009/08/orkutdico2.png" border="0" alt="orkutdico2.png" width="606" height="423" /></div>
<p>The content of this gadget is coming from WordPress, and the comment fields, while done in the template that generate the gadget are done in the framework, are hook to WordPress.</p>
<p>When for example, Orkut load this particular gadget, the framework do an XML-RPC request to WordPress using the <a href="http://codex.wordpress.org/XML-RPC_Support">WordPress XML-RPC API</a> with the methods <code>metaWeblog.getPost</code> and get the content of a specific WordPress post related to the resource needed. The framework also does a request to get all the approved comments for this post with the method <code>wp.getComments</code>. Then the framework throws back the content to the Orkut gadget.</p>
<p>When a user press the button to submit a comment, the values of the comment fields are send to the framework via Ajax (<code>gadget.io.makeRequest()</code> on Orkut/iGoogle and jQuery/$.ajax with Posh). Then the framework does an XML-RPC request with the method <code>wp.newComment</code> to the WordPress blog. The comment is inserted in the WordPress blog, and an email is sent to the administrator to approve this comment.</p>
<p>Here&#8217;s another schema that shows what is happening. (Gee, I should really learn how to use <a href="http://www.omnigroup.com/applications/OmniGraffle/">OmniGraffle</a>.)</p>
<div style="text-align:center;"><img src="http://lettre13.com/blog/wp-content/uploads/2009/08/schema_simple2_epimm.png" border="0" alt="schema_simple2_epimm.png" width="503" height="312" /></div>
<p>Letting the framework doing the XML-RPC calls to WordPress is the way to bypass the troubles you get with Ajax and the <em><a href="http://en.wikipedia.org/wiki/Same_origin_policy">same origin policy</a></em>. Also, it&#8217;s easier to program this way, than trying to do this from the Orkut gadget or Posh widget, because these kind of environments are quite hard to debug.</p>
<p>So, to sum it up, the user of the gadget never goes to the WordPress blog, she/he never knows in fact that we are using a WordPress blog. We post the comment anonymously, and set WordPress to accept XML-RPC requests, and also allow commenter not to be registered in WordPress.</p>
<p>There was a catch that I have too figured out how to post comment under the name of the commenter on WordPress. In fact the solution was provided kindly by <a href="http://josephscott.org/">Joseph Scott</a> on <a href="http://wordpress.org/support/topic/304306?replies=1#post-1187622">one of the WordPress forums</a>. The basic idea, is to leave blank the name and password of the owner of the blog (param 2 and 3) with the method <code>wp.newComment</code> and install a <a href="http://www.thepicklingjar.com/code/anonymous-xmlrpc-comments/">plugin</a> that will implement a filter to allow XML-RPC anonymous comment.</p>
<p>Sylvain Carle will be guest speaker at an <a href="http://www.afroginthevalley.com/fr/conference-infopresse-nouveaux-outils-web-wordpress/">event on using WordPress beyond the blog</a>. I&#8217;ll guess I will now have to attend <img src='http://lettre13.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>Update (2009-08-27): This conf is just too <a href="http://www.infopresse.com/billetterie/default.aspx?evt=253&amp;idses=7ae4ca26-6a6f-415e-8d65-e3f0261e5de5">expensive</a> for me (300 $ to 400 $ for 4 hours).</p>
]]></content:encoded>
			<wfw:commentRss>http://lettre13.com/2009/08/26/wordpress-as-back-end-for-posh-widgets-and-opensocial-gadgets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>In praise of Frontier</title>
		<link>http://lettre13.com/2009/01/31/in-praize-of-frontier/</link>
		<comments>http://lettre13.com/2009/01/31/in-praize-of-frontier/#comments</comments>
		<pubDate>Sat, 31 Jan 2009 14:54:14 +0000</pubDate>
		<dc:creator>Emmanuel Décarie</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://lettre13.com/2009/01/31/in-praize-of-frontier/</guid>
		<description><![CDATA[
This is funny. Two peoples (Brent Simmons, Matt Neuburg) whom where involved with UserLand Frontier have built their own Web content management system inspire by it and won&#8217;t release the sources  .

Anyway, I have learned programming in Frontier a while ago (when Frontier was Mac only). I must say that Dave Winer, Doug Baron [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://lettre13.com/blog/wp-content/uploads/2009/01//oldfrontier2.gif" alt="oldfrontier2.gif" border="0" width="371" height="50" align="center" /></p>
<p>This is funny. Two peoples (<a href="http://inessential.com/2009/01/30/new_publishing_system_tour_of_my_head">Brent Simmons</a>, <a href="http://www.apeth.com/RubyFrontierDocs/default.html">Matt Neuburg</a>) whom where involved with <a href="http://en.wikipedia.org/wiki/UserLand_Software">UserLand Frontier </a>have built their own Web content management system inspire by it and won&#8217;t release the sources <img src='http://lettre13.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p><img src="http://lettre13.com/blog/wp-content/uploads/2009/01//oldfrontier3.gif" alt="oldfrontier3.gif" border="0" width="419" height="118" align="center" /></p>
<p>Anyway, I have learned programming in <a href="http://scriptdigital.com/fnt/frontierNewbieToolbox.html">Frontier</a> a while ago (when <a href="http://www.scripting.com/frontier/beginning/whatFrontierIs.html">Frontier</a> was Mac only). I must say that <a href="http://scripting.com/">Dave Winer</a>, Doug Baron and others have built an incredible system with <a href="http://frontierkernel.org/docs/history">Frontier</a>, very sophisticated, and still very innovator even by today&#8217;s standard. UserTalk is a very elegant language, and when they introduced it, the web framework that was built on top of Frontier was prefiguring much stuff that we take for granted now. I must say that I learned a lot about <a href="http://en.wikipedia.org/wiki/Model-view-controller">MVC</a> at that time (around 1996-1998). But it was not called like that.</p>
<p>I wish that Mark Aldritt of <a href="">Script Debugger</a> fame would took the <a href="http://frontierkernel.org/">Frontier source</a> (now open source) and build a new Frontier for OS X only for scripting the system (the web stuff can&#8217;t be catch now when you have Ruby on Rails, PHP Code Igniter and others).</p>
<p><img src="http://lettre13.com/blog/wp-content/uploads/2009/01//oldfrontier.jpeg" alt="oldfrontier.jpeg" border="0" width="51" height="51" align="center" /></p>
]]></content:encoded>
			<wfw:commentRss>http://lettre13.com/2009/01/31/in-praize-of-frontier/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jeremy Zawodny on the New MySQL Landscape</title>
		<link>http://lettre13.com/2008/12/08/jeremy-zawodny-on-the-new-mysql-landscape/</link>
		<comments>http://lettre13.com/2008/12/08/jeremy-zawodny-on-the-new-mysql-landscape/#comments</comments>
		<pubDate>Mon, 08 Dec 2008 17:56:23 +0000</pubDate>
		<dc:creator>Emmanuel Décarie</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://lettre13.com/2008/12/08/jeremy-zawodny-on-the-new-mysql-landscape/</guid>
		<description><![CDATA[ The single most interesting and surprising thing to me is both the number and necessity of third-party patches for enhancing various aspects of MySQL and InnoDB. Companies like Percona, Google, Proven Scaling, Prime Base Technologies, and Open Query.
One the one hand, it&#8217;s excellent validation of the Open Source model. Thanks to reasonable licensing, companies [...]]]></description>
			<content:encoded><![CDATA[<p><em> The single most interesting and surprising thing to me is both the number and necessity of third-party patches for enhancing various aspects of MySQL and InnoDB. Companies like Percona, Google, Proven Scaling, Prime Base Technologies, and Open Query.</p>
<p>One the one hand, it&#8217;s excellent validation of the Open Source model. Thanks to reasonable licensing, companies other than Sun/MySQL are able to enhance and fix the software and give their changes back to the world.</p>
<p>Some organizations are providing just patches. Others, like Percona are providing their own binaries&#8211;effectively forks of MySQL/InnoDB. Taking things a step further, the OurDelta project aims to aggregate these third party patches and provide source and binaries for various platforms. In essences, you can get a &laquo;&nbsp;better&nbsp;&raquo; MySQL than the one Sun/MySQL gives you today. For free.<br />
</em></p>
<p>Jeremy Zawodny: <em><a href="http://jeremy.zawodny.com/blog/archives/010774.html">The New MySQL Landscape</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://lettre13.com/2008/12/08/jeremy-zawodny-on-the-new-mysql-landscape/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP5: SimpleXML and xpath: What You See Is Not What You Get</title>
		<link>http://lettre13.com/2008/10/02/php5-simplexml-and-xpath-what-you-see-is-not-what-you-get/</link>
		<comments>http://lettre13.com/2008/10/02/php5-simplexml-and-xpath-what-you-see-is-not-what-you-get/#comments</comments>
		<pubDate>Thu, 02 Oct 2008 11:49:35 +0000</pubDate>
		<dc:creator>Emmanuel Décarie</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://lettre13.com/2008/10/02/php5-simplexml-and-xpath-what-you-see-is-not-what-you-get/</guid>
		<description><![CDATA[This is something that took me a while to figure out. The problem is related to the way SimpleXML handle a second xpath query made against the result of a first xpath query. Simply put, what happens is that if you do keep the result of a first xpath query, and then, you do another [...]]]></description>
			<content:encoded><![CDATA[<p>This is something that took me a while to figure out. The problem is related to the way <a href="http://us2.php.net/simplexml">SimpleXML</a> handle a second xpath query made against the result of a first xpath query. Simply put, what happens is that if you do keep the result of a first xpath query, and then, you do another xpath query against this result, the second xpath query will not be made against this subset, but against the whole XML tree.</p>
<p>Here&#8217;s a simple example to illustrate what I&#8217;m trying to convey. Please consider this example of an illustration of the problem, and not as the best way to use a xpath query.</p>
<p><strong>The XML Snippet</strong></p>
<pre>
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;world&gt;
  &lt;continent name=&apos;Europe&apos;&gt;
    &lt;country name=&apos;France&apos;&gt;Paris&lt;/country&gt;
    &lt;country name=&apos;United Kingdom&apos;&gt;London&lt;/country&gt;
  &lt;/continent&gt;
  &lt;continent name=&apos;North America&apos;&gt;
    &lt;country name=&apos;Canada&apos;&gt;Ottawa&lt;/country&gt;
    &lt;country name=&apos;United States&apos;&gt;Washington&lt;/country&gt;
  &lt;/continent&gt;
&lt;/world&gt;
</pre>
<p>First, I know that there are more continents than Europe and North America <img src='http://lettre13.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>What I want to do is:</p>
<p>1. Make an xpath query to get a result set for <code>continent</code>,</p>
<p>2.  And then loop in this result set to get the result set <code>country</code> for each country.</p>
<p>The first iteration of the code will go like this:</p>
<pre>
$xml          = simplexml_load_string ($xmlstring);
$continents   = $xml->xpath ('//continent');

foreach ($continents as $continent) {
  $countries = $continent->xpath ('//country');
  var_dump ($countries);
}
</pre>
<p>If you do this way, the xpath query will not be against the result set <code>$continents</code>, but against the whole XML tree. What that means is that instead of having a listing of country by continent, you will get all the countries for all the continents two times.</p>
<p>To get only the countries by continent, what you have to do is to deference again the result set for <code>$continents</code>.</p>
<pre>
$xml          = simplexml_load_string ($xmlstring);
$continents   = $xml->xpath ('//continent');

foreach ($continents as $continent) {
  $continent_deferenced = simplexml_load_string ($continent->asXML ());
  $countries = $continent_deferenced->xpath ('//country');
  var_dump ($countries);
}
</pre>
<p>Now you will get what you are looking for.</p>
<p>Here&#8217;s the same example code made more clearer. </p>
<pre>

$xmlstring = &lt;&lt;&lt;END
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;world&gt;
  &lt;continent name='Europe'&gt;
    &lt;country name='France'&gt;Paris&lt;/country&gt;
    &lt;country name='United Kingdom'&gt;London&lt;/country&gt;
  &lt;/continent&gt;
  &lt;continent name='North America'&gt;
    &lt;country name='Canada'&gt;Ottawa&lt;/country&gt;
    &lt;country name='United States'&gt;Washington&lt;/country&gt;
  &lt;/continent&gt;
&lt;/world&gt;
END;

$deference_xml  = 0;

$xml          = simplexml_load_string ($xmlstring);
$continents   = $xml->xpath ('//continent');

$counter        = 0;
foreach ($continents as $continent) {
  $counter++;
  echo "--------------------------------\n";
  echo "Loop# $counter: " . $continent['name'] . "\n";
  echo "--------------------------------\n";
  echo "\n";

  if ($deference_xml) {
    echo "--------------------------------\n";
    echo "\$continent is deferenced\n";
    echo "--------------------------------\n";

    $continent_deferenced = simplexml_load_string ($continent->asXML ());
    $countries = $continent_deferenced->xpath ('//country');
  } else {
    echo "--------------------------------\n";
    echo "\$continent is NOT deferenced\n";
    echo "--------------------------------\n";

    $countries = $continent->xpath ('//country');
  }

  echo "--------------------------------\n";
  echo "\$continent->xpath('//country')\n";
  echo "--------------------------------\n";
  var_dump ($countries);

}
</pre>
<p>If you set the variable <code>$deference_xml</code> to <code>0</code>, the xpath query will not be deferenced. So, you will get this result.</p>
<pre>
--------------------------------
Loop# 1: Europe
--------------------------------

--------------------------------
$continent is NOT deferenced
--------------------------------
--------------------------------
$continent->xpath('//country')
--------------------------------
array(4) {
  [0]=>
  object(SimpleXMLElement)#4 (2) {
    ["@attributes"]=>
    array(1) {
      ["name"]=>
      string(6) "France"
    }
    [0]=>
    string(5) "Paris"
  }
  [1]=>
  object(SimpleXMLElement)#5 (2) {
    ["@attributes"]=>
    array(1) {
      ["name"]=>
      string(14) "United Kingdom"
    }
    [0]=>
    string(6) "London"
  }
  [2]=>
  object(SimpleXMLElement)#6 (2) {
    ["@attributes"]=>
    array(1) {
      ["name"]=>
      string(6) "Canada"
    }
    [0]=>
    string(6) "Ottawa"
  }
  [3]=>
  object(SimpleXMLElement)#7 (2) {
    ["@attributes"]=>
    array(1) {
      ["name"]=>
      string(13) "United States"
    }
    [0]=>
    string(10) "Washington"
  }
}
--------------------------------
Loop# 2: North America
--------------------------------

--------------------------------
$continent is NOT deferenced
--------------------------------
--------------------------------
$continent->xpath('//country')
--------------------------------
array(4) {
  [0]=>
  object(SimpleXMLElement)#8 (2) {
    ["@attributes"]=>
    array(1) {
      ["name"]=>
      string(6) "France"
    }
    [0]=>
    string(5) "Paris"
  }
  [1]=>
  object(SimpleXMLElement)#9 (2) {
    ["@attributes"]=>
    array(1) {
      ["name"]=>
      string(14) "United Kingdom"
    }
    [0]=>
    string(6) "London"
  }
  [2]=>
  object(SimpleXMLElement)#10 (2) {
    ["@attributes"]=>
    array(1) {
      ["name"]=>
      string(6) "Canada"
    }
    [0]=>
    string(6) "Ottawa"
  }
  [3]=>
  object(SimpleXMLElement)#11 (2) {
    ["@attributes"]=>
    array(1) {
      ["name"]=>
      string(13) "United States"
    }
    [0]=>
    string(10) "Washington"
  }
}
</pre>
<p>If you set now the variable <code>$deference_xml</code> to <code>1</code>, you will get what you expected.</p>
<pre>
--------------------------------
Loop# 1: Europe
--------------------------------

--------------------------------
$continent is deferenced
--------------------------------
--------------------------------
$continent->xpath('//country')
--------------------------------
array(2) {
  [0]=>
  object(SimpleXMLElement)#5 (2) {
    ["@attributes"]=>
    array(1) {
      ["name"]=>
      string(6) "France"
    }
    [0]=>
    string(5) "Paris"
  }
  [1]=>
  object(SimpleXMLElement)#6 (2) {
    ["@attributes"]=>
    array(1) {
      ["name"]=>
      string(14) "United Kingdom"
    }
    [0]=>
    string(6) "London"
  }
}
--------------------------------
Loop# 2: North America
--------------------------------

--------------------------------
$continent is deferenced
--------------------------------
--------------------------------
$continent->xpath('//country')
--------------------------------
array(2) {
  [0]=>
  object(SimpleXMLElement)#4 (2) {
    ["@attributes"]=>
    array(1) {
      ["name"]=>
      string(6) "Canada"
    }
    [0]=>
    string(6) "Ottawa"
  }
  [1]=>
  object(SimpleXMLElement)#8 (2) {
    ["@attributes"]=>
    array(1) {
      ["name"]=>
      string(13) "United States"
    }
    [0]=>
    string(10) "Washington"
  }
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://lettre13.com/2008/10/02/php5-simplexml-and-xpath-what-you-see-is-not-what-you-get/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
