RE: [xsl] Comparing Variables

Subject: RE: [xsl] Comparing Variables
From: "Fernandes, John" <jfernandes@xxxxxxxxxx>
Date: Fri, 2 May 2003 09:08:20 -0400
Rob just wanted to thank you for your reply and making me understand exactly
the error in the way I was understanding how the for-each works. This fixed
my problem. Once again thanks for the prompt reply.

John M. Fernandes

-----Original Message-----
From: me@xxxxxxxxxxxx [mailto:me@xxxxxxxxxxxx]
Sent: Thursday, May 01, 2003 3:08 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] Comparing Variables


> Hi I am still new to this technology so bare with my
> problem. 
  
> I have a default value from a xml document for an
> employee as <employee>John
> Doe</employee>.
> In the XSL stylesheet I have a node set creating a
drop
> down list as
> described below
>  
> <select name="employee">             
>    <xsl:for-each select="$v_employee/name">
>         <option value="{.}"><xsl:value-of
> select="."/></option>
>        </xsl:for-each>     
>   </select>
>  
> My problem is this. I want to be able to compare as
> each list item is being
> created the value of the current item to the default
> value in employee, so
> that I may make that value on the list the Selected
> Item. I have tried the
> attempt below. However it seems that the value of the
> default value
> (employee) is always null.

Just so you know (you say you are new) - when using a
value-of and the thing you are trying to access doesn't
exists, it will return null as opposed to an error.

> ***<xsl:value-of select="employee"/> --- Value is John
> Doe ***********
at this point you could set
<xsl:variable name="sKeeper" select="employee" />
  
> <select name="employee">             
>    <xsl:for-each select="$v_employer/employer/option">
> 
> ***<xsl:value-of select="employee"/> --- Value is
empty
When you use the for-each you are moved into that part
of the tree. Meaning everything is relative to the point
$v_employer/employer/option. Is there an employee
element like $v_employer/employer/option/employee? if
not that is why it is null.

>  *********** 
if you use that variable comment above you could do
something like

<xsl:if test="string($sKeeper) = string(.)">
etc etc

>     <xsl:if test="employee= '{.}">
>      <option value="{.}"
> selected="selected"><xsl:value-of
> select="./description"/></option>
>     </xsl:if>    
>     <xsl:if test="not(employee= '{.}')">
>      <option value="{.}" "><xsl:value-of
> select="./description"/></option>
>     </xsl:if>        
>    </xsl:for-each>     
> </select>
>  
> I guess my question is can this be done or how can I
> bring a value from the
> main template in to be compared to the item on the
list
> as it is iterating
> through it.

I think you were just missing the fact that your
context moves.

Cheers,
Rob

    _/  _/_/    _/_/_/
   _/_/   _/ _/     _/
  _/               _/
 _/             _/
_/          _/_/_/_/
http://treebeard.sourceforge.net
http://ashpool.sourceforge.net

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

Get to know us
http://www.thestar.com - Canada's largest daily newspaper online
http://www.toronto.com - All you need to know about T.O.
http://www.workopolis.com - Canada's biggest job site
http://www.torontostartv.com - Webcasting & Production
http://www.newinhomes.com - Ontario's Largest New Home & Condo Website
http://www.waymoresports.com - Canada's most comprehensive sports site
http://www.tmgtv.ca - Torstar Media Group Television

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread
  • [xsl] Comparing Variables
    • Fernandes, John - Thu, 1 May 2003 13:48:08 -0400
      • <Possible follow-ups>
      • me - Thu, 01 May 2003 12:08:19 -0700 (PDT)
      • Fernandes, John - Fri, 2 May 2003 09:08:20 -0400 <=
      • me - Fri, 02 May 2003 09:29:17 -0700 (PDT)