RE: [xsl] Namespaces II

Subject: RE: [xsl] Namespaces II
From: gamperlm@xxxxxxxxxxxx (Gamperl Markus)
Date: Wed, 02 Jul 2003 07:10:40 -0400
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@xxxxxxxxx> 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


Current Thread