XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
Herb RamosSubject: How to omit namespace attribute
Author: Herb Ramos
Date: 08 Jun 2005 02:56 PM
Originally Posted: 08 Jun 2005 02:32 PM
Hi, I have a stylesheet which creates a namespace attribute for one of my elements, which I don't want. I'm not sure why it creates this, but I want it removed. See attached file. The result.vxml file has a bunch of elements with blank xmlns="" attributes and a <rule> element with a xmlns="http://www.w3.org/2001/vxml" attribute. I want these ommitted. I'm not sure what is going on. Any ideas? BTW: I tried creating a template for the <rule> element, but then the first children element aquired the undesired namespace.


UnknownTest(10).xsl
Style Sheet

UnknownSource.vxml
Source

UnknownResult.vxml
Result

Postnext
Minollo I.Subject: How to omit namespace attribute
Author: Minollo I.
Date: 09 Jun 2005 10:33 PM
You are using xsl:copy to copy some nodes to your result (like, for example, the root <vxml/>), and you are creating some other elements "by hand", with xsl:element instructions. xsl:copy (http://www.w3.org/TR/xslt#copying), as also xsl:copy-of, need to copy namespace declarations too; and <vxml/> belongs to the xmlns="http://www.w3.org/2001/vxml" in the source. That's why it's created that way in the result. When you create the other elements "by hand", those are defined in the default namespace, not in "http://www.w3.org/2001/vxml"; and Saxon (I'm assuming you are using Saxon, as this is an XSLT 2 stylesheet) uses the XML 1.1 semantics of xmlns="", which is to undefine the current xmlns definition.

So, I would say that the occurences of xmlns you are getting are expected; to avoid them, you'll need to avoid using xsl:copy and xsl:copy-of, as the whole source document lives in a redefined default namespace.

Hope this helps,
Minollo

Postnext
Christopher AtkinsSubject: How to omit namespace attribute
Author: Christopher Atkins
Date: 13 Jun 2005 11:01 AM
I'm not using copy or copy-of but matching a namespace qualified node in a template... I want to get rid of the namespace defintions in the output XML as they are not needed. How do I do this?

Postnext
Minollo I.Subject: How to omit namespace attribute
Author: Minollo I.
Date: 13 Jun 2005 11:14 AM
"Normal" namespace definitions can be removed from the output defining the "exclude-result-prefixes" attribute in the xsl:stylesheet element; like:
<xsl:stylesheet .... exclude-result-prefixes="prefix1 prefix2 prefix3">

See http://www.w3.org/TR/xslt#literal-result-element for more details.

Minollo

Postnext
Herb RamosSubject: How to omit namespace attribute
Author: Herb Ramos
Date: 14 Jun 2005 08:57 AM
Originally Posted: 14 Jun 2005 08:52 AM
Thanks for your input. I have <xsl:copy> in places where I want to copy all the attributes<br> of an element. I thought namespace was not an attribute node and hence would not be copied. What should I do instead of <xsl:copy> to eliminate xmlns="". Should I loop through all the attributes and manually recreate them using <xsl:attribute> ? Thanks again

Posttop
(Deleted User) Subject: How to omit namespace attribute
Author: (Deleted User)
Date: 14 Jun 2005 11:03 AM
xsl:copy-of on an element node will copy all the attributes including xmlns to the output. but if you do xsl:copy-of on attributes seperately(after you create the element), it should just copy the real attributes.

you can try this:

<br>
<xsl:copy-of select="br/@*"/>
</br>

You need to decide the xpath nased on current context, but the idea is
do xsl:copy-of on @* which represents all the real attributes

Hope this helps.

Song.

 
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.