xsl-list
[Top] [All Lists]

RE: Namespaces II

2003-07-02 04:10:40
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?promo=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



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