[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: copy-of namespace problem

Subject: RE: copy-of namespace problem
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Fri, 1 Apr 2005 10:24:12 +0100
copy of namespace
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.Klocker@xxxxxxxxxxxxx] 
> Sent: 01 April 2005 09:56
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject:  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

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.