This example uses XSLT to convert each input feed from Atom format to RSS format, gets their entries and places the entries into an RSS template. XProc p:document tags are used to read Atom feeds from blog sites and then they are converted using xslt to RSS using p:xslt steps. Lastly, an p:insert tag is used to insert the items from the produced channels into the empty rss channel.

<?xml version="1.0" encoding="UTF-8" ?> 
<p:pipeline version="1.0" 
      xmlns:p="http://www.w3.org/ns/xproc" 
      xmlns:c="http://www.w3.org/ns/xproc-step" 
      xmlns:l="http://xproc.org/library"> 

<p:serialization port="result" media-type="application/rss+xml" method="xml" /> 

<p:xslt name="prototypo-rss"> 
  <p:input port="source"> 
    <p:document href="http://prototypo.blogspot.com/feeds/posts/default" /> 
  </p:input> 
  <p:input port="stylesheet"> 
    <p:document href="http://atom.geekhood.net/atom2rss.xsl" /> 
  </p:input> 
</p:xslt> 

<p:xslt name="jamesrdf-rss"> 
  <p:input port="source"> 
    <p:document href="http://jamesrdf.blogspot.com/feeds/posts/default" /> 
  </p:input> 
  <p:input port="stylesheet"> 
    <p:document href="http://atom.geekhood.net/atom2rss.xsl" /> 
  </p:input> 
</p:xslt> 

<p:insert match="/rss/channel" position="last-child"> 
  <p:input port="source"> 
    <p:inline> 
      <rss version="2.0"> 
        <channel> 
          <title>RSS Title</title> 
          <description>This is an example of an RSS feed</description> 
          <link>http://www.someexamplerssdomain.com/main.html</link> 
          <lastBuildDate>Mon, 06 Sep 2010 00:01:00 +0000 </lastBuildDate> 
          <pubDate>Mon, 06 Sep 2009 16:45:00 +0000 </pubDate> 
          <ttl>1800</ttl> 
        </channel> 
      </rss> 
    </p:inline> 
  </p:input> 
  <p:input port="insertion" select="/rss/channel/item"> 
    <p:pipe step="prototypo-rss" port="result" /> 
    <p:pipe step="jamesrdf-rss" port="result" /> 
  </p:input> 
</p:insert>

</p:pipeline>