[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

    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
So I basically set the variable sname twice like below.

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

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

Can you tell me why.


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

> 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
    do nothing

Could be written as

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

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

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"/>


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:

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