xsl-list
[Top] [All Lists]

Re: Comparing Variables

2003-05-01 12:08:19
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



<Prev in Thread] Current Thread [Next in Thread>