Re: [xsl] Substring test

Subject: Re: [xsl] Substring test
From: "Aaron Johnson" <artpunx@xxxxxxxxx>
Date: Thu, 26 Oct 2006 14:04:36 +0100
Thanks Owen and David for your help.

I gave your version a try but got no further.

Taking Davids advice, here goes a simple example:

The name attribute has a value of 'Home'...

	<focusedTab unremovable="true" immutable="true" ID="38" name="Home"/>

...when I run the template below, it shows the correct respnse:
	<h1>Not Broken</h1>
	<xsl:template match="navigation/focusedTab">
			<xsl:call-template name="activeTab"/>
	<xsl:template name="activeTab">
			<xsl:when test="//focusedTab/@name='Home'">
				<h1>Not Broken</h1>

If the name attribute has a value of 'Home::foo'. When I run the
template again, because it is not  "Home" it shows the correct

	<focusedTab unremovable="true" immutable="true" ID="38" name="Home::foo"/>


I still need the 'Home' part of the element to trigger stuff...

What I want to do is test for 'Home' and ignore the following '::foo'
part of the element, effectively breaking it up into two parts 'Home'
and '::foo'.

On 10/26/06, Owen Rees <owen.rees@xxxxxx> wrote:
--On 26 October 2006 10:29 +0100 Aaron Johnson wrote:

> I gave this a go:
> <xsl:when
> test="($tabName[substring-before(@name,'::')]='Home')">home</xsl:when>

If I understand what you are trying to do, the "='Home' should be inside
the predicate like this:


Owen Rees
Hewlett Packard Laboratories, Bristol, UK

Current Thread