Subject: RE: Do some elements contain strings from other elements?
From: "W Charlton" <XSLList@xxxxxxxxxx>
Date: Thu, 27 Jan 2011 15:50:23 -0000
|
Andrew,
Martin's answer was perfect.
Languishing in the xsl1 backwaters I've been watching the pack move away and
had actually assumed that boolean() didn't work in XSL1. It's a problem
because I see these neat solutions on the xsl-list and most of the time now
they are xsl2 only.
You live and learn:)
William Charlton
The yMonda team
yMonda Limited
w: www.ymonda.net
-----Original Message-----
From: Andrew Welch [mailto:andrew.j.welch@xxxxxxxxx]
Sent: 27 January 2011 15:33
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: Do some elements contain strings from other elements?
Hi Martin,
On 27 January 2011 15:25, Martin Honnen <Martin.Honnen@xxxxxx> wrote:
> W Charlton wrote:
>
>> I have the following XML.
>> <XML>
>> <SplitNameList>
>> <SplitName>
>> <GivenName>ANDREW</GivenName>
>> <FamilyName>SMITH</FamilyName>
>> </SplitName>
>> <SplitName>
>> <GivenName>DONALD</GivenName>
>> <FamilyName>DUCK</FamilyName>
>> </SplitName>
>> </SplitNameList>
>> <FulNameList>
>> <FullName>DAVID JONES</FullName>
>> <FullName>ANDREW J SMITH</FullName>
>> <FullName>JOHN SMITH</FullName>
>> </FulNameList>
>> </XML>
>>
>> I need to know if any of the Family Names match in the two lists. Either
>> of these two lists could be quite long and this is in the middle of a
load
>> of logic. All I need here is a True/False. It doesnt have to be an exact
>> match just as long as it matches the FamilyName.
>
>
> <xsl:template match="SplitNameList">
> <xsl:variable name="test">
> <xsl:for-each select="SplitName/FamilyName">
> <xsl:value-of select="boolean(/XML/FulNameList/FullName[contains(.,
> current())])"/>
> </xsl:for-each>
> </xsl:variable>
> <xsl:if test="contains($test, 'true')">..</xsl:if>
> </xsl:template>
This will return true if the FamilyName is the same as someones first
name, or say some substring of the surname.
Guessing the requirements, I think would want to tokenize the FullName
and then compare the FamilyName to the last item... but cant be sure.
--
Andrew Welch
http://andrewjwelch.com
|