[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Do some elements contain strings from other elements?


Subject: Re: [xsl] Do some elements contain strings from other elements?
From: Andrew Welch <andrew.j.welch@xxxxxxxxx>
Date: Thu, 27 Jan 2011 15:33:05 +0000

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


Current Thread