xsl-list
[Top] [All Lists]

RE: copy-of namespace problem

2005-04-01 02:24:12
The important thing to remember about copy-namespaces="no" (as with
exclude-result-prefixes) is that it only suppresses the copying of a
namespace node that is unused. It doesn't cause the element you are copying
to be moved into a different namespace (or into no namespace). In your
example, as far as I can see, the only namespace that's in scope for
uc:tgroup is the uc namespace itself (and of course the xml namespace), and
although the uc namespace isn't copied, it will be regenerated in the result
tree as part of the namespace fixup process, because the result tree will
always contain namespace nodes for all namespaces that are used in element
and attribute names.

If you want to change the name of the uc:tgroup element and its children so
that they are in no namespace, you need to use a modified form of the
identity template:

<xsl:template match="uc:*">
  <xsl:element name="{local-name()}">
    <xsl:copy-of select="@*"/>
    <xsl:apply-templates/>
  </xsl:element>
</xsl:template>

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


-----Original Message-----
From: Klocker Christoph 
[mailto:Christoph(_dot_)Klocker(_at_)lexisnexis(_dot_)at] 
Sent: 01 April 2005 09:56
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] copy-of namespace problem

Hi,
I am copying some elements, and want to exclude the namespace, but the
copy-namespaces="no" seems not to work. Using Saxon-8.2

My stylesheet
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
xmlns:xs="http://www.w3.org/2001/XMLSchema";
xmlns:xlink="http://www.w3.org/1999/xlink";
xmlns:html="http://www.w3.org/HTML/1998/html4";
exclude-result-prefixes="html xs uc" 
extension-element-prefixes="xlink"
xmlns:uc="http://www.infinity-loop.de/upcast/generic-dtd-v30";>
      <xsl:output method="xml" version="1.0" encoding="UTF-8"
indent="yes"/>
      <xsl:template match="//uc:table">
              <calstable>
                      <xsl:copy-of select="uc:tgroup"
copy-namespaces="no"/>
              </calstable>
      </xsl:template>
</xsl:stylesheet>

My xml file
<?xml version="1.0" encoding="UTF-8"?>
<publication publ-day="20" publ-month="5" publ-year="2003" 
issue="5404">
      <file id="5404/17/2003" doctyp="5404">
              <uc:part
xmlns:uc="http://www.infinity-loop.de/upcast/generic-dtd-v30";>
                      <uc:table frame="none" colsep="0" rowsep="0">
                              <uc:tgroup cols="3" colsep="0"
rowsep="0">
                                      <uc:colspec colnum="1"
colname="col1" colwidth="245"/>
                                      <uc:colspec colnum="2"
colname="col2" colwidth="132"/>
                                      <uc:colspec colnum="3"
colname="col3" colwidth="141"/>
                                      <uc:tbody>
                                              <uc:row>
                                                      <uc:entry
valign="top">
                                                              <uc:par
kind="Text standard" halign="justified">Durchschnitt 2000 = 
100</uc:par>
                                                      </uc:entry>
                                                      <uc:entry
valign="top">
                                                              <uc:par
kind="Text standard" halign="justified">105,7</uc:par>
                                                      </uc:entry>
                                                      <uc:entry
valign="top">
                                                              <uc:par
kind="Text standard" halign="justified">
      
<uc:inline kind="bold">+1,3%</uc:inline>
      
</uc:par>
                                                      </uc:entry>
                                              </uc:row>
                                      </uc:tbody>
                              </uc:tgroup>
                      </uc:table>
              </uc:part>
      </file>
</publication>

thanks
christoph

--~------------------------------------------------------------------
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>
--~--





--~------------------------------------------------------------------
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>