Re: [xsl] template matching problem # 18,012

Subject: Re: [xsl] template matching problem # 18,012
From: David Carlisle <davidc@xxxxxxxxx>
Date: Thu, 23 Aug 2007 23:44:15 +0100
> But when I do this I get a dropdown box for each child.

if you do an apply-templates  or for-each over a set of nodes that
generates a <select elemnt for each one, then cearly you will get that
many select elements.

just take the <select> out of your template and stick it round the call,
so you only generate one.


                                 <select id="'subDepartments'" name="'subDepartments'">
<xsl:apply-templates mode="select"
match="document('Definitions.xml')/root/department/subDepartment[not(@ignore)]"
>
   <xsl:with-param name="id" select="'subDepartments'" />
</xsl:apply-templates>



  <xsl:for-each select="../node()">
>                                                 <option>
>                                                         <xsl:if
test=".=$selected">

looks very suspicious at the point of the if . is the parent node of the
node matched by the template and they you compare its string value with
$selected, the string value of the parent is the concatenation of all
the character data of all the parents's descendants.

David

________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 
________________________________________________________________________

Current Thread