RE: [xsl] use-when attribute?

Subject: RE: [xsl] use-when attribute?
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Sat, 18 Dec 2004 13:13:27 -0000
> Is there some elegant way to use the correct xpath expression 
> depending 
> on the input document?
> 
> An "if then else" works if there's only two options, but I'll 
> have more 
> than that.
> 
> I suppose one obvious approach would be this ...
> 
> 	<xsl:variable name="citerefs" select="//db:biblioref/@linkend |
> 								
> 	//cite:biblioref/@cite:key |
> 								
> 	//tei:cit/@href"/>
> 


I would be inclined to do it with template rules:

<xsl:template match="db:biblioref">
  <xsl:apply-templates select="@linkend" mode="z"/>
</xsl:template>

<xsl:template match="cite:biblioref">
  <xsl:apply-templates select="@cite:key" mode="z"/>
</xsl:template>

<xsl:template match="@*" mode="z">
  ...
</xsl:template>

etc.

But perhaps I haven't understood the problem.

Michael Kay
http://www.saxonica.com/

Current Thread