RE: RE: [xsl] Filter XML base on partial matching element value

Subject: RE: RE: [xsl] Filter XML base on partial matching element value
From: cknell@xxxxxxxxxx
Date: Thu, 06 May 2004 17:14:19 -0400
Frequently made mistake. Try
<xsl:value-of select="Activities/Activity[*[local-name() = $parFieldValue]]" />
-- 
Charles Knell
cknell@xxxxxxxxxx - email



-----Original Message-----
From:     Horacio Escalada <HEscalada@xxxxxxxxxx>
Sent:     Thu, 6 May 2004 16:48:17 -0400
To:       <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Subject:  RE: [xsl] Filter XML base on partial matching element value

Thank you Pieter,

I am using contains() with a conditional xsl:if test and it is working.


Now another question for the list. 
I would like to get the value of a random Element by passing the Element
Name in a variable

<xsl:variable name="parFieldValue">Name</xsl:variable >

...
...

Then 

<xsl:value-of select="Activities/Activity[$parFieldValue]" />

Should return the value of

<xsl:value-of select="Activities/Activity/Name" />


Horacio

-----Original Message-----
From: Pieter Reint Siegers Kort [mailto:pieter.siegers@xxxxxxxxxxx] 
Sent: May 6, 2004 1:31 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE: [xsl] Filter XML base on partial matching element value


Hi Horacio, 

The way you're referring to 'wildcards', you could use the XSLT
start-with() or contains() string functions.

HTH,
<prs/>

-----Original Message-----
From: Horacio Escalada [mailto:HEscalada@xxxxxxxxxx] 
Sent: Thursday, May 06, 2004 12:23 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: [xsl] Filter XML base on partial matching element value

Hi all,

It is possible to use 'wildcards' while selecting elements containing
partial matching values.

My XML source looks like this:

<Activities>
	<Activity>
		<Id>4865</Id>
		<Status>Open</Status>
		<Name>Paul</Name>
	</Activity>
	
	<Activity>
		<Id>6765</Id>
		<Status>Open Pending</Status>
		<Name>John</Name>
	</Activity>

	<Activity>
		<Id>66567</Id>
		<Status>Open</Status>
		<Name>Joseph</Name>
	</Activity>

	<Activity>
		<Id>54565</Id>
		<Status>Close</Status>
		<Name>Susan</Name>
	</Activity>
</Activities>


I would like to get the following result

<Activities>

	<Activity>
		<Id>6765</Id>
		<Status>Open Pending</Status>
		<Name>John</Name>    ----------> Matching 'Jo'
	</Activity>

	<Activity>
		<Id>66567</Id>
		<Status>Open</Status>
		<Name>Joseph</Name>    ----------> Matching 'Jo'
	</Activity>

</Activities>


Thank you in advance

Horacio

Current Thread