xsl-list
[Top] [All Lists]

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

2009-01-03 12:29:55
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(_at_)seipas(_dot_)com


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>