<?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>littleforest &#187; XSL</title>
	<atom:link href="http://www.littleforest.co.uk/category/xsl/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.littleforest.co.uk</link>
	<description>The littleforest Weblog</description>
	<lastBuildDate>Fri, 05 Nov 2010 08:01:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>XSL:Sort by Date, Organise by Type</title>
		<link>http://www.littleforest.co.uk/articles/xsl-sort-by-date-organise-by-type/</link>
		<comments>http://www.littleforest.co.uk/articles/xsl-sort-by-date-organise-by-type/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 12:29:07 +0000</pubDate>
		<dc:creator>Michael Thomas</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[LiveSite]]></category>
		<category><![CDATA[XSL]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.littleforest.co.uk/?p=186</guid>
		<description><![CDATA[In this example, we have a collection of material which we want to make available to users: whitepapers, articles, tips etc.  We want to group these by material and show the relevant subheading when this changes, but avoid redisplaying the heading if it remains the same, say:
Whitepaper
&#8230;
&#8230;
Article
&#8230;
&#8230;
As per other examples, the key to doing this [...]]]></description>
		<wfw:commentRss>http://www.littleforest.co.uk/articles/xsl-sort-by-date-organise-by-type/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XSL:Sort  By Date, Limit Returned Results</title>
		<link>http://www.littleforest.co.uk/articles/xsl-basic-sort-by-date-restrict-results/</link>
		<comments>http://www.littleforest.co.uk/articles/xsl-basic-sort-by-date-restrict-results/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 11:27:04 +0000</pubDate>
		<dc:creator>Michael Thomas</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[XSL]]></category>
		<category><![CDATA[LiveSite]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.littleforest.co.uk/?p=185</guid>
		<description><![CDATA[In an accompanying article, a simple method to sort by date was introduced.
Normally it is desirable to limit the number of results shown.
There are various complex ways of doing this posted on other sites, the fundamental problem being that &#60;xsl:variable&#62; works as a constant in practice, i.e set only once.
Trying to implement a counter as [...]]]></description>
		<wfw:commentRss>http://www.littleforest.co.uk/articles/xsl-basic-sort-by-date-restrict-results/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XSL:Sort By Date</title>
		<link>http://www.littleforest.co.uk/articles/xsl-basic-sort-by-date/</link>
		<comments>http://www.littleforest.co.uk/articles/xsl-basic-sort-by-date/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 11:06:03 +0000</pubDate>
		<dc:creator>Michael Thomas</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[LiveSite]]></category>
		<category><![CDATA[XSL]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[xsl:sort]]></category>

		<guid isPermaLink="false">http://www.littleforest.co.uk/?p=184</guid>
		<description><![CDATA[The following  should do the work

&#60;xsl:apply-templates select=&#34;[some repeating datum]&#34;&#62;
&#60;xsl:sort order=&#34;descending&#34; select=&#34;substring(//somedate,7,4)&#34;&#62; &#60;!-- year--&#62;
&#60;xsl:sort order=&#34;descending&#34; select=&#34;substring(//somedate,4,2)&#34;&#62; &#60;!-- month--&#62;
&#60;xsl:sort order=&#34;descending&#34; select=&#34;substring(//somedate,1,2)&#34;&#62; &#60;!-- day--&#62;
&#60;/xsl:apply-templates&#62;

This assumes the date is in the form dd/mm/yyyy: the seperators could be different as they are ignored anyway based on the substring.
The important thing to realise here is that the &#60;xsl:sort&#62; functions do not [...]]]></description>
		<wfw:commentRss>http://www.littleforest.co.uk/articles/xsl-basic-sort-by-date/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XSL Extract File Suffix, Convert to Uppercase, Display</title>
		<link>http://www.littleforest.co.uk/xsl/xslt-extract-file-suffix-convert-to-uppercase-display/</link>
		<comments>http://www.littleforest.co.uk/xsl/xslt-extract-file-suffix-convert-to-uppercase-display/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 10:51:12 +0000</pubDate>
		<dc:creator>Michael Thomas</dc:creator>
				<category><![CDATA[Magic One Liners]]></category>
		<category><![CDATA[XSL]]></category>
		<category><![CDATA[LiveSite]]></category>
		<category><![CDATA[substring]]></category>
		<category><![CDATA[touppercase]]></category>
		<category><![CDATA[translate]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.littleforest.co.uk/?p=183</guid>
		<description><![CDATA[
&#60;xsl:value-of
select=&#34;translate(substring-after(/Properties/Data/Datum[@Name='filename'],'.'),'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')&#34;/&#62;

]]></description>
		<wfw:commentRss>http://www.littleforest.co.uk/xsl/xslt-extract-file-suffix-convert-to-uppercase-display/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Keeping XML Tags in XSL</title>
		<link>http://www.littleforest.co.uk/xsl/keeping-xml-tags-in-xsl/</link>
		<comments>http://www.littleforest.co.uk/xsl/keeping-xml-tags-in-xsl/#comments</comments>
		<pubDate>Fri, 27 Feb 2009 04:45:25 +0000</pubDate>
		<dc:creator>Gavin Colborne</dc:creator>
				<category><![CDATA[XSL]]></category>

		<guid isPermaLink="false">http://www.littleforest.co.uk/?p=180</guid>
		<description><![CDATA[Problem
In your XSL you want to grab an XML document &#8220;as is&#8221; but the XSL keeps stripping the XML tags and only returning data values to you.
My LiveSite Component was connecting to a XML WebService and in one case I only wanted to retrieve all the XML and return it to my XSL.
I was struggling [...]]]></description>
		<wfw:commentRss>http://www.littleforest.co.uk/xsl/keeping-xml-tags-in-xsl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LiveSite XSL Reference II</title>
		<link>http://www.littleforest.co.uk/livesite/livesite-xsl-reference-ii/</link>
		<comments>http://www.littleforest.co.uk/livesite/livesite-xsl-reference-ii/#comments</comments>
		<pubDate>Fri, 28 Nov 2008 21:30:32 +0000</pubDate>
		<dc:creator>Michael Thomas</dc:creator>
				<category><![CDATA[LiveSite]]></category>
		<category><![CDATA[XSL]]></category>
		<category><![CDATA[Michael Thomas]]></category>

		<guid isPermaLink="false">http://www.littleforest.co.uk/?p=135</guid>
		<description><![CDATA[Nested Quotations with XSL
It is not unusual to come across a situation where nested quotations fail (are exceeded) in an apperance XSL document.
Say I want to tie a Javascript function to an input control, but I want to pass the value of a datum-type as an argument to the funtion.
Therefore I want to describe an [...]]]></description>
		<wfw:commentRss>http://www.littleforest.co.uk/livesite/livesite-xsl-reference-ii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Removing newlines in XSL</title>
		<link>http://www.littleforest.co.uk/livesite/removing-newlines-in-xsl/</link>
		<comments>http://www.littleforest.co.uk/livesite/removing-newlines-in-xsl/#comments</comments>
		<pubDate>Fri, 03 Oct 2008 06:09:19 +0000</pubDate>
		<dc:creator>Gavin Colborne</dc:creator>
				<category><![CDATA[LiveSite]]></category>
		<category><![CDATA[XSL]]></category>

		<guid isPermaLink="false">http://www.littleforest.co.uk/?p=128</guid>
		<description><![CDATA[Thansk to Mark Stradling for this tip, the below little template is useful to remove new lines using XSL:

&#60;xsl:template name=&#34;removelines&#34;&#62; 
  &#60;xsl:param name=&#34;text&#34; /&#62; 
  &#60;xsl:value-of select=&#34;translate($text,'&#38;#x0A','')&#34; /&#62; 
&#60;/xsl:template&#62;

]]></description>
		<wfw:commentRss>http://www.littleforest.co.uk/livesite/removing-newlines-in-xsl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Process XML Documents on the CLI</title>
		<link>http://www.littleforest.co.uk/xsl/process-xml-documents-on-the-cli/</link>
		<comments>http://www.littleforest.co.uk/xsl/process-xml-documents-on-the-cli/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 15:05:49 +0000</pubDate>
		<dc:creator>Richard Aldridge</dc:creator>
				<category><![CDATA[XSL]]></category>

		<guid isPermaLink="false">http://www.littleforest.co.uk/?p=113</guid>
		<description><![CDATA[You can query or manipulate XML documents on the command-line using either XSH, the PERL XML Shell, or even easier, use xmlstarlet, a windows/unix binary, available from http://xmlstar.sourceforge.net
]]></description>
		<wfw:commentRss>http://www.littleforest.co.uk/xsl/process-xml-documents-on-the-cli/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Work with LiveSite Components &#8220;Offline&#8221;</title>
		<link>http://www.littleforest.co.uk/xsl/work-with-livesite-components-offline/</link>
		<comments>http://www.littleforest.co.uk/xsl/work-with-livesite-components-offline/#comments</comments>
		<pubDate>Fri, 08 Aug 2008 09:47:51 +0000</pubDate>
		<dc:creator>Richard Aldridge</dc:creator>
				<category><![CDATA[XSL]]></category>

		<guid isPermaLink="false">http://www.littleforest.co.uk/?p=103</guid>
		<description><![CDATA[If you are developing LiveSite components in a shared environment, the chances are high that your editing will be interrupted by other users performing builds. To get around this you can bypass the online environment, and access the component files direct.
1) Use Samba or a tool such as FileZilla to access the component files. If [...]]]></description>
		<wfw:commentRss>http://www.littleforest.co.uk/xsl/work-with-livesite-components-offline/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VIM Functions and Menu Items for Writing XSL</title>
		<link>http://www.littleforest.co.uk/vim-unix/vim-functions-and-menu-items-for-writing-xsl/</link>
		<comments>http://www.littleforest.co.uk/vim-unix/vim-functions-and-menu-items-for-writing-xsl/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 11:07:19 +0000</pubDate>
		<dc:creator>Richard Aldridge</dc:creator>
				<category><![CDATA[Vim]]></category>
		<category><![CDATA[XSL]]></category>

		<guid isPermaLink="false">http://www.littleforest.co.uk/?p=100</guid>
		<description><![CDATA[Add the following lines to a myxsl.vim file and place it in your VIM plugins directory.
The next time you start VIM, you will have a menu called &#8220;lf&#8221; appear with the following items
listed that allow you to create more xsl code with less typing.
Note that you must also add the VIM utility functions listed in a [...]]]></description>
		<wfw:commentRss>http://www.littleforest.co.uk/vim-unix/vim-functions-and-menu-items-for-writing-xsl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

