xsl-list
[Top] [All Lists]

RE: Namespaces II

2003-07-02 04:16:05
if you are using xslt 2.0 u have to specify it in your xsl:stylesheet version 
number.....u should have gotten a different error though.

gl, jim fuller

-----Original Message-----
From: Gamperl Markus [mailto:gamperlm(_at_)netscape(_dot_)net]
Sent: 02 July 2003 12:11
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: RE: [xsl] Namespaces II


Hello!

Thanks for your answer - but it doesn't work. I am using 
Saxon 7.6 and i have tried out the copy-namespaces="no" but 
the same bad result...

i have changed my copy-of command to the following:
---------------------------------------------------

<xsl:copy-of select="*" copy-namespaces="no"/>

Thank you
Markus


"Michael Kay" <mhk(_at_)mhk(_dot_)me(_dot_)uk> wrote:


Following XML:
--------------

<Content xmlns="urn:DTD930" 
xmlns:xlink="http://www.w3.org/1999/xlink";>
<text_eng>
<p>Test Test Test Test</p>
</text_eng>
</Content>

Following XSL-Stylesheet:
-------------------------

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
xmlns:text="urn:DTD930">

<xsl:template match="text:Content">
<xsl:apply-templates/>
</xsl:template>

<xsl:template match="text:text_eng">
<text_module xml:lang="en">
<xsl:copy-of select="*"/>
</text_module>
</xsl:template>

I get the following output:
---------------------------
<text_module xmlns="urn:DTD930" xml:lang="en">
<p xmlns="urn:DTD930">Test Test Test Test</p>
</text_module>

Question:
---------

Is there a way to get the xmlns attribute away (delete) from 
the output???

This is what I get with Saxon:

<text_module xml:lang="en" xmlns:text="urn:DTD930">
  <p xmlns="urn:DTD930" 
xmlns:xlink="http://www.w3.org/1999/xlink";>Test
Test Test Test</p>
</text_module>

Your output as shown is incorrect. Either you have made a 
cut-and-paste
error in transcribing it, or there is a bug in your processor.

The xmlns="urn:DTD930" declaration is necessary, because that's the
namespace that the <p> element is in. The text namespaces in 
the output
is unused, and can therefore be eliminated using
exclude-result-prefixes="text" on the xsl:stylesheet 
element. The xlink
namespace is also unused, but when you copy the <p> element, all its
in-scope namespaces are copied with it, "just in case". In 
XSLT 2.0 you
can prevent this using copy-namespaces="no" on the xsl:copy-of
instruction.

Michael Kay


XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



__________________________________________________________________
McAfee VirusScan Online from the Netscape Network.
Comprehensive protection for your entire computer. Get your 
free trial today!
http://channels.netscape.com/ns/computing/mcafee/index.jsp?pro
mo=393397

Get AOL Instant Messenger 5.1 free of charge.  Download Now!
http://aim.aol.com/aimnew/Aim/register.adp?promo=380455

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

This e-mail and any files transmitted with it are confidential and intended 
solely for the use of the individual or entity to whom they are addressed. If 
you are not the intended recipient please contact the sender immediately. Any 
disclosure, copying, distribution or any other use of this communication is 
strictly prohibitedand may be unlawful. Stuart Lawrence Marketing 
Communications Limited reserves the right to monitor and intercept 
communications for unlawful business purposes.

This also confirms that this message has been swept for viruses, although 
Stuart Lawrence Marketing Communications Limited accepts no responsibility for 
any loss or damage resulting directly or indirectly from the use of this email 
or contents.

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



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