This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: xsl:key question
- To: Kerin dot Cosford at current-drugs dot com
- Subject: [xsl] Re: xsl:key question
- From: Dimitre Novatchev <dnovatchev at yahoo dot com>
- Date: Tue, 10 Jul 2001 06:42:16 -0700 (PDT)
- Cc: xsl-list at lists dot mulberrytech dot com
- Reply-To: xsl-list at lists dot mulberrytech dot com
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