Subject: Re: [xsl] xsl:call-template , strange behaviour From: Mukul Gandhi <mukul_gandhi@xxxxxxxxx> Date: Sun, 5 Jun 2005 22:59:46 -0700 (PDT) |
Thanks Wendell for explanation ;) Regards, Mukul --- Wendell Piez <wapiez@xxxxxxxxxxxxxxxx> wrote: > Mukul, > > In your stylesheet, your <a/> and <b/> elements have > namespace nodes on > them for the "temp" namespace, which they have > inherited from the > xsl:stylesheet element. > > Since you have not asked that this namespace be > excluded, the processor can > only assume that they are part of the data it should > output. > > Note that neither <a/> nor <b/> is *in* the temp > namespace, so it is > probably not accurate (or at least it's misleading) > to say they are > "associated with it", even though in the result the > namespace declarations > for temp must appear on <a/> and <b/> -- since > there's no other place where > temp can be declared. > > Since temp is not actually used, it should be > possible to suppress it by > using the exclude-namespace-prefixes attribute on > xsl:stylesheet. But it > will be suppressed on both <a/> and <b/> -- the fact > that <b/> is generated > by a template named "temp:test" is a red herring. > The behavior isn't > strange at all -- what would be strange would be if > <b/> were placed in a > different namespace from the one given it by the > stylesheet (the null > namespace), just because of the name of the template > that adds it to the > result. > > Cheers, > Wendell > > At 12:01 AM 6/6/2005, you wrote: > >I have written this stylesheet - > > > ><?xml version="1.0"?> > ><xsl:stylesheet > >xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > > xmlns:temp="http://whatever" > > version="2.0"> > > > > <xsl:output method="xml" indent="yes" /> > > > > <xsl:template match="/"> > > <xsl:call-template name="test" /> > > <xsl:call-template name="temp:test" /> > > </xsl:template> > > > > <xsl:template name="test"> > > <a/> > > </xsl:template> > > > > <xsl:template name="temp:test"> > > <b/> > > </xsl:template> > > > ></xsl:stylesheet> > > > >With both Xalan-J 2.6 and Saxon 8.4, I get the > output > >- > ><?xml version="1.0" encoding="utf-8"?> > ><a xmlns:temp="http://whatever"/> > ><b xmlns:temp="http://whatever"/> > > > >I am curious, why element <a> gets associated with > the > >namespace 'temp' ..? > > > ====================================================================== > Wendell Piez > mailto:wapiez@xxxxxxxxxxxxxxxx > Mulberry Technologies, Inc. > http://www.mulberrytech.com > 17 West Jefferson Street Direct > Phone: 301/315-9635 > Suite 207 > Phone: 301/315-9631 > Rockville, MD 20850 > Fax: 301/315-8285 > ---------------------------------------------------------------------- > Mulberry Technologies: A Consultancy Specializing > in SGML and XML > ====================================================================== > > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] xsl:call-template , stran, Wendell Piez | Thread | RE: [xsl] complex transform vs. gen, Michael Kay |
Re: [xsl] xsl:call-template , stran, Wendell Piez | Date | Re: [xsl] preceding-sibling::node(), David Carlisle |
Month |