<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>The Pickled Piper</title>
	<atom:link href="http://hapdaniel.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://hapdaniel.wordpress.com</link>
	<description>Advanced Yahoo! Pipes</description>
	<lastBuildDate>Sun, 30 Oct 2011 22:37:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='hapdaniel.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>The Pickled Piper</title>
		<link>http://hapdaniel.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://hapdaniel.wordpress.com/osd.xml" title="The Pickled Piper" />
	<atom:link rel='hub' href='http://hapdaniel.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Generating indexed items</title>
		<link>http://hapdaniel.wordpress.com/2010/11/22/generating-indexed-items/</link>
		<comments>http://hapdaniel.wordpress.com/2010/11/22/generating-indexed-items/#comments</comments>
		<pubDate>Mon, 22 Nov 2010 23:26:58 +0000</pubDate>
		<dc:creator>hapdaniel</dc:creator>
				<category><![CDATA[Pipes]]></category>
		<category><![CDATA[Yahoo Pipes]]></category>

		<guid isPermaLink="false">https://hapdaniel.wordpress.com/?p=41</guid>
		<description><![CDATA[This is a post about generating new items in a pipe where those items are sequentially indexed based on a given number. What would we use this for? One reason that comes to mind is where the data is spread over a number of web pages. So we go to the first page and there [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hapdaniel.wordpress.com&amp;blog=959901&amp;post=41&amp;subd=hapdaniel&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This is a post about generating new items in a pipe where those items are sequentially indexed based on a given number.</p>
<p>What would we use this for?    <br />One reason that comes to mind is where the data is spread over a number of web pages. So we go to the first page and there are links to the next 3 pages and a link to the last page. What we want to do is fetch all of the pages. The link to the last page could look like     <br /><a href="http://www.somedomain.co.uk/greatstuff?page=17">http://www.somedomain.co.uk/greatstuff?page=17</a>     <br />So we have the number of the last page and need to generate URLs for pages 2 to 17 (we already have page 1).</p>
<p>Background    <br /><a href="http://twitter.com/pjdonnelly/" target="_blank">Paul Donnelly</a> in a Yahoo! Pipes blog post has already shown us how to index a set of existing items.     <br /><a title="http://blog.pipes.yahoo.net/2009/06/01/using-yql-execute-to-power-the-pipes-webservice-module/" href="http://blog.pipes.yahoo.net/2009/06/01/using-yql-execute-to-power-the-pipes-webservice-module/">http://blog.pipes.yahoo.net/2009/06/01/using-yql-execute-to-power-the-pipes-webservice-module/</a>     <br />Look in the last paragraph of that post for the index example.     <br />So the main task that is left is to create the required number of items.</p>
<p><a href="http://pipes.yahoo.com/pipes/pipe.edit?_id=0292620dca0f57ded50d8e636f69570e" target="_blank">Generating n items</a>     <br />The pipe starts by putting a numeric value into an element &quot;number&quot; and then reducing that by 2. That’s because Paul’s indexing starts with 0 and we want the indexing to start with 2 (in our example usage we already have page 1). The next step is to use a Regex module to create a new element &quot;num&quot; that includes our number.</p>
<p><a href="http://hapdaniel.pwp.blueyonder.co.uk/pdaniel/blog/gen_index/gen_index1.png" target="_blank"><img src="http://www.hapdaniel.pwp.blueyonder.co.uk/pdaniel/blog/gen_index/gen_index1.png" /></a></p>
<p>Imagine an item that had an element &quot;ting&quot; which was an array where the last cell was cell 15. How would we create that array?    <br />This is step 1.</p>
<p><a href="http://hapdaniel.pwp.blueyonder.co.uk/pdaniel/blog/gen_index/gen_index2.png" target="_blank"><img src="http://hapdaniel.pwp.blueyonder.co.uk/pdaniel/blog/gen_index/gen_index2.png" /></a></p>
<p>We’ve now created an element &quot;ting&quot; that has a sub-element &quot;15&quot; that has a value &quot;fred&quot;. The element name &quot;ting&quot; is not significant. Neither is the value &quot;fred&quot;. The important thing to notice here is that we have not given item.num a new value. What we have done is to assign a value to the <u>contents</u> of item.num. Let’s have a look at this when we assign the value of the Loop instead of emitting it.</p>
<p><a href="http://hapdaniel.pwp.blueyonder.co.uk/pdaniel/blog/gen_index/gen_index3.png" target="_blank"><img src="http://hapdaniel.pwp.blueyonder.co.uk/pdaniel/blog/gen_index/gen_index3.png" /></a></p>
<p>We can see that the element &quot;num&quot; still has the value &quot;ting.15&quot;, but in loop:itembuilder we have an element &quot;ting&quot; with a sub-element &quot;15&quot; which has a value &quot;fred&quot;.    <br />So the next step is to take this element &quot;ting&quot; and a sub-element &quot;15&quot; and create a full array.</p>
<p><a href="http://hapdaniel.pwp.blueyonder.co.uk/pdaniel/blog/gen_index/gen_index4.png" target="_blank"><img src="http://hapdaniel.pwp.blueyonder.co.uk/pdaniel/blog/gen_index/gen_index4.png" /></a></p>
<p>From there it’s fairly simple to pass the array through Paul Donnelly’s routine and adjust the numbering (as in my pipe). And from there I’ll leave it to your ingenuity to use the &quot;yindex&quot; element to create URLs.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hapdaniel.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hapdaniel.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hapdaniel.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hapdaniel.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hapdaniel.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hapdaniel.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hapdaniel.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hapdaniel.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hapdaniel.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hapdaniel.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hapdaniel.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hapdaniel.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hapdaniel.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hapdaniel.wordpress.com/41/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hapdaniel.wordpress.com&amp;blog=959901&amp;post=41&amp;subd=hapdaniel&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hapdaniel.wordpress.com/2010/11/22/generating-indexed-items/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/11ee47023bda2d4488032d8fb1fb8f29?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">hapdaniel</media:title>
		</media:content>

		<media:content url="http://www.hapdaniel.pwp.blueyonder.co.uk/pdaniel/blog/gen_index/gen_index1.png" medium="image" />

		<media:content url="http://hapdaniel.pwp.blueyonder.co.uk/pdaniel/blog/gen_index/gen_index2.png" medium="image" />

		<media:content url="http://hapdaniel.pwp.blueyonder.co.uk/pdaniel/blog/gen_index/gen_index3.png" medium="image" />

		<media:content url="http://hapdaniel.pwp.blueyonder.co.uk/pdaniel/blog/gen_index/gen_index4.png" medium="image" />
	</item>
		<item>
		<title>Pipes and the new Twitter id format</title>
		<link>http://hapdaniel.wordpress.com/2010/10/20/pipes-and-the-new-twitter-id-format/</link>
		<comments>http://hapdaniel.wordpress.com/2010/10/20/pipes-and-the-new-twitter-id-format/#comments</comments>
		<pubDate>Wed, 20 Oct 2010 19:34:21 +0000</pubDate>
		<dc:creator>hapdaniel</dc:creator>
				<category><![CDATA[Pipes]]></category>
		<category><![CDATA[Yahoo Pipes]]></category>

		<guid isPermaLink="false">https://hapdaniel.wordpress.com/?p=35</guid>
		<description><![CDATA[Twitter will soon be changing the format of the Tweet ID element. http://bit.ly/aZislf To see if this change would affect Pipes I set up a simple test Pipe. In the results from the test pipe the id element should have the same value as the id_str element. This is obviously not the case. At this [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hapdaniel.wordpress.com&amp;blog=959901&amp;post=35&amp;subd=hapdaniel&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Twitter will soon be changing the format of the Tweet ID element.    <br /><a title="http://bit.ly/aZislf" href="http://bit.ly/aZislf">http://bit.ly/aZislf</a></p>
<p>To see if this change would affect Pipes I set up a simple <a href="http://pipes.yahoo.com/pipes/pipe.edit?_id=d6404f0b9407423e42f1c35274620956" target="_blank">test Pipe</a>.</p>
<p><img alt="http://hapdaniel.pwp.blueyonder.co.uk/pdaniel/blog/twitter_id/pipes_test_result.png" src="http://hapdaniel.pwp.blueyonder.co.uk/pdaniel/blog/twitter_id/pipes_test_result.png" /></p>
<p>In the results from the test pipe the id element should have the same value as the id_str element. This is obviously not the case.</p>
<p>At this stage it’s not clear whether or not the Pipes team can/will make changes to correct the id value, so at this stage the options are:</p>
<ol>
<li>Wait and see what happens.</li>
<li>Change your pipes to use the string version of the id.</li>
</ol>
<p>The important dates for the id change are</p>
<ol>
<li>October 22 – String versions of the id start appearing (whatever that might mean).</li>
<li>November 4 – Ids will increase to ~41 bits.</li>
<li>November 26 – Ids are increased to the full 64 bits.</li>
</ol>
<p>Oh, and as for YQL</p>
<p><img alt="http://hapdaniel.pwp.blueyonder.co.uk/pdaniel/blog/twitter_id/yql_test_result.png" src="http://hapdaniel.pwp.blueyonder.co.uk/pdaniel/blog/twitter_id/yql_test_result.png" /></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hapdaniel.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hapdaniel.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hapdaniel.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hapdaniel.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hapdaniel.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hapdaniel.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hapdaniel.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hapdaniel.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hapdaniel.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hapdaniel.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hapdaniel.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hapdaniel.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hapdaniel.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hapdaniel.wordpress.com/35/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hapdaniel.wordpress.com&amp;blog=959901&amp;post=35&amp;subd=hapdaniel&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hapdaniel.wordpress.com/2010/10/20/pipes-and-the-new-twitter-id-format/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/11ee47023bda2d4488032d8fb1fb8f29?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">hapdaniel</media:title>
		</media:content>

		<media:content url="http://hapdaniel.pwp.blueyonder.co.uk/pdaniel/blog/twitter_id/pipes_test_result.png" medium="image">
			<media:title type="html">http://hapdaniel.pwp.blueyonder.co.uk/pdaniel/blog/twitter_id/pipes_test_result.png</media:title>
		</media:content>

		<media:content url="http://hapdaniel.pwp.blueyonder.co.uk/pdaniel/blog/twitter_id/yql_test_result.png" medium="image">
			<media:title type="html">http://hapdaniel.pwp.blueyonder.co.uk/pdaniel/blog/twitter_id/yql_test_result.png</media:title>
		</media:content>
	</item>
		<item>
		<title>The YQL module and JSON output</title>
		<link>http://hapdaniel.wordpress.com/2010/05/19/the-yql-module-and-json-output/</link>
		<comments>http://hapdaniel.wordpress.com/2010/05/19/the-yql-module-and-json-output/#comments</comments>
		<pubDate>Wed, 19 May 2010 20:21:28 +0000</pubDate>
		<dc:creator>hapdaniel</dc:creator>
				<category><![CDATA[Pipes]]></category>
		<category><![CDATA[Yahoo Pipes]]></category>

		<guid isPermaLink="false">https://hapdaniel.wordpress.com/2010/05/19/the-yql-module-and-json-output/</guid>
		<description><![CDATA[YQL has certain problems with JSON output, and these problems can be reflected in the output of the YQL module in Pipes (which uses the YQL JSON output). These problems can sometimes be avoided by using a YQL query via a Fetch Data module. Here&#8217;s an example pipe that show the difference. &#160; Here are [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hapdaniel.wordpress.com&amp;blog=959901&amp;post=34&amp;subd=hapdaniel&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>YQL has certain problems with JSON output, and these problems can be reflected in the output of the YQL module in Pipes (which uses the YQL JSON output). These problems can sometimes be avoided by using a YQL query via a Fetch Data module.</p>
<p>Here&#8217;s <a href="http://pipes.yahoo.com/pipes/pipe.edit?_id=f213854826496cbf9f96555bd4a346e2" target="_blank">an example pipe</a> that show the difference.</p>
<p>&#160; <a href="http://pdaniel.co.uk/blog/yql_diffs/yql_diffs1.png" target="_blank"><img src="http://pdaniel.co.uk/blog/yql_diffs/yql_diffs1.png" /></a> </p>
<p>Here are some details of the first item obtained using the Fetch Data module.</p>
<p>&#160; <a href="http://pdaniel.co.uk/blog/yql_diffs/yql_diffs2.png" target="_blank"><img src="http://www.pdaniel.co.uk/blog/yql_diffs/yql_diffs2.png" /></a></p>
<p>What we get using the YQL module is</p>
<p><a href="http://pdaniel.co.uk/blog/yql_diffs/yql_diffs3.png" target="_blank"><img src="http://pdaniel.co.uk/blog/yql_diffs/yql_diffs3.png" /> </a></p>
<p>As you can see, we have lost the content from the &quot;content&quot; element.</p>
<p>We can see that this is not an issue with Pipes by looking at a comparison between the XML and JSON output in the YQL console.</p>
<p>The XML output gives us</p>
<p><a href="http://pdaniel.co.uk/blog/yql_diffs/yql_diffs4.png" target="_blank"><img src="http://pdaniel.co.uk/blog/yql_diffs/yql_diffs4.png" /></a> </p>
<p>while the JSON output gives us</p>
<p>&#160;<a href="http://pdaniel.co.uk/blog/yql_diffs/yql_diffs5.png" target="_blank"><img src="http://pdaniel.co.uk/blog/yql_diffs/yql_diffs5.png" width="450" height="215" /></a></p>
<p>My preference is to go with the Fetch Data module from the beginning.</p>
<p>Update: The issue for this feed has now been fixed. I&#8217;m still staying with my preferred approach</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hapdaniel.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hapdaniel.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hapdaniel.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hapdaniel.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hapdaniel.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hapdaniel.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hapdaniel.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hapdaniel.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hapdaniel.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hapdaniel.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hapdaniel.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hapdaniel.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hapdaniel.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hapdaniel.wordpress.com/34/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hapdaniel.wordpress.com&amp;blog=959901&amp;post=34&amp;subd=hapdaniel&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hapdaniel.wordpress.com/2010/05/19/the-yql-module-and-json-output/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/11ee47023bda2d4488032d8fb1fb8f29?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">hapdaniel</media:title>
		</media:content>

		<media:content url="http://pdaniel.co.uk/blog/yql_diffs/yql_diffs1.png" medium="image" />

		<media:content url="http://www.pdaniel.co.uk/blog/yql_diffs/yql_diffs2.png" medium="image" />

		<media:content url="http://pdaniel.co.uk/blog/yql_diffs/yql_diffs3.png" medium="image" />

		<media:content url="http://pdaniel.co.uk/blog/yql_diffs/yql_diffs4.png" medium="image" />

		<media:content url="http://pdaniel.co.uk/blog/yql_diffs/yql_diffs5.png" medium="image" />
	</item>
		<item>
		<title>YQL Build 6122 and JSON changes</title>
		<link>http://hapdaniel.wordpress.com/2010/04/14/yql-build-6122-and-json-changes/</link>
		<comments>http://hapdaniel.wordpress.com/2010/04/14/yql-build-6122-and-json-changes/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 23:04:11 +0000</pubDate>
		<dc:creator>hapdaniel</dc:creator>
				<category><![CDATA[YQL]]></category>
		<category><![CDATA[Yahoo Pipes]]></category>

		<guid isPermaLink="false">http://hapdaniel.wordpress.com/2010/04/14/yql-build-6122-and-json-changes/</guid>
		<description><![CDATA[This is just a short note to say that a change in the new YQL build 6122 has meant that the use of JSON.stringify may no longer be required (as in open tables fail) in certain circumstances. I will be changing my pipe examples accordingly. You heard it here first. Or perhaps you didn&#8217;t. And [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hapdaniel.wordpress.com&amp;blog=959901&amp;post=33&amp;subd=hapdaniel&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This is just a short note to say that a change in the new YQL build 6122 has meant that the use of JSON.stringify may no longer be required (as in open tables fail) in certain circumstances. I will be changing my pipe examples accordingly.</p>
<p><strong><u>You heard it here first.</u></strong></p>
<p><font size="1">Or perhaps you didn&#8217;t.</font></p>
<p>And no, I don&#8217;t know the significance of this change beyond the fact that stuff that used to work doesn&#8217;t now without the removal of JSON.stringify.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hapdaniel.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hapdaniel.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hapdaniel.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hapdaniel.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hapdaniel.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hapdaniel.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hapdaniel.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hapdaniel.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hapdaniel.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hapdaniel.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hapdaniel.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hapdaniel.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hapdaniel.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hapdaniel.wordpress.com/33/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hapdaniel.wordpress.com&amp;blog=959901&amp;post=33&amp;subd=hapdaniel&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hapdaniel.wordpress.com/2010/04/14/yql-build-6122-and-json-changes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/11ee47023bda2d4488032d8fb1fb8f29?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">hapdaniel</media:title>
		</media:content>
	</item>
		<item>
		<title>Google spreadsheets as feed stores</title>
		<link>http://hapdaniel.wordpress.com/2009/09/18/google-spreadsheets-as-feed-stores/</link>
		<comments>http://hapdaniel.wordpress.com/2009/09/18/google-spreadsheets-as-feed-stores/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 20:39:51 +0000</pubDate>
		<dc:creator>hapdaniel</dc:creator>
				<category><![CDATA[Pipes]]></category>
		<category><![CDATA[Yahoo Pipes]]></category>

		<guid isPermaLink="false">http://hapdaniel.wordpress.com/2009/09/18/google-spreadsheets-as-feed-stores/</guid>
		<description><![CDATA[There&#8217;s nothing new about this idea, but I wanted to be able to point people to a set-by-step guide to using a Google spreadsheet to store feed URLs and associated data for a pipe. I do, however, assume that you have a Google account and know how to generally use Google spreadsheets. So let&#8217;s start [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hapdaniel.wordpress.com&amp;blog=959901&amp;post=32&amp;subd=hapdaniel&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s nothing new about this idea, but I wanted to be able to point people to a set-by-step guide to using a Google spreadsheet to store feed URLs and associated data for a pipe. I do, however, assume that you have a Google account and know how to generally use Google spreadsheets.</p>
<p>So let&#8217;s start with a spreadsheet that I&#8217;ve already set up.</p>
<p><a href="http://pdaniel.co.uk/blog/gspread/gspread1.png" target="_blank"><img src="http://pdaniel.co.uk/blog/gspread/gspread1.png" /></a> </p>
<p>Column A holds the feed URL, column B holds a prefix I want to use on each item title and column C holds the number of items I want to retrieve from each feed. Each column has a title.</p>
<p>Having set the data up I need to share the spreadsheet, as it&#8217;s the sharing that will enable me to use a URL for this spreadsheet in Pipes.</p>
<p><a href="http://pdaniel.co.uk/blog/gspread/gspread2.png" target="_blank"><img src="http://pdaniel.co.uk/blog/gspread/gspread2.png" /></a> </p>
<p>The Share menu is in the top right-hand section of the spreadsheet page, and the option I want is &quot;Publish as a web page&quot;, which gives a new window. In the top half of the window there are sheet options.</p>
<p><a href="http://pdaniel.co.uk/blog/gspread/gspread3.png" target="_blank"><img src="http://pdaniel.co.uk/blog/gspread/gspread3.png" /></a> </p>
<p>I have a choice between sharing all sheets or just sheet 1, and between having the link to the sheet automatically reflect changes or not. I chose the options you can see above. The next step is click on &quot;Start publishing&quot;. This makes available in the bottom half of this window various link options.</p>
<p><img src="http://pdaniel.co.uk/blog/gspread/gspread4.png" /> </p>
<p>From among the various format options available, Web Page, Atom, RSS etc., I&#8217;ve chosen the CSV option, which will enable me to use the Fetch CSV module in Pipes. I could have chosen the RSS or Atom options, in which case I would have used a Fetch Feed module. And finally I have the URL I need to use in the CSV module. <a href="http://spreadsheets.google.com/ccc?key=rRN-n5p4__OUH6zHBGCo-2w" target="_blank">Here&#8217;s</a> the link to the spreadsheet itself. In order for you to be able to follow that link I had to select the &quot;Get the link to share&quot; option as seen in the Share menu above, and then select the option to allow anyone who had the link to view the sheet.</p>
<p>In Pipes I&#8217;ll need to use 2 pipes, a main pipe and a sub-pipe. The sub-pipe that will do most of the work. </p>
<h6></h6>
<h6></h6>
<h5>The main pipe</h5>
<p>The <a href="http://pipes.yahoo.com/pipes/pipe.edit?_id=Ava2zf1U3hGDQdgA6ycw5g" target="_blank">main pipe</a> consists of a Fetch CSV module, a sub-pipe in a Loop and the Pipe Output module. The only thing I&#8217;ve done with the Fetch CSV is to add the URL.</p>
<p><a href="http://pdaniel.co.uk/blog/gspread/gspread5.png" target="_blank"><img src="http://pdaniel.co.uk/blog/gspread/gspread5.png" /></a> </p>
<p>And the output from that module looks like:</p>
<p><a href="http://pdaniel.co.uk/blog/gspread/gspread6.png" target="_blank"><img src="http://pdaniel.co.uk/blog/gspread/gspread6.png" /></a> </p>
<p>The column names in the spreadsheet become element names in the Fetch CSV output. Because of that don&#8217;t use column names in the spreadsheet that contain spaces or &#8216;odd&#8217; characters such as percent signs. Pipes won&#8217;t like it and you won&#8217;t be able to reference the element in the rest of the pipe. So what would the output have looked like if the RSS or Atom feeds for the spreadsheet? Here&#8217;s the RSS output.</p>
<p><a href="http://pdaniel.co.uk/blog/gspread/gspread7.png" target="_blank"><img src="http://pdaniel.co.uk/blog/gspread/gspread7.png" /></a> </p>
<p>The title element comes from the first column in the spreadsheet and subsequent columns are combined into the description element.</p>
<p>In the Loop and sub-pipe module I can select the relevant elements to be passed to the sub-pipe.</p>
<p><a href="http://pdaniel.co.uk/blog/gspread/gspread8.png" target="_blank"><img src="http://pdaniel.co.uk/blog/gspread/gspread8.png" /></a> </p>
<p>In order to get the sub-pipe module into the Loop I dragged it from the &quot;My pipes&quot; section of the sidebar into a Loop that was already on the canvas.</p>
<h5>The sub-pipe</h5>
<p><a href="http://pdaniel.co.uk/blog/gspread/gspread9.png" target="_blank"><img src="http://pdaniel.co.uk/blog/gspread/gspread9.png" /></a> </p>
<p><a href="http://pipes.yahoo.com/pipes/pipe.edit?_id=DkDvif5U3hGvmtUM6ycw5g" target="_blank">Here</a> I have a URL Input providing the feed URL for a Fetch Feed module, a Text Input and a String Regex module to provide the prefix value created in a Regex module, and a Number Input providing the value for a Truncate module.</p>
<p>So there it is. I did have a rather wordy section about the advantages of this approach, but I&#8217;m going to leave that for a later date.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hapdaniel.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hapdaniel.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hapdaniel.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hapdaniel.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hapdaniel.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hapdaniel.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hapdaniel.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hapdaniel.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hapdaniel.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hapdaniel.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hapdaniel.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hapdaniel.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hapdaniel.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hapdaniel.wordpress.com/32/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hapdaniel.wordpress.com&amp;blog=959901&amp;post=32&amp;subd=hapdaniel&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hapdaniel.wordpress.com/2009/09/18/google-spreadsheets-as-feed-stores/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/11ee47023bda2d4488032d8fb1fb8f29?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">hapdaniel</media:title>
		</media:content>

		<media:content url="http://pdaniel.co.uk/blog/gspread/gspread1.png" medium="image" />

		<media:content url="http://pdaniel.co.uk/blog/gspread/gspread2.png" medium="image" />

		<media:content url="http://pdaniel.co.uk/blog/gspread/gspread3.png" medium="image" />

		<media:content url="http://pdaniel.co.uk/blog/gspread/gspread4.png" medium="image" />

		<media:content url="http://pdaniel.co.uk/blog/gspread/gspread5.png" medium="image" />

		<media:content url="http://pdaniel.co.uk/blog/gspread/gspread6.png" medium="image" />

		<media:content url="http://pdaniel.co.uk/blog/gspread/gspread7.png" medium="image" />

		<media:content url="http://pdaniel.co.uk/blog/gspread/gspread8.png" medium="image" />

		<media:content url="http://pdaniel.co.uk/blog/gspread/gspread9.png" medium="image" />
	</item>
		<item>
		<title>Global replacement using YQL</title>
		<link>http://hapdaniel.wordpress.com/2009/08/04/global-replacement-using-yql/</link>
		<comments>http://hapdaniel.wordpress.com/2009/08/04/global-replacement-using-yql/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 14:13:44 +0000</pubDate>
		<dc:creator>hapdaniel</dc:creator>
				<category><![CDATA[Pipes]]></category>
		<category><![CDATA[Yahoo Pipes]]></category>

		<guid isPermaLink="false">http://hapdaniel.wordpress.com/2009/08/04/global-replacement-using-yql/</guid>
		<description><![CDATA[Have a look at his Regex module. The purpose of the rule is to take each @user and around the name build a link for the user&#8217;s Twitter page. The description before the Regex is the same as can be seen in the title element. Unfortunately, once the first user name has been captured that [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hapdaniel.wordpress.com&amp;blog=959901&amp;post=31&amp;subd=hapdaniel&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Have a look at his Regex module.</p>
<p><a href="http://pdaniel.co.uk/blog/glob_rep/glob_rep1.png" target="_blank"><img src="http://pdaniel.co.uk/blog/glob_rep/glob_rep1.png" /></a> </p>
<p><a href="http://pdaniel.co.uk/blog/glob_rep/glob_rep2.png" target="_blank"><img src="http://pdaniel.co.uk/blog/glob_rep/glob_rep2.png" /></a> </p>
<p>The purpose of the rule is to take each @user and around the name build a link for the user&#8217;s Twitter page. The description before the Regex is the same as can be seen in the title element. Unfortunately, once the first user name has been captured that name is used in all of the replacements.</p>
<p>It&#8217;s the sort of functionality that many Pipes users want, but it&#8217;s just never been implemented in Pipes. However, with the help of YQL we can carry out global replacements. I&#8217;ll show 2 very similar ways of achieving this, both of which require the use of YQL Execute. I won&#8217;t go into any detail about the inner workings of the Execute statements, but there is <a href="http://blog.pipes.yahoo.net/2009/06/01/using-yql-execute-to-power-the-pipes-webservice-module/" target="_blank">an example</a> of the approach on the Pipes blog. The images are taken from <a href="http://pipes.yahoo.com/pipes/pipe.edit?_id=SlsVaGFf3hGaZnoY4YU4Yg" target="_blank">a pipe</a> that implements both methods (as well as the unsuccessful Regex rule).</p>
<p>In the first method I use a URL Builder to build a URL which can be fed into the Web Service module.</p>
<p><a href="http://pdaniel.co.uk/blog/glob_rep/glob_rep3.png" target="_blank"><img src="http://pdaniel.co.uk/blog/glob_rep/glob_rep3.png" /></a> </p>
<p><a href="http://pdaniel.co.uk/blog/glob_rep/glob_rep4.png" target="_blank"><img src="http://pdaniel.co.uk/blog/glob_rep/glob_rep4.png" /></a> </p>
</p>
<p>The Base and Path are both the same as the Pipes example, and the q parameter has a similar structure to the Pipes example: a use statement followed by a select statement. The format has to be json, but the diagnostics can be set to &quot;true&quot; (the path in the Web Service will need to be removed in order to see the diagnostics). The regex and replace_with values are the same as those used in the Regex module shown above. The modifiers parameter takes the place of the switches in the Regex module. Instead of specifying an element on which the regex to be used, the value of the relevant element needs to be copied to an element called &quot;yql_string&quot;, and the results of the regex will be returned in this element.</p>
<p>Depending on the data that has been passed to the Web Service some of the elements may need to have escape, &quot;\&quot;, characters removed. Check elements that&#160; are likely to have quotation marks, HTML tags or control characters.</p>
<p><a href="http://pdaniel.co.uk/blog/glob_rep/glob_rep5.png" target="_blank"><img src="http://pdaniel.co.uk/blog/glob_rep/glob_rep5.png" /></a> </p>
<p>The second method is very similar to the first, but uses a Fetch Data module instead of a Web Service. The URL Builder is the same apart from the addition of a new &quot;text&quot; parameter.</p>
<p><a href="http://pdaniel.co.uk/blog/glob_rep/glob_rep6.png" target="_blank"><img src="http://pdaniel.co.uk/blog/glob_rep/glob_rep6.png" /></a> </p>
<p> The Fetch Data module has the path set to results.result.</p>
<p><a href="http://pdaniel.co.uk/blog/glob_rep/glob_rep7.png" target="_blank"><img src="http://pdaniel.co.uk/blog/glob_rep/glob_rep7.png" /></a> </p>
<p>Because XML and not JSON is being returned there is no escaping issue. However, there is a limit to the length of the text that can be passed, due to the parameters being part of the HTTP request made to YQL.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hapdaniel.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hapdaniel.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hapdaniel.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hapdaniel.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hapdaniel.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hapdaniel.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hapdaniel.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hapdaniel.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hapdaniel.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hapdaniel.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hapdaniel.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hapdaniel.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hapdaniel.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hapdaniel.wordpress.com/31/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hapdaniel.wordpress.com&amp;blog=959901&amp;post=31&amp;subd=hapdaniel&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hapdaniel.wordpress.com/2009/08/04/global-replacement-using-yql/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/11ee47023bda2d4488032d8fb1fb8f29?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">hapdaniel</media:title>
		</media:content>

		<media:content url="http://pdaniel.co.uk/blog/glob_rep/glob_rep1.png" medium="image" />

		<media:content url="http://pdaniel.co.uk/blog/glob_rep/glob_rep2.png" medium="image" />

		<media:content url="http://pdaniel.co.uk/blog/glob_rep/glob_rep3.png" medium="image" />

		<media:content url="http://pdaniel.co.uk/blog/glob_rep/glob_rep4.png" medium="image" />

		<media:content url="http://pdaniel.co.uk/blog/glob_rep/glob_rep5.png" medium="image" />

		<media:content url="http://pdaniel.co.uk/blog/glob_rep/glob_rep6.png" medium="image" />

		<media:content url="http://pdaniel.co.uk/blog/glob_rep/glob_rep7.png" medium="image" />
	</item>
		<item>
		<title>Passing complex elements to sub-pipes</title>
		<link>http://hapdaniel.wordpress.com/2009/06/15/passing-complex-elements-to-sub-pipes/</link>
		<comments>http://hapdaniel.wordpress.com/2009/06/15/passing-complex-elements-to-sub-pipes/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 19:16:15 +0000</pubDate>
		<dc:creator>hapdaniel</dc:creator>
				<category><![CDATA[Pipes]]></category>
		<category><![CDATA[Yahoo Pipes]]></category>

		<guid isPermaLink="false">http://hapdaniel.wordpress.com/2009/06/15/passing-complex-elements-to-sub-pipes/</guid>
		<description><![CDATA[I have 2 warnings here. The first warning is that, as far as I know, this technique is completely unsupported. It became possible as a by-product of the change the Pipes team made to allow users to enter their own values into drop-down boxes. The second warning, and this is a general one for passing [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hapdaniel.wordpress.com&amp;blog=959901&amp;post=23&amp;subd=hapdaniel&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have 2 warnings here. The first warning is that, as far as I know, this technique is completely unsupported. It became possible as a by-product of the change the Pipes team made to allow users to enter their own values into drop-down boxes. The second warning, and this is a general one for passing any data to a sub-pipe, is that there is a limit of about 2,000 characters that can be passed to a sub-pipe.</p>
<p>So what am I talking about? I&#8217;m calling an element &quot;complex&quot; if it has one or more sub-elements.</p>
<p><a href="http://pdaniel.co.uk/blog/comp_sub/comp_sub1.png" target="_blank"><img src="http://pdaniel.co.uk/blog/comp_sub/comp_sub1.png" /></a> </p>
<p>Sio let&#8217;s have a look at some pipes. In the main pipe I&#8217;m using 2 Item Builders and a Union. Normally there would be some sort of Fetch module instead.</p>
<p><a href="http://pdaniel.co.uk/blog/comp_sub/comp_sub2.png" target="_blank"><img src="http://pdaniel.co.uk/blog/comp_sub/comp_sub2.png" /></a> </p>
<p>I&#8217;m passing item.stuff to the sub-pipe.</p>
<p><a href="http://pdaniel.co.uk/blog/comp_sub/comp_sub3.png" target="_blank"><img src="http://pdaniel.co.uk/blog/comp_sub/comp_sub3.png" /></a> </p>
<p>Let&#8217;s start with the simplest possible sub-pipe for this situation.</p>
<p><a href="http://pdaniel.co.uk/blog/comp_sub/comp_sub4.png" target="_blank"><img src="http://pdaniel.co.uk/blog/comp_sub/comp_sub4.png" /></a> </p>
<p>Notice that there are no default or debug values in the Text Input. I haven&#8217;t the least idea what this complex element is going to look like to the Text Input module. This makes things tricky, because I&#8217;m just going to have to assume that I get things right in the sub-pipe and wait until I&#8217;m back in the main pipe to check if everything&#8217;s working as expected. I&#8217;ve used the element name &quot;stuff&quot; in the Item Builder. I could have used any name, but I&#8217;ve found that it makes things simpler to use the same name as that of the element being passed to the sub-pipe.</p>
<p>Back in the main pipe we can now have a look at the result of all this.</p>
<p><a href="http://pdaniel.co.uk/blog/comp_sub/comp_sub5.png" target="_blank"><img src="http://pdaniel.co.uk/blog/comp_sub/comp_sub5.png" /></a> </p>
<p>The output of the Loop has returned, within the item.result element, a copy of the original stuff element. So far so useless. So let&#8217;s set about trying to do something useful. Let&#8217;s say I want to filter items to permit only items where a stuff.category element contains &quot;Robots&quot;. Here&#8217;s an attempt at this without trying to use a sub-pipe.</p>
<p><a href="http://pdaniel.co.uk/blog/comp_sub/comp_sub6.png" target="_blank"><img src="http://pdaniel.co.uk/blog/comp_sub/comp_sub6.png" /></a> </p>
<p>There&#8217;s a Split module, and then in the right-hand path I use a Sub-element module to get the category sub-elements as items, filter on my key word and produce a count of the accepted items.</p>
<p><a href="http://pdaniel.co.uk/blog/comp_sub/comp_sub7.png" target="_blank"><img src="http://pdaniel.co.uk/blog/comp_sub/comp_sub7.png" /></a> </p>
<p>In the left-hand path I use a Regex module to get the Count value from the right path and then filter the items based on that value. Now all this would be great if my mission was to accept <strong>all</strong> items if any of the categories for <strong>any</strong> of the items contained the key word, but that&#8217;s not the aim. The problem here is that the sub-element is working at the feed level, so on all the items at once, while I need something that will work on the category values for each item. The purpose of this charade is that I can compare how things would look if I used the sub-pipe approach.</p>
<p><a href="http://pdaniel.co.uk/blog/comp_sub/comp_sub8.png" target="_blank"><img src="http://pdaniel.co.uk/blog/comp_sub/comp_sub8.png" /></a> </p>
<p>The Split and Regex in <a href="http://pipes.yahoo.com/pipes/pipe.edit?_id=MugiHthV3hGpPGrTwjSbTQ" target="_blank">the sub-pipe</a> are just there as mechanisms for getting the count value out of the pipe, since the Count module cannot be directly connected to the Pipe Output module. In <a href="http://pipes.yahoo.com/pipes/pipe.edit?_id=aFrb9NdV3hGjwFb6bLsjiw" target="_blank">the main pipe</a> there is a Filter module to filter where the value of item.result.count is greater than 0. As I hope you can see, if you keep the name of the element in the sub-pipe the same as the name of the element passed from the main pipe, it&#8217;s not too difficult to work out what is needed at the level of the main pipe and then apply that inside the sub-pipe.</p>
<p>If I hadn&#8217;t wanted to show a comparison between processing in the main and sub-pipes I would probably have not used a Count in the sub-pipe, but rather used a Truncate module, to 1, after the Filter and connected that to the Pipe Output. In the main pipe I would have set the Filter to permit items where result.content matched the regex &quot;^(?=.)&quot;, that is, result.content existed at all (by containing a character).</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hapdaniel.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hapdaniel.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hapdaniel.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hapdaniel.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hapdaniel.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hapdaniel.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hapdaniel.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hapdaniel.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hapdaniel.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hapdaniel.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hapdaniel.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hapdaniel.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hapdaniel.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hapdaniel.wordpress.com/23/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hapdaniel.wordpress.com&amp;blog=959901&amp;post=23&amp;subd=hapdaniel&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hapdaniel.wordpress.com/2009/06/15/passing-complex-elements-to-sub-pipes/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/11ee47023bda2d4488032d8fb1fb8f29?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">hapdaniel</media:title>
		</media:content>

		<media:content url="http://pdaniel.co.uk/blog/comp_sub/comp_sub1.png" medium="image" />

		<media:content url="http://pdaniel.co.uk/blog/comp_sub/comp_sub2.png" medium="image" />

		<media:content url="http://pdaniel.co.uk/blog/comp_sub/comp_sub3.png" medium="image" />

		<media:content url="http://pdaniel.co.uk/blog/comp_sub/comp_sub4.png" medium="image" />

		<media:content url="http://pdaniel.co.uk/blog/comp_sub/comp_sub5.png" medium="image" />

		<media:content url="http://pdaniel.co.uk/blog/comp_sub/comp_sub6.png" medium="image" />

		<media:content url="http://pdaniel.co.uk/blog/comp_sub/comp_sub7.png" medium="image" />

		<media:content url="http://pdaniel.co.uk/blog/comp_sub/comp_sub8.png" medium="image" />
	</item>
		<item>
		<title>Concatenation revisited</title>
		<link>http://hapdaniel.wordpress.com/2009/06/05/concatenation-revisited/</link>
		<comments>http://hapdaniel.wordpress.com/2009/06/05/concatenation-revisited/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 13:16:37 +0000</pubDate>
		<dc:creator>hapdaniel</dc:creator>
				<category><![CDATA[Pipes]]></category>
		<category><![CDATA[Yahoo Pipes]]></category>

		<guid isPermaLink="false">http://hapdaniel.wordpress.com/2009/06/05/concatenation-revisited/</guid>
		<description><![CDATA[Now that Paul Donnelly has shown us the way, let’s look at another way to concatenate elements from items that uses YQL and the Web Service module. This pipe starts off in the same way as the pipe in my previous post on concatenation, with a URL Input, an Item Builder and a Fetch Feed [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hapdaniel.wordpress.com&amp;blog=959901&amp;post=20&amp;subd=hapdaniel&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Now that Paul Donnelly has shown us <a title="Pipes Blog" href="http://blog.pipes.yahoo.net/2009/06/01/using-yql-execute-to-power-the-pipes-webservice-module/" target="_blank">the way</a>, let’s look at another way to concatenate elements from items that uses YQL and the Web Service module.</p>
<p><a href="http://pdaniel.co.uk/blog/concat_rev/concat_rev1.png" target="_blank"><img src="http://pdaniel.co.uk/blog/concat_rev/concat_rev1.png" alt="" /></a></p>
<p><a href="http://pipes.yahoo.com/pipes/pipe.edit?_id=e1e8ba13ccd419f36658c5acc6057228" target="_blank">This pipe</a> starts off in the same way as the pipe in my <a href="http://hapdaniel.wordpress.com/2009/05/20/concatenating-items-in-a-feed/" target="_blank">previous post</a> on concatenation, with a URL Input, an Item Builder and a Fetch Feed in a Loop.</p>
<p><a href="http://pdaniel.co.uk/blog/concat_rev/concat_rev2.png" target="_blank"><img src="http://pdaniel.co.uk/blog/concat_rev/concat_rev2.png" alt="" /></a></p>
<p>Here we use Rename to make a copy of the items (in item.stuff) to an element yql_array. That&#8217;s a specific name that will be used by the YQL web service. On the right is a URL Builder with the elements:</p>
<ul>
<li>Base &#8211; <a title="http://query.yahooapis.com" href="http://query.yahooapis.com">http://query.yahooapis.com</a></li>
<li>Path &#8211; v1/public/yql</li>
<li>Parameters
<ul>
<li>q &#8211; use <a href="http://pdaniel.co.uk/yql/array_concat.xml">http://pdaniel.co.uk/yql/array_concat.xml</a> as array_concat; select * from array_concat where data = @data and delim=@delim and <a href="mailto:ele=@ele">ele=@ele</a><br />
This is the YQL statement at the heart of this method. The use clause links to a YQL open data table with an  Execute clause in it, and gives that table a name of array_concat. The select clause is going to pass values for &#8220;data&#8221;, &#8220;delim&#8221; and &#8220;ele&#8221; to the open table. The values for these are specified using <a href="http://jonathantrevor.net/?p=45" target="_blank">YQL variable substitution</a>. It looks like the @data substitution is special, since we ourselves don&#8217;t supply a value for it.</li>
<li>format – json. That&#8217;s the format the Web Service uses.</li>
<li>diagnostics – If you&#8217;re having problems with a YQL statement you can set this to &#8220;true&#8221; and get diagnostic information.</li>
<li>delim – One of the @ variables that were used. The delim value is a separator for each of the elements we&#8217;re going to collect.</li>
<li>ele – the element name. In this case we&#8217;re concatenating title elements.</li>
</ul>
</li>
</ul>
<p>In the Web Service module the path is set to query.results.result.items.</p>
<p><a href="http://pdaniel.co.uk/blog/concat_rev/concat_rev3.png" target="_blank"><img src="http://pdaniel.co.uk/blog/concat_rev/concat_rev3.png" alt="" /></a></p>
<p>The result of the concatenation is always returned in the yql_array_string element. The rest of the pipe then works on that string to produce the desired output.</p>
<p>This approach isn&#8217;t just limited to working on whole items as we can use it to concatenate array elements within an item. In <a href="http://pipes.yahoo.com/pipes/pipe.edit?_id=ekCvP4FP3hGiwNB03rVd_w" target="_blank">this pipe</a>, for instance, category values within an item are being concatenated. This is how the data looks to start with:</p>
<p><img src="http://pdaniel.co.uk/blog/concat_rev/concat_rev4.png" alt="" /></p>
<p>In the Rename module we have</p>
<p><img src="http://pdaniel.co.uk/blog/concat_rev/concat_rev5.png" alt="" /></p>
<p>and in the URL Builder we have</p>
<p><a href="http://pdaniel.co.uk/blog/concat_rev/concat_rev6.png" target="_blank"><img src="http://pdaniel.co.uk/blog/concat_rev/concat_rev6.png" alt="" /></a></p>
<p><strong>Update</strong>: 10th June. The ele parameter is now optional. This allows for arrays such as category.0, category.1 as well as category.0.title, category.1.title.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hapdaniel.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hapdaniel.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hapdaniel.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hapdaniel.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hapdaniel.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hapdaniel.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hapdaniel.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hapdaniel.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hapdaniel.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hapdaniel.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hapdaniel.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hapdaniel.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hapdaniel.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hapdaniel.wordpress.com/20/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hapdaniel.wordpress.com&amp;blog=959901&amp;post=20&amp;subd=hapdaniel&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hapdaniel.wordpress.com/2009/06/05/concatenation-revisited/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/11ee47023bda2d4488032d8fb1fb8f29?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">hapdaniel</media:title>
		</media:content>

		<media:content url="http://pdaniel.co.uk/blog/concat_rev/concat_rev1.png" medium="image" />

		<media:content url="http://pdaniel.co.uk/blog/concat_rev/concat_rev2.png" medium="image" />

		<media:content url="http://pdaniel.co.uk/blog/concat_rev/concat_rev3.png" medium="image" />

		<media:content url="http://pdaniel.co.uk/blog/concat_rev/concat_rev4.png" medium="image" />

		<media:content url="http://pdaniel.co.uk/blog/concat_rev/concat_rev5.png" medium="image" />

		<media:content url="http://pdaniel.co.uk/blog/concat_rev/concat_rev6.png" medium="image" />
	</item>
		<item>
		<title>Web page section headers in items</title>
		<link>http://hapdaniel.wordpress.com/2009/05/21/web-page-section-headers-in-items/</link>
		<comments>http://hapdaniel.wordpress.com/2009/05/21/web-page-section-headers-in-items/#comments</comments>
		<pubDate>Thu, 21 May 2009 14:14:22 +0000</pubDate>
		<dc:creator>hapdaniel</dc:creator>
				<category><![CDATA[Pipes]]></category>
		<category><![CDATA[Yahoo Pipes]]></category>

		<guid isPermaLink="false">http://hapdaniel.wordpress.com/2009/05/21/web-page-section-headers-in-items/</guid>
		<description><![CDATA[It’s quite common for a web page to be broken into sections with items appearing in each section. The best way that I’ve found to approach this situation is to firstly break the page into sections, and then break those sections into items. So let’s have a look at that process as seen in this [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hapdaniel.wordpress.com&amp;blog=959901&amp;post=16&amp;subd=hapdaniel&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It’s quite common for a web page to be broken into sections with items appearing in each section.</p>
<p><a href="http://www.hapdaniel.pwp.blueyonder.co.uk/pdaniel/ypipes/sections_example.html" target="_blank"><img src="http://www.pdaniel.co.uk/blog/sections/section1.png" /></a> </p>
<p>The best way that I’ve found to approach this situation is to firstly break the page into sections, and then break those sections into items. So let’s have a look at that process as seen in <a href="http://pipes.yahoo.com/pipes/pipe.edit?_id=6mqByEyy3RGGN1mh1JzWFw" target="_blank">this pipe</a>.</p>
<p><a href="http://www.pdaniel.co.uk/blog/sections/section2.png" target="_blank"><img src="http://www.pdaniel.co.uk/blog/sections/section2.png" /></a> </p>
<p>As we can see, the kind developer of this page has made it nice and easy for us to split the page into sections.</p>
<p><a href="http://www.pdaniel.co.uk/blog/sections/section3.png" target="_blank"><img src="http://www.pdaniel.co.uk/blog/sections/section3.png" /></a> </p>
<p>The first rule extracts the section name from the content and creates a pair of div tags. The div has a class attribute that should have a value that doesn’t appear anywhere else on the page. So in item.section we now have something like “&lt;div class=&quot;mysection&quot;&gt;Sports&lt;/div&gt;”. Next we need to find some portion of the html that occurs at least once for each item (and preferably only once). The html has to be exactly the same for each item. In this case we can identify “&lt;td class=&quot;subject&quot;” as a suitable target. So the second rule takes that string and globally prefixes it with the value in item.section. We now have the text of the section appearing in each item. Time to break out the items.</p>
<p><a href="http://pdaniel.co.uk/blog/sections/section5.png" target="_blank"><img src="http://pdaniel.co.uk/blog/sections/section5.png" /></a> </p>
<p>Nothing out of the ordinary here. Use a String Tokenizer to split up the items, and a Filter to get rid of any unwanted items. In this case the heading is going to be saved as a category element. So a Rename creates the category element.</p>
<p><a href="http://pdaniel.co.uk/blog/sections/section6.png" target="_blank"><img src="http://pdaniel.co.uk/blog/sections/section6.png" width="450" height="151" /></a> </p>
<p>We don’t want to be left with just the text of the heading at this stage, because we have some housekeeping to do, so the Regex rule leaves us with what we originally had in the section element, e.g. “&lt;div class=&quot;mysection&quot;&gt;Sports&lt;/div&gt;”. </p>
<p><a href="http://www.pdaniel.co.uk/blog/sections/section7.png" target="_blank"><img src="http://www.pdaniel.co.uk/blog/sections/section7.png" /></a> </p>
<p>Finally, as far as this post is concerned, we can use a String Replace to remove the div that was inserted, and a Regex to leave us with just the text of the heading. The housekeeping might not be strictly necessary, but it could make life easier for later on, since we can refer to the original content of the web page without having to remember that somewhere in there is some added markup.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hapdaniel.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hapdaniel.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hapdaniel.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hapdaniel.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hapdaniel.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hapdaniel.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hapdaniel.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hapdaniel.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hapdaniel.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hapdaniel.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hapdaniel.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hapdaniel.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hapdaniel.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hapdaniel.wordpress.com/16/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hapdaniel.wordpress.com&amp;blog=959901&amp;post=16&amp;subd=hapdaniel&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hapdaniel.wordpress.com/2009/05/21/web-page-section-headers-in-items/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/11ee47023bda2d4488032d8fb1fb8f29?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">hapdaniel</media:title>
		</media:content>

		<media:content url="http://www.pdaniel.co.uk/blog/sections/section1.png" medium="image" />

		<media:content url="http://www.pdaniel.co.uk/blog/sections/section2.png" medium="image" />

		<media:content url="http://www.pdaniel.co.uk/blog/sections/section3.png" medium="image" />

		<media:content url="http://pdaniel.co.uk/blog/sections/section5.png" medium="image" />

		<media:content url="http://pdaniel.co.uk/blog/sections/section6.png" medium="image" />

		<media:content url="http://www.pdaniel.co.uk/blog/sections/section7.png" medium="image" />
	</item>
		<item>
		<title>Concatenating items in a feed</title>
		<link>http://hapdaniel.wordpress.com/2009/05/20/concatenating-items-in-a-feed/</link>
		<comments>http://hapdaniel.wordpress.com/2009/05/20/concatenating-items-in-a-feed/#comments</comments>
		<pubDate>Wed, 20 May 2009 14:57:23 +0000</pubDate>
		<dc:creator>hapdaniel</dc:creator>
				<category><![CDATA[Pipes]]></category>
		<category><![CDATA[Yahoo Pipes]]></category>

		<guid isPermaLink="false">http://hapdaniel.wordpress.com/2009/05/20/concatenating-items-in-a-feed/</guid>
		<description><![CDATA[By which I mean lumping selected elements from all the items in a feed into a single item. A word of warning first. This technique involves using a string of numbers in the form “0,1,2,3”, where the highest number will be the maximum (-1) number of items  possible in the feed. If you’re looking to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hapdaniel.wordpress.com&amp;blog=959901&amp;post=14&amp;subd=hapdaniel&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>By which I mean lumping selected elements from all the items in a feed into a single item.</p>
<p>A word of warning first. This technique involves using a string of numbers in the form “0,1,2,3”, where the highest number will be the maximum (-1) number of items  possible in the feed. If you’re looking to lump together 50 items and aren’t willing to build the relevant string then this is not for you.</p>
<p>Let’s have a look at <a href="http://pipes.yahoo.com/pipes/pipe.edit?_id=9cf8785c8ac5f7c482acc20c8e1c75cf" target="_blank">my pipe</a> that does this.</p>
<p><a href="http://www.pdaniel.co.uk/blog/concat/concat1.png" target="_blank"><img src="http://www.pdaniel.co.uk/blog/concat/concat1.png" alt="" /></a></p>
<p>Here we have a URL Input module, an Item Builder a Fetch Data module in a Loop and a Split. The main thing to notice here is that in the normal run of things I could just have used a URL Input module and a Fetch Data, but what I want is for my items to appear as a sub-element array.</p>
<p><a href="http://www.pdaniel.co.uk/blog/concat/concat2.png" target="_blank"><img src="http://www.pdaniel.co.uk/blog/concat/concat2.png" alt="" /></a></p>
<p>If you want to have more than one element in the output, or you want to format the elements, then use a sub-pipe instead of my Fetch Data module to do that work.</p>
<p>Now let’s see what’s happening in the right-hand path of the Split.</p>
<p><a href="http://www.pdaniel.co.uk/blog/concat/concat3.png" target="_blank"><img src="http://www.pdaniel.co.uk/blog/concat/concat3.png" alt="" /></a></p>
<p>We need the Sub-element so that we can then use the Count to output the number of items in the feed. If we have 2 items then the String Regex converts that number to “,2.*”. This is where that string of numbers I mentioned earlier comes in.</p>
<p><a href="http://www.pdaniel.co.uk/blog/concat/concat4.png" target="_blank"><img src="http://www.pdaniel.co.uk/blog/concat/concat4.png" alt="" /></a></p>
<p>The first rule in this String Regex removes “,2” and everything after that, and the second rule wraps what is left inside “${stuff.” and “.title}”. Finally the String Replace replaces each of the commas with the string on the right. The outcome of all this is that we end up with a string like “${stuff.0.title}&lt;br&gt;${stuff.1.title}”. In case you weren’t aware, in the Regex module we can refer to elements of an item using $(element path excluding item.}. And now we can plug this into the Regex module in the left-hand path of the Split.</p>
<p><a href="http://www.pdaniel.co.uk/blog/concat/concat5.png" target="_blank"><img src="http://www.pdaniel.co.uk/blog/concat/concat5.png" alt="" /></a></p>
<p>The grand result of this is that I can show off the first 2 titles of my blog posts.</p>
<p><a href="http://www.pdaniel.co.uk/blog/concat/concat6.png" target="_blank"><img src="http://www.pdaniel.co.uk/blog/concat/concat6.png" alt="" /></a></p>
<p>I think that could be 3 titles fairly soon.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hapdaniel.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hapdaniel.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hapdaniel.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hapdaniel.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hapdaniel.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hapdaniel.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hapdaniel.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hapdaniel.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hapdaniel.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hapdaniel.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hapdaniel.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hapdaniel.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hapdaniel.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hapdaniel.wordpress.com/14/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hapdaniel.wordpress.com&amp;blog=959901&amp;post=14&amp;subd=hapdaniel&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hapdaniel.wordpress.com/2009/05/20/concatenating-items-in-a-feed/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/11ee47023bda2d4488032d8fb1fb8f29?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">hapdaniel</media:title>
		</media:content>

		<media:content url="http://www.pdaniel.co.uk/blog/concat/concat1.png" medium="image" />

		<media:content url="http://www.pdaniel.co.uk/blog/concat/concat2.png" medium="image" />

		<media:content url="http://www.pdaniel.co.uk/blog/concat/concat3.png" medium="image" />

		<media:content url="http://www.pdaniel.co.uk/blog/concat/concat4.png" medium="image" />

		<media:content url="http://www.pdaniel.co.uk/blog/concat/concat5.png" medium="image" />

		<media:content url="http://www.pdaniel.co.uk/blog/concat/concat6.png" medium="image" />
	</item>
	</channel>
</rss>
