Subject: [xsl] How do I get rid of: xmlns="" From: Arthur Maloney <ArthurM@xxxxxxxxxx> Date: Sat, 3 Jan 2009 17:29:04 +0000 |
Hello Xsl-list, In element <url xmlns=""> How do I get rid of xmlns="" ? Other than this code works OK Using Xslt v 1.0 in Net Framework Transfoming Xml to build Google sitemap.xml Google specifcation - entity-escaped <?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>http://www.example.com/</loc> <lastmod>2005-01-01</lastmod> <changefreq>monthly</changefreq> <priority>0.8</priority> </url> </urlset> My output after transform is <?xml version="1.0" encoding="utf-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url xmlns=""> <loc>http://www.superDupperSite.co.uk/</loc> <changefreq>monthly</changefreq> <priority>0.6</priority> </url> ... repeats ~ 8,000 times </urlset> My Source Xml <table> <row> <websiteId>545</websiteId> <modified>2008-08-21</modified> <Uri>www.superDupperSite.co.uk</Uri> </row> ... </table> Xslt for transform <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" standalone="yes"/> <xsl:template match="/"> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <xsl:apply-templates select="table/row"/> </urlset> </xsl:template> <xsl:template match="row"> <url> <loc><xsl:text>http://</xsl:text><xsl:value-of select="./Uri"/>/</loc> <changefreq>monthly</changefreq> <priority>0.6</priority> </url> <url> <loc><xsl:text>http://</xsl:text><xsl:value-of select="./Uri"/><xsl:text>/About/about.aspx</xsl:text></loc> changefreq>monthly</changefreq> <priority>0.3</priority> </url> ... Repeats for each page in website </xsl:template> </xsl:stylesheet> (Just for completeness) Framework code Dim UriXslFile As String = Server.MapPath("..\xsl") + "\Sitemap.xsl" Dim saveTo As String = Server.MapPath("..\sitemap.xml") Dim cnnStr As String = ConfigurationManager.ConnectionStrings("AllSites").ConnectionString Dim spName As String = "dbo.[uspAllSitesMap]" Dim xdd As XmlDataDocument = AllSites.Dal.XmlHelper.getDataDoc(cnnStr, spName) Dim xslt = New XslCompiledTransform() Dim settings = New XmlWriterSettings() settings.Indent = True Dim xw As XmlWriter = XmlWriter.Create(saveTo, settings) xslt.Load(UriXslFile) xslt.Transform(xdd, xw) xw.Flush() xw.Close() -- Best regards, Arthur mailto:ArthurM@xxxxxxxxxx
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Cant remove meta data, Graeme Kidd | Thread | Re: [xsl] How do I get rid of: xmln, G. Ken Holman |
Re: [xsl] Cant remove meta data, Martin Honnen | Date | Re: [xsl] How do I get rid of: xmln, G. Ken Holman |
Month |