You are viewing a plain text version of this content. The canonical link for it is here.
Posted to svn@forrest.apache.org by cr...@apache.org on 2007/04/10 04:10:26 UTC

svn commit: r526997 - /forrest/trunk/main/webapp/resources/stylesheets/external/str.find-last.xslt

Author: crossley
Date: Mon Apr  9 19:10:25 2007
New Revision: 526997

URL: http://svn.apache.org/viewvc?view=rev&rev=526997
Log:
This external xsl should not have been done with xmlformat.

Modified:
    forrest/trunk/main/webapp/resources/stylesheets/external/str.find-last.xslt

Modified: forrest/trunk/main/webapp/resources/stylesheets/external/str.find-last.xslt
URL: http://svn.apache.org/viewvc/forrest/trunk/main/webapp/resources/stylesheets/external/str.find-last.xslt?view=diff&rev=526997&r1=526996&r2=526997
==============================================================================
--- forrest/trunk/main/webapp/resources/stylesheets/external/str.find-last.xslt (original)
+++ forrest/trunk/main/webapp/resources/stylesheets/external/str.find-last.xslt Mon Apr  9 19:10:25 2007
@@ -5,123 +5,154 @@
 -->
 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" id="str.find-last"
   xmlns:str="http://www.ora.com/XSLTCookbook/namespaces/strings" extension-element-prefixes="str">
-  <xsl:template name="str:substring-before-last">
-    <xsl:param name="input"/>
-    <xsl:param name="substr"/>
-    <xsl:if test="$substr and contains($input, $substr)">
-      <xsl:variable name="temp" select="substring-after($input, $substr)" />
-      <xsl:value-of select="substring-before($input, $substr)" />
-      <xsl:if test="contains($temp, $substr)">
-        <xsl:value-of select="$substr" />
-        <xsl:call-template name="str:substring-before-last">
-          <xsl:with-param name="input" select="$temp" />
-          <xsl:with-param name="substr" select="$substr" />
-        </xsl:call-template>
-      </xsl:if>
+
+
+<xsl:template name="str:substring-before-last"> 
+  <xsl:param name="input"/>
+  <xsl:param name="substr"/>
+  
+  <xsl:if test="$substr and contains($input, $substr)">
+    <xsl:variable name="temp" select="substring-after($input, $substr)" />
+    <xsl:value-of select="substring-before($input, $substr)" />
+    <xsl:if test="contains($temp, $substr)">
+      <xsl:value-of select="$substr" />
+      <xsl:call-template name="str:substring-before-last">
+        <xsl:with-param name="input" select="$temp" />
+        <xsl:with-param name="substr" select="$substr" />
+      </xsl:call-template>
     </xsl:if>
-  </xsl:template>
-  <xsl:template name="str:substring-after-last">
-    <xsl:param name="input"/>
-    <xsl:param name="substr"/>
-<!-- Extract the string which comes after the first occurence -->
-    <xsl:variable name="temp" select="substring-after($input,$substr)"/>
-    <xsl:choose>
-      <xsl:when test="$substr and contains($temp,$substr)">
-        <xsl:call-template name="str:substring-after-last">
-          <xsl:with-param name="input" select="$temp"/>
-          <xsl:with-param name="substr" select="$substr"/>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$temp"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-  <xsl:template match="xsl:stylesheet[@id='str.find-last'] | xsl:include[@href='str.find-last.xslt'] " >
-    <tests>
+  </xsl:if>
+  
+</xsl:template>
+
+
+<xsl:template name="str:substring-after-last">
+  <xsl:param name="input"/>
+  <xsl:param name="substr"/>
+  
+  <!-- Extract the string which comes after the first occurence -->
+  <xsl:variable name="temp" select="substring-after($input,$substr)"/>
+  
+  <xsl:choose>
+  	<xsl:when test="$substr and contains($temp,$substr)">
+  		<xsl:call-template name="str:substring-after-last">
+  			<xsl:with-param name="input" select="$temp"/>
+  			<xsl:with-param name="substr" select="$substr"/>
+  		</xsl:call-template>
+  	</xsl:when>
+  	<xsl:otherwise>
+  		<xsl:value-of select="$temp"/>
+  	</xsl:otherwise>
+  </xsl:choose>
+</xsl:template> 
+
+
+<xsl:template match="xsl:stylesheet[@id='str.find-last'] | xsl:include[@href='str.find-last.xslt'] " >
+<tests>
+
 <!-- before -->
-      <test name="str:substring-before-last with no occurences of yes">
-        <xsl:call-template name="str:substring-before-last">
-          <xsl:with-param name="input" select=" 'No occurences' "/>
-          <xsl:with-param name="substr" select=" 'yes' "/>
-        </xsl:call-template>
-      </test>
-      <test name="str:substring-before-last starts with yes">
-        <xsl:call-template name="str:substring-before-last">
-          <xsl:with-param name="input" select=" 'yes occurences' "/>
-          <xsl:with-param name="substr" select=" 'yes' "/>
-        </xsl:call-template>
-      </test>
-      <test name="str:substring-before-last starts with yes and ends with yes">
-        <xsl:call-template name="str:substring-before-last">
-          <xsl:with-param name="input" select=" 'yes occurences yes' "/>
-          <xsl:with-param name="substr" select=" 'yes' "/>
-        </xsl:call-template>
-      </test>
-      <test name="str:substring-before-last 3 yes">
-        <xsl:call-template name="str:substring-before-last">
-          <xsl:with-param name="input" select=" 'yesyesyes' "/>
-          <xsl:with-param name="substr" select=" 'yes' "/>
-        </xsl:call-template>
-      </test>
-      <test name="str:substring-before-last empty input">
-        <xsl:call-template name="str:substring-before-last">
-          <xsl:with-param name="substr" select=" 'yes' "/>
-        </xsl:call-template>
-      </test>
-      <test name="str:substring-before-last empty search">
-        <xsl:call-template name="str:substring-before-last">
-          <xsl:with-param name="input" select=" 'No occurences' "/>
-        </xsl:call-template>
-      </test>
-      <test name="str:substring-before-last large">
-        <xsl:call-template name="str:substring-before-last">
-          <xsl:with-param name="input" select=" 'yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesy
 esyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes
 yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesye
 syesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesy
 esyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes' "/>
-          <xsl:with-param name="substr" select=" 'yes' "/>
-        </xsl:call-template>
-      </test>
+	<test name="str:substring-before-last with no occurences of yes">
+	<xsl:call-template name="str:substring-before-last">
+		<xsl:with-param name="input" select=" 'No occurences' "/>
+		<xsl:with-param name="substr" select=" 'yes' "/>
+	</xsl:call-template>
+	</test>
+	
+	<test name="str:substring-before-last starts with yes">
+	<xsl:call-template name="str:substring-before-last">
+		<xsl:with-param name="input" select=" 'yes occurences' "/>
+		<xsl:with-param name="substr" select=" 'yes' "/>
+	</xsl:call-template>
+	</test>
+
+	<test name="str:substring-before-last starts with yes and ends with yes">
+	<xsl:call-template name="str:substring-before-last">
+		<xsl:with-param name="input" select=" 'yes occurences yes' "/>
+		<xsl:with-param name="substr" select=" 'yes' "/>
+	</xsl:call-template>
+	</test>
+
+	<test name="str:substring-before-last 3 yes">
+	<xsl:call-template name="str:substring-before-last">
+		<xsl:with-param name="input" select=" 'yesyesyes' "/>
+		<xsl:with-param name="substr" select=" 'yes' "/>
+	</xsl:call-template>
+	</test>
+	<test name="str:substring-before-last empty input">
+	<xsl:call-template name="str:substring-before-last">
+		<xsl:with-param name="substr" select=" 'yes' "/>
+	</xsl:call-template>
+	</test>
+	
+	<test name="str:substring-before-last empty search">
+	<xsl:call-template name="str:substring-before-last">
+		<xsl:with-param name="input" select=" 'No occurences' "/>
+	</xsl:call-template>
+
+	</test>
+
+	<test name="str:substring-before-last large">
+	<xsl:call-template name="str:substring-before-last">
+		<xsl:with-param name="input" select=" 'yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes
 yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesye
 syesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesy
 esyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes
 yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes' "/>
+		<xsl:with-param name="substr" select=" 'yes' "/>
+	</xsl:call-template>
+
+
+	</test>
+
 <!-- after -->
-      <test name="str:substring-after-last with no occurences of yes">
-        <xsl:call-template name="str:substring-after-last">
-          <xsl:with-param name="input" select=" 'No occurences' "/>
-          <xsl:with-param name="substr" select=" 'yes' "/>
-        </xsl:call-template>
-      </test>
-      <test name="str:substring-after-last starts with yes">
-        <xsl:call-template name="str:substring-after-last">
-          <xsl:with-param name="input" select=" 'yes occurences' "/>
-          <xsl:with-param name="substr" select=" 'yes' "/>
-        </xsl:call-template>
-      </test>
-      <test name="str:substring-after-last starts with yes and ends with yes">
-        <xsl:call-template name="str:substring-after-last">
-          <xsl:with-param name="input" select=" 'yes occurences yes' "/>
-          <xsl:with-param name="substr" select=" 'yes' "/>
-        </xsl:call-template>
-      </test>
-      <test name="str:substring-after-last 3 yes">
-        <xsl:call-template name="str:substring-after-last">
-          <xsl:with-param name="input" select=" 'yesyesyes' "/>
-          <xsl:with-param name="substr" select=" 'yes' "/>
-        </xsl:call-template>
-      </test>
-      <test name="str:substring-after-last 3 yes then no">
-        <xsl:call-template name="str:substring-after-last">
-          <xsl:with-param name="input" select=" 'yesyesyesno' "/>
-          <xsl:with-param name="substr" select=" 'yes' "/>
-        </xsl:call-template>
-      </test>
-      <test name="str:substring-after-last empty input">
-        <xsl:call-template name="str:substring-after-last">
-          <xsl:with-param name="substr" select=" 'yes' "/>
-        </xsl:call-template>
-      </test>
-      <test name="str:substring-after-last empty search">
-        <xsl:call-template name="str:substring-after-last">
-          <xsl:with-param name="input" select=" 'No occurences' "/>
-        </xsl:call-template>
-      </test>
-    </tests>
-  </xsl:template>
-  <xsl:template match="text()"/>
+
+	<test name="str:substring-after-last with no occurences of yes">
+	<xsl:call-template name="str:substring-after-last">
+		<xsl:with-param name="input" select=" 'No occurences' "/>
+		<xsl:with-param name="substr" select=" 'yes' "/>
+	</xsl:call-template>
+	</test>
+	
+	<test name="str:substring-after-last starts with yes">
+	<xsl:call-template name="str:substring-after-last">
+		<xsl:with-param name="input" select=" 'yes occurences' "/>
+		<xsl:with-param name="substr" select=" 'yes' "/>
+	</xsl:call-template>
+	</test>
+
+	<test name="str:substring-after-last starts with yes and ends with yes">
+	<xsl:call-template name="str:substring-after-last">
+		<xsl:with-param name="input" select=" 'yes occurences yes' "/>
+		<xsl:with-param name="substr" select=" 'yes' "/>
+	</xsl:call-template>
+	</test>
+
+	<test name="str:substring-after-last 3 yes">
+	<xsl:call-template name="str:substring-after-last">
+		<xsl:with-param name="input" select=" 'yesyesyes' "/>
+		<xsl:with-param name="substr" select=" 'yes' "/>
+	</xsl:call-template>
+	</test>
+
+	<test name="str:substring-after-last 3 yes then no">
+	<xsl:call-template name="str:substring-after-last">
+		<xsl:with-param name="input" select=" 'yesyesyesno' "/>
+		<xsl:with-param name="substr" select=" 'yes' "/>
+	</xsl:call-template>
+	</test>
+	
+	<test name="str:substring-after-last empty input">
+	<xsl:call-template name="str:substring-after-last">
+		<xsl:with-param name="substr" select=" 'yes' "/>
+	</xsl:call-template>
+	</test>
+	
+	<test name="str:substring-after-last empty search">
+	<xsl:call-template name="str:substring-after-last">
+		<xsl:with-param name="input" select=" 'No occurences' "/>
+	</xsl:call-template>
+
+	</test>
+
+</tests>
+</xsl:template>
+
+ <xsl:template match="text()"/>
+  
 </xsl:stylesheet>