Subject: Re: [xsl] Confirmimg - Bug in Accessing Global XSL Variables From: "Dimitre Novatchev" <dnovatchev@xxxxxxxxx> Date: Sun, 3 Sep 2006 13:53:19 -0700 |
base_template.xsl: ============== <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:wbt="myWebTemplater.1.0">
<xsl:template name="wbt:A_Template"> BASE_TEMPLATE A template in BASE </xsl:template>
<xsl:template name="wbt:B_Template"> B_Template in BASE </xsl:template> </xsl:stylesheet>
master_template.xsl: =============== <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:wbt="myWebTemplater.1.0">
<!-- IMPORT BASE --> <xsl:import href="base_template.xsl"/>
<!-- OVERRIDE A_Template --> <xsl:template name="wbt:A_Template"> OVERRIDE! BASE_TEMPLATE
A template in MASTER </xsl:template> </xsl:stylesheet>
page_template.xsl: ============== <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:wbt="myWebTemplater.1.0">
<!-- IMPORT MASTER TEMPLATES --> <xsl:import href="master_template.xsl"/>
<!-- OVERRIDE A_Template --> <!-- THIS FAILS TO OVERRIDE THE TEMPLATE --> <xsl:template name="wbt:A_Template"> A template in PAGE </xsl:template>
<xsl:template match="/"> <!-- THIS FAILS --> <xsl:call-template name="wbt:B_Template"/> <xsl:call-template name="wbt:A_Template"/> </xsl:template>
when applying the stylesheet contained in page_template.xsl to any source xml (not used) file, I get the correct results:
<?xml version="1.0" encoding="utf-8"?> B_Template in BASE
-- Cheers, Dimitre Novatchev --------------------------------------- Truly great madness cannot be achieved without significant intelligence. --------------------------------------- To invent, you need a good imagination and a pile of junk
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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Confirmimg - Bug in Acces, Karl Stubsjoen | Thread | Re: [xsl] Confirmimg - Bug in Acces, Karl Stubsjoen |
[xsl] Sort By calclulated variable, Giancarlo Rossi | Date | Re: [xsl] Sort By calclulated varia, David Carlisle |
Month |