Without extensions you can't use dynamic paths. If one of the expressions will always return a null node set then you can use the union operator:
Code:
<xsl:variable name=xpath" select="(expression1 | expression2)[1]"/>
Or if one has priority if both are not null then put that first.
--
Joe (
Microsoft MVP - XML)