<xsl:when test="@valueField">
<xsl:variable name="valueField" select="@valueField" />
</xsl:when>
that does work but the scope of a variable binding is its containing
element, which is xsl:when in this case, so you could have used that
variable later in the when clause but it can not be used outside that
xsl:when.
You don't conditionally want to assign a variable, you want to
definitely assign a variable, to a value that depends on a condition.
So the more natural (and legal) way is
<xsl:variable name="valueField" select="@valueField|@field[not(@valueField)]"/>
David
________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list