<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     version="1.0">
<!-- copy 2004 Bob DuCharme no warranty expressed or implied. See
	  http://www.flickr.com/services/api/misc.api_keys.html to get your own
	  working API key.
 -->

  <xsl:param name="api_key">dummy_api_key</xsl:param>
  <xsl:param name="user_id">36221226@N00</xsl:param>

  <xsl:output indent="yes"/>
  <xsl:strip-space elements="*"/>

	 <xsl:template match="xsl:stylesheet">
		<flickrdata>
		  <sets>
			 <xsl:apply-templates select="document(concat('http://www.flickr.com/services/rest/?method=flickr.photosets.getList&amp;api_key=',$api_key,'&amp;user_id=',$user_id))"/>
		  </sets>

		  <pics>
			 <xsl:apply-templates select="document(concat('http://www.flickr.com/services/rest/?method=flickr.photos.search&amp;api_key=',$api_key,'&amp;user_id=',$user_id))"/>

		  </pics>

		</flickrdata>
	 </xsl:template>
	 
	 <!-- photosets/photoset returned by photosets.getList method -->
	 <xsl:template match="photosets/photoset">
	 <xsl:copy>
		<xsl:apply-templates select="@*|node()"/>
			 <xsl:apply-templates select="document(concat('http://www.flickr.com/services/rest/?method=flickr.photosets.getPhotos&amp;api_key=',$api_key,'&amp;photoset_id=',@id))"/>
	 </xsl:copy>
	 </xsl:template>

	 <!-- photo returned by photos.search method -->
	 <xsl:template match="photos/photo">
	 <xsl:copy>
		<xsl:apply-templates select="@*|node()"/>
			 <xsl:apply-templates select="document(concat('http://www.flickr.com/services/rest/?method=flickr.photos.getInfo&amp;api_key=',$api_key,'&amp;photo_id=',@id))"/>
	 </xsl:copy>
	 </xsl:template>

  <xsl:template match="@*|node()">
	 <xsl:copy>
		<xsl:apply-templates select="@*|node()"/>
	 </xsl:copy>
  </xsl:template>


  <!-- Just pass along contents:
- rsp wraps flickr responses
- rsp/photoset being output inside of a photoset element, so no need for redundant wrapper. -->
  <xsl:template match="rsp|rsp/photoset">
	 <xsl:apply-templates/>
  </xsl:template>


</xsl:stylesheet>
