xsl-list
[Top] [All Lists]

Re: [xsl] Substring test

2006-10-26 06:05:33
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'...

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

...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>
        
        <xsl:template name="activeTab">
                <xsl:choose>
                        <xsl:when test="//focusedTab/@name='Home'">
                                <h1>Not Broken</h1>
                        </xsl:when>
                        <xsl:otherwise>
                                <h1>Broken</h1>
                        </xsl:otherwise>
                </xsl:choose>
        </xsl:template>
        </xsl:stylesheet>

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
respnse:

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

<h1>Broken</h1>

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(_dot_)rees(_at_)hp(_dot_)com> 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:

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

--
Owen Rees
Hewlett Packard Laboratories, Bristol, UK



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>