[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Look ahead in xslt


Subject: Re: [xsl] Look ahead in xslt
From: omprakash.v@xxxxxxxxxxxxx
Date: Fri, 21 Jan 2005 17:09:53 +0530

Hi,
    I don't know what gave me that error. It seems to be alright now. But I
had to declare the variable inside the if. Else it kept saying variable not
defined.
So I basically set the variable sname twice like below.

<TD>
     <xsl:if test="*[1][self::enrolled]">
          <xsl:variable name="sname" select="@name"/>
          <xsl:value-of select="$sname"/>
     </xsl:if>
</TD>
<TD>
<xsl:variable name="sname" select="@name"/>

     use $sname in <xsl:apply-templates> here
</TD>

Can you tell me why.

Regards,
Omprakash.V





                                                                                                                   
                    David                                                                                          
                    Carlisle             To:     xsl-list@xxxxxxxxxxxxxxxxxxxxxx                                   
                    <davidc@xxxxx        cc:     (bcc: omprakash.v/Polaris)                                        
                    o.uk>                Subject:     Re: [xsl] Look ahead in xslt                                 
                                                                                                                   
                    01/21/2005                                                                                     
                    04:43 PM                                                                                       
                    Please                                                                                         
                    respond to                                                                                     
                    xsl-list                                                                                       
                                                                                                                   
                                                                                                                   






> I would like to check if the tag following university is 'college' or

XSLT has no access to the tags,  so it makes no sense to talk of
something following the university start tag. What you want is the first
element child which is *[1].



if(following tag == "college")
    print college name here
else
    do nothing


Could be written as

<xsl:if test="*[1][self::college]">
  <xsl:value-of slelect="college/name"/>
</xsl:if>

But really the test isn't needed you can just do

<xsl:value-of select="*[1][self::college]/name"/>

as that generates the string value of the name  child of the first child
of the current node if that is a college element, and the empty string
otherwise.

If you know that your input meeds a certain structure and college will
always be in that position if it is there at all you can simplify
further  and just do

<xsl:value-of select="college/name"/>

David

________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________






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
Keywords