Subject: Re: calling template with name passed in a variable
From: David Carlisle <davidc@xxxxxxxxx>
Date: Fri, 18 Dec 2009 21:22:20 GMT
|
> The above makes the same template matched for any element of
> $InPlaceTypesList list.
it was a direct copy of your suggestion
<xsl:template match="xsd:element[@type=$InPlaceTypesList]">
this matches all elements with type in that list.
Ypu then wanted to do this
> <xsl:call-template name="@type"/> // <-- error line
I suggested you do instead
<xsl:apply-templates select="@type"/>
then teh only other change is that each template that you wanted to name
but call with the name determoned at runtime change
<xsl:template name="MyTypeX"">
to
<xsl:template match="xsd:element[@type='MyTypeX']">
So my suggested code had exactly the same number of templates and
structure as your suggestion, but used match instead of name, and is
legal xslt.
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.
________________________________________________________________________
|