Altova Mailing List Archives>Archive Index >microsoft.public.xsl Archive Home >Recent entries >Thread Prev - Re: Newbie Question removing 'namespace elements' >Thread Next - Re: Newbie Question removing 'namespace elements' Re: Newbie Question removing 'namespace elements'To: NULL Date: 5/12/2008 4:24:00 AM Hi Martin Thanks (appologies for not including everything) XML is <message-status-report group-id="40056581" message-id="40378871" xmlns="http://webservices.ecircle-ag.com/ecm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <subject>demo1</subject> <send-date>2006-01-23T12:21:45Z</send-date> <user-tracking until="2007-02-01T08:50:02Z" since="2005-12-31T23:00:00Z"> <details> <reader> <email>test2@c...</email> <timestamp>2006-01-23T14:57:07Z</timestamp> </reader> <reader> <email>test1@c...</email> <timestamp>2006-01-23T12:22:08Z</timestamp> </reader> </details> <number>2</number> <percentage>66</percentage> </user-tracking> <status>sent</status> </message-status-report> So I think the namespaces are attributes of the element <message-status-report >, is that correct? "Martin Honnen" wrote: > allen davidson wrote: > > > 2. Remove the namespaces xmlns="http://webservices.ecircle-ag.com/ecm" > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > > > > My XML is: > > Where is the XML? > > > And my XSLT is: > > > > <?xml version="1.0" encoding="utf-8"?> > > <xsl:stylesheet version="1.0" > > xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > > exclude-result-prefixes="#default xsl xsi"> > > exclude-result-prefixes relates to prefixes in the stylesheet, not those > in the XML input. > > > > > <xsl:template match="/"> > > <root> > > <xsl:copy-of select="."></xsl:copy-of> > > </root> > > </xsl:template> > > > > </xsl:stylesheet> > > > > > > The wrapping of <root></root> works but I cant strip out the namespaces (not > > sure if i'm using the correct terminology here). Any Ideas (NB very new to > > XML) > > xsl:copy-of copies the complete node including any namespace nodes. > You need > <xsl:template match="*"> > <xsl:element name="{local-name()}"> > <xsl:apply-templates select="@* | node()"/> > </xsl:element> > </xsl:template> > to strip namespaces from elements and, if you want to strip namespaces > from attributes as well > <xsl:template match="@*"> > <xsl:attribute name="{local-name()}"> > <xsl:value-of select="."/> > </xsl:attribute> > </xsl:template> > otherwise > <xsl:template match="@*"> > <xsl:copy/> > </xsl:template> > > > -- > > Martin Honnen --- MVP XML > http://JavaScript.FAQTs.com/ > | ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
