Subject: Re: [xsl] Define a key with cross reference From: "Ranjan K. Baisak" <ranjanbaisak@xxxxxxxxx> Date: Fri, 21 Jan 2005 09:20:10 -0800 (PST) |
> note that I have assumed ur context node to be B, My context node is not necessarily B. Due to the complex structure of my XML document, To access A, I have to go through B and I have denined some keys which can give me B(Let say the key is getB-from-C). SO when I am in loop of getB-from-C, I want to find all A elements those match id of C. So I was wondering whether I could able to achive the indirect cross reference using meunchian search. I would appreciate if anybody can help give a look into the problem. regards, Ranjan --- Vasu Chakkera <vasucv@xxxxxxxxxxx> wrote: > Define key as Follows > <xsl:key match="/root/A" name="A-with-B" > use="property/@id"/> > (Define key as a child of xsl:stylesheet element ) > > > and Use the key like > <xsl:value-of > select="key('A-with-B',property/@id)"/> > so you send the property Id to the Key and you get > "A" node which > has the same Property /@id as the one u sent in to > the key.. > note that I have assumed ur context node to be B, > when I used the key in > the value-of select. make sure you use the right > path , depending on your > context node when using the key > > for example, if your template matches B nodes and > you use a xsl:for-each > select = "properties" in this template, then you > should use <xsl:value-of > select="key('A-with-B',@id)"/> > Just a note.. > > > HTH > Vasu > > > > > ----- Original Message ----- > From: "Ranjan K. Baisak" <ranjanbaisak@xxxxxxxxx> > To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> > Sent: Friday, January 21, 2005 2:20 PM > Subject: [xsl] Define a key with cross reference > > > > I would appreciate if anybody can help me to key > with > > cross reference with related elements. The > structure > > of my XML is : > > <root> > > <A name="A1"> > > <property id="1"/> > > <property id="2"/> > > </A> > > <A name="A2"> > > <property id="1"/> > > <property id="3"/> > > </A> > > <B name="B1"> > > <property id="1"/> > > <property id="2"/> > > </B> > > <B name="B2"> > > <property id="1"/> > > <property id="3"/> > > </B> > > </root> > > I need to define a key which can give me all <A> > > elements which are related to <B> related. The > > relatioship is through id attribute of property. > > E.g. for <B name="B2"><property id="1"/>, I should > get > > <A name="A1"> > > <property id="1"/> > > </A> > > <A name="A2"> > > <property id="1"/> > > </A>. > > > > regards, > > Ranjan > > > > > > > > __________________________________ > > Do you Yahoo!? > > The all-new My Yahoo! - Get yours free! > > http://my.yahoo.com > > __________________________________ Do you Yahoo!? Yahoo! Mail - now with 250MB free storage. Learn more. http://info.mail.yahoo.com/mail_250
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Define a key with cross r, Vasu Chakkera | Thread | RE: [xsl] free XMLSpy version and x, Pieter Reint Siegers |
Re: [xsl] Thanks for solution to: H, David Carlisle | Date | [xsl] Document function handling PO, António Mota |
Month |