xsl-list
[Top] [All Lists]

RE: exclude-result-prefixes

2004-11-04 17:17:54
exclude-result-prefixes only affects the evaluation of literal result
elements.

xsl:copy-of makes an exact copy of a node, together with all its children,
attributes, and namespaces. It is not affected by exclude-result-prefixes. 

XSLT 2.0 provides an option for xsl:copy-of to exclude unused namespaces.

If you are building your stylesheet dynamically, why don't you build one
that is less tortuous?

Michael Kay
http://www.saxonica.com/ 

-----Original Message-----
From: Kevin Collins [mailto:kevin(_dot_)collins(_at_)art(_dot_)com] 
Sent: 04 November 2004 21:28
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] exclude-result-prefixes

In the following stylesheet I use the document function to access the
current stylesheet in order copy the contents of a variable. 
The reason
I do this is because the stylesheet is built dynamically and the
variable may not exist. 

The problem is the xsl namespace attached to the <tr> element in the
output. How do I exclude that?

I tried adding exclude-result-prefixes="xsl" to the <tr> 
element inside
the variable but it didn't work. 

Thanks,
Kevin Collins


XSL:
<xsl:stylesheet 
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
   version="1.0">
   <xsl:output method="xml" indent="yes" />
      
   <xsl:template match="/">
      <table>
         <xsl:copy-of 
 
select="document('')/*/xsl:variable[(_at_)name='optionalstuff']/*" />
         <tr>
            <td>Common stuff here.</td>
         </tr>
      </table>
   </xsl:template>

   <xsl:variable name="optionalstuff">
      <tr>
         <td>Optional stuff here.</td>
      </tr>
   </xsl:variable>

</xsl:stylesheet>

Output:
<table>
   <tr xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
      <td>Optional stuff here.</td> 
   </tr>
   <tr>
      <td>Common stuff here.</td> 
   </tr>
</table>

--+------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--+--





<Prev in Thread] Current Thread [Next in Thread>