Re: [xsl] building path expressions around dynamic element node names

Subject: Re: [xsl] building path expressions around dynamic element node names
From: omprakash.v@xxxxxxxxxxxxx
Date: Wed, 18 May 2005 17:10:01 +0530
Hi,
           You can use the name() or the local-name() function to check if
the node name equals something. Thus if you want to check if the context
node is 'Dynamic1' you can use

<xsl:if test="name(.) = 'Dynamic1' ">

<!-- do some processing here -->

</xsl:if>


On first look, it appears that you have to make 2 passes, first to
aggregate the nodes you want and then to
select the nodes. This can be done using modes.

Cheers,
Omprakash.V





                                                                                                                     
                    Rahil                                                                                            
                    <qamar_rahil@ya        To:     XSL List <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>                        
                    hoo.co.uk>             cc:     (bcc: omprakash.v/Polaris)                                        
                                           Subject:     [xsl] building path expressions around dynamic element node  
                    05/18/2005             names                                                                     
                    03:57 PM                                                                                         
                    Please respond                                                                                   
                    to xsl-list                                                                                      
                                                                                                                     
                                                                                                                     




Hi

I have an xml file with some dynamic element node names such as below:

<Top>
    <Dynamic1>
          <A>
                <Class id="123">Dynamic1</Class>
         </A>
          <B>
                <Class id="897">Not Present</Class>
          </B>
    </Dynamic1>
    <Dynamic2>
          <A>
                <Class id="567">Dynamic2</Class>
         </A>
          <B>
                <Class id="908">Car</Class>
          </B>
    </Dynamic2>
</Top>

I have  a for-loop that extracts all the node fragments where
B/Class[.='Not Present']. What I then want to do is access all the
dynamic element nodes such as '<Dynamic1>', '<Dynamic2>', etc. (which is
the same as the <Class> text() of the <A> node). How can I do this?

Also, (I know Ive read this somewhere but cant find it now) how can I
match an element name with some value i.e. how can I carry out an
operation such that Top/{next element name}='Dynamic1' ?

Thanks for all help.
Rahil






This e-Mail may contain proprietary and confidential information and is sent for the intended recipient(s) only. 
If by an addressing or transmission error this mail has been misdirected to you, you are requested to delete this mail immediately.
You are also hereby notified that any use, any form of reproduction, dissemination, copying, disclosure, modification,
distribution and/or publication of this e-mail message, contents or its attachment other than by its intended recipient/s is strictly prohibited.

Visit Us at http://www.polaris.co.in

Current Thread