This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: XSLT/XPath help to resolve definition references in a W SDL XML fi le
- From: thomas dot cherel at ascentialsoftware dot com
- To: xsl-list at lists dot mulberrytech dot com
- Date: Wed, 4 Sep 2002 14:47:36 -0400
- Subject: RE: [xsl] XSLT/XPath help to resolve definition references in a W SDL XML fi le
- Reply-to: xsl-list at lists dot mulberrytech dot com
It almost worked, but it put me on the right track.
What you gave me is not working as in your select, in the key function
second argument, the @aRef is not known in this context (this is not an
attribute of the A element. But I was able to achieve what I wanted doing
the following:
<xsl:key name="Crefs" match="C" use="substring-after(@aRef,':')"/>
select="A[count(key('Crefs',@name))>0]/B"
The condition in the select of the A element means any A referenced by at
least one C element.
Thanks a lot for the help.
Thomas
-----Original Message-----
From: TSchutzerWeissmann@uk.imshealth.com
[mailto:TSchutzerWeissmann@uk.imshealth.com]
Sent: Wednesday, September 04, 2002 10:41 AM
To: xsl-list@lists.mulberrytech.com
Subject: RE: [xsl] XSLT/XPath help to resolve definition references in a W
SDL XML fi le
hi Thomas,
> I need some help on pure XSLT/XPath syntax/capabilities. Let's say
> that I have an XML document looking like that:
>
> <root>
> <A name="a1"><B .../></A>
> <A name="a2"><B .../></A>
> <A name="a3"><B .../></A>
> <C aRef="ns1:a1"/>
> <C aRef="ns2:a2"/>
> </root>
>
> I want to be able to select all the B element which are under
> the A elements
> referenced by the C element (the A elements for which a
> C/@aRef attribute
> value, minus the prefix, is equal to the A/@name attribute).
>
Use a key on the C's:
<xsl:key name="CRefs" match="C" use="@aRef"/>
Then this as your path in <root> context.
select="A[@name = key('CRefs',substring-after(@aRef,':'))]/B"
Don't know if it works...
Tom
---
"At the first performance I led the attack in person 33 times.
We had three acclamations, four hilarities, two thrilling movements,
four renewals of applause and two indefinite explosions."
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list