This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: Change the value of a parameter in a template


You are trying to write a template as a function that returns a selected
node. Templates don't do that: they write output to trees.

To find a node, use an XPath expression, something like
//wc:INSTANCE[Left=@article]/Right

You have to write this inline.

If you don't like this you might like to look at Saxon's <saxon:function>
which allows you to write extension functions in XSLT.

Mike Kay


> In the template "findRelation" I compare the parameter 
> "article" with the
> XML-data in a loop ("for-each").
> When an element, <Left>, is equal to the parameter "article" 
> I store the
> <Right> element in the parameter "find ": 
> 
> <xsl:template name="findRelation">
> 	<xsl:param name="article"/>
> 	<xsl:param name="find"/>
> 	<xsl:for-each select="//wc:INSTANCE"> 
> 		<xsl:if test="Left=$article">
> 			<xsl:param name="find" select='Right'/>	
> 	 
> 		</xsl:if>
> 	</xsl:for-each>
> </xsl:template>			 
> 
> Then I want to access the parameter "find", with its new 
> value, from the
> calling template "Relation". 
> Does anybody know how to do that? 
>   
> Regards
> Fredric
> 
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]