Reputation: 171
I am trying to create a sitemap such as the below and I get this error:
<?xml version="1.0" encoding="UTF-8"?>
<urlset
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml"
xhtml:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
<url>
<loc>http://www.something.com/something</loc>
<xhtml:link rel="alternate" hreflang="en-us" href="http://www.something.com/something" />
</url>
</urlset>
Error:
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"> ^ Error 1866: Element '{http://www.sitemaps.org/schemas/sitemap/0.9}urlset', attribute '{http://www.w3.org/1999/xhtml}schemaLocation': The attribute '{http://www.w3.org/1999/xhtml}schemaLocation' is not allowed. on line: 3
'{http://www.w3.org/1999/xhtml}link': No matching global element declaration available, but demanded by the strict wildcard.
Please advice. Thank you.
Upvotes: 9
Views: 11622
Reputation: 725
Old one - but still comes up when searching. Actually the issue is that you are using xhtml:link and then you need "other" urlsets...http://www.w3.org/2002/08/xhtml/xhtml1-strict.xsd
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd http://www.w3.org/TR/xhtml11/xhtml11_schema.html http://www.w3.org/2002/08/xhtml/xhtml1-strict.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/TR/xhtml11/xhtml11_schema.html">
Reference: XML Sitemap rendering as plain text
Upvotes: 7
Reputation: 7279
There are two issues in this document:
The schemaLocation attribute must be in the XML Schema Instance namespace.
The url element is invalid, because its definition says processContents="strict"
and the schema for XHTML was missing so that there was no xhtml:link declaration in scope.
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xhtml="http://www.w3.org/1999/xhtml"
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd
http://www.w3.org/1999/xhtml
http://www.w3.org/2002/08/xhtml/xhtml1-strict.xsd">
<url>
<loc>http://www.something.com/something</loc>
<xhtml:link rel="alternate" hreflang="en-us" href="http://www.something.com/something" />
</url>
</urlset>
Upvotes: 13