[xsl] How do I get rid of: xmlns=""

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