This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: xsl:key question


Kerin Cosford wrote:

> <Drug>
> 	<DrugCitation>
> 		<DrugCompanyList>
> 			<DrugCompany>
> 				<Company CDLID="18767">
> 					<CompanyCitation>
> 						<CompanyName>
> 							Johnson and Johnson
> 						</CompanyName>
> 					</CompanyCitation>
> 				</Company>
> 			</DrugCompany>
> 		</DrugCompanyList>
> 	</DrugCitation>
> 	<DrugDevelopmentList>
> 		<DrugDevelopment>
> 			<CompanyRef CDLID="18767"/>
> 		<DrugDevelopment>
> 	</DrugDevelopmentList>
> </Drug>
> 
> I need to have an xsl:key which will return the text within <CompanyName>
> when a CLID="" value of the <Company> element is passed to it (The value of
> the CDLID attribute is taken from the <CompanyRef> element).
> 
> How do I do this? All of the xsl:key examples I've come across only concern
> retrieving values from the same element that is queried. I'm sure this is a
> simple XPath expression, but, as I say, I just can't seem to work it out
> today.

Hi Kerin,

Use:
    <xsl:key name="kName" match="CompanyName" use="../../@CDLID"/>

or, if you really need just the text() children of "CompanyName":

    <xsl:key name="kNameText" match="CompanyName/text()" use="../../../@CDLID"/>

Cheers,
Dimitre Novatchev.


__________________________________________________
Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail
http://personal.mail.yahoo.com/

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]