[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Confirmimg - Bug in Accessing Global XSL Variables


Subject: Re: [xsl] Confirmimg - Bug in Accessing Global XSL Variables
From: "Karl Stubsjoen" <kstubs@xxxxxxxxx>
Date: Sun, 3 Sep 2006 12:52:34 -0700

Ok, lets give this a try. There are 3 xslt document:

1) base_template.xsl
2) master_template.xsl
3) page_template.xsl

Page_template Imports (inherits) master_template who imports base_template.

The Code:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
	xmlns:wbt="myWebTemplater.1.0">

<!-- BASE TEMPLATE -->

	<xsl:template name="wbt:A_Template">
		BASE_TEMPLATE
	</xsl:template>

	<xsl:template name="wbt:B_Template">
		B_Template in MASTER
	</xsl:template>
	
	
</xsl:stylesheet>


<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:wbt="myWebTemplater.1.0">

<!-- MASTER TEMPLATE -->

	<!-- IMPORT BASE -->
	<xsl:import href="base_template.xsl"/>


<!-- OVERRIDE A_Template --> <xsl:template name="wbt:A_Template"> OVERRIDE! BASE_TEMPLATE </xsl:template>

</xsl:stylesheet>


<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:wbt="myWebTemplater.1.0">

<!-- PAGE TEMPLATE -->

	<!-- IMPORT MASTER TEMPLATES -->
	<xsl:import href="master_template.xsl"/>


<!-- OVERRIDE A_Template --> <!-- THIS FAILS TO OVERRIDE THE TEMPLATE --> <xsl:template name="wbt:A_Template"> OVERRIDE! MASTER_TEMPLATE </xsl:template>

	<xsl:template match="/">
		<!-- THIS FAILS -->
		<xsl:call-template name="wbt:B_Template"/>
	</xsl:template>

</xsl:stylesheet>


On 9/3/06, Dimitre Novatchev <dnovatchev@xxxxxxxxx> wrote:
On 9/3/06, Karl Stubsjoen <kstubs@xxxxxxxxx> wrote:
> I hate to say this, but I still think there is a problem here.
> Possibly I am doing something wrong so not real confident at the
> moment.
>
> It appears that the global variable problem has been fixed in .NET 2.0
> using the XslCompiledTransform Class.  However, what is not fixed is
> the use of global templates.
>
> There does not appear to be a problem if the global template is named
> without a namespace, but as soon as you introduce a namespace, the
> call fails.
>
> There is not a problem if the template is defined in the immediate
> imported base template, but when the defined template is 2 deep.
>
> Please confirm.


Could you, please, provide an (the shortest possible but complete) example that demonstrates the problem you're having?



--
Cheers,
Dimitre Novatchev
---------------------------------------
Truly great madness cannot be achieved without significant intelligence.
---------------------------------------
To invent, you need a good imagination and a pile of junk


Current Thread
Keywords