[ 
https://issues.apache.org/jira/browse/XALANJ-2411?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12538121
 ] 

Christine Li commented on XALANJ-2411:
--------------------------------------

The patch looks good to me. 

> XSLTC creates namespace nodes when it could re-use existing ones in scope.
> --------------------------------------------------------------------------
>
>                 Key: XALANJ-2411
>                 URL: https://issues.apache.org/jira/browse/XALANJ-2411
>             Project: XalanJ2
>          Issue Type: Bug
>    Affects Versions: The Latest Development Code, 2.7.1
>            Reporter: Brian Minchau
>            Assignee: Brian Minchau
>         Attachments: xalanj-2411.patch2.txt
>
>
> XSLTC creates extra namespace nodes, mapping ns0, ns1 ... to URIs when an 
> existing namespace mapping is
> in scope and its prefix could be used (or the default namespace could be 
> used).
> Here is a stylesheet showing the problem:
> <?xml version="1.0" encoding="UTF-8"?>
> <!-- bug.xsl -->
> <xsl:stylesheet version="1.0" 
>   xmlns="http://uri1";
>   xmlns:prfx2='http://uri2'
>   xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
>   <xsl:output method="xml" indent="yes" />
> <xsl:template match="/">
>   <out2>        
>     <xsl:call-template name="makeElement1">
>       <xsl:with-param name="tagName" select="'elemName1'" />
>     </xsl:call-template>
>     
>     <xsl:call-template name="makeElement2">
>       <xsl:with-param name="tagName" select="'elemName2'" />
>     </xsl:call-template>
>    
>     <xsl:call-template name="makeElement3">
>       <xsl:with-param name="tagName" select="'elemName3'" />
>     </xsl:call-template>
>   </out2>
> </xsl:template>       
>       
> <xsl:template name="makeElement1">
>   <xsl:param name="tagName"/>
>   <xsl:element name="{$tagName}"  namespace='http://uri1'/>
> </xsl:template>
>       
> <xsl:template name="makeElement2">
>   <xsl:param name="tagName"/>
>   <xsl:element name="{$tagName}"  namespace='http://uri2'/>
> </xsl:template>
>               
> <xsl:template name="makeElement3">
>   <xsl:param name="tagName"/>
>   <xsl:element name="{$tagName}"  namespace='http://uri3'/>
> </xsl:template>
>       
> </xsl:stylesheet>
> When run with any XML input, or this one, bug.xml:
> <?xml version="1.0" encoding="UTF-8"?><doc/>
> Using say the process command:
> java  org.apache.xalan.xslt.Process -XSLTC -IN bug.xml -XSL bug.xsl
> The output is this:
> <?xml version="1.0" encoding="UTF-8"?><out2 xmlns:prfx2="http://uri2"; 
> xmlns="http://uri1";>
> <ns0:elemName1 xmlns:ns0="http://uri1"/>
> <ns1:elemName2 xmlns:ns1="http://uri2"/>
> <ns2:elemName3 xmlns:ns2="http://uri3"/>
> </out2>
> The output should be:
> <?xml version="1.0" encoding="UTF-8"?><out2 xmlns:prfx2="http://uri2"; 
> xmlns="http://uri1";>
> <elemName1/>
> <elemName2 xmlns="http://uri2"/>
> <elemName3 xmlns="http://uri3"/>
> </out2>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to