Re: [xsl] [XSLT] Asking or Update variable

Subject: Re: [xsl] [XSLT] Asking or Update variable
From: David Carlisle <davidc@xxxxxxxxx>
Date: Wed, 12 Mar 2008 11:23:43 GMT
> I need know value of variable IsSubclass before the tag  
> </xsl:template> 


Like all programing languages, variable definitions have a defined scope
in xslt and in this case the variable IsSubclass goes out of scope at
the end of the xsl:if element so it is out of scope and does not have a
value at teh end of the template.

> I need do some things which depends on the value of the one variable.

This can not be the case, there is no computation that requires global
updatatable variables, the expressive power of imperative languages with
such constructs is exactly the same as that of declarative languages
without them. 

If you gave some indication of the problem you are trying to solve
someone could show how to do it in xslt.


Taking a wild guess I would think that you want a test to be true
if there is any child node with the requested name, in which case you
don't need a for-each loop, or any variables at all, just do

    <xsl:param name="subclass" select="'subClassOf'"/>

...


<xsl:if test="*/local-name()=$subclass">....


Note I also switched to just testing teh local name as depending on
specific namespace prefixes is inherently risky.

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