{% autoescape off %}<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:geo="http://www.google.com/geo/schemas/sitemap/1.0">
{% spaceless %}
{% for url in urlset %}
  <url>
    <loc>{{ url.location|escape }}</loc>
    {% if url.lastmod %}<lastmod>{{ url.lastmod|date:"Y-m-d" }}</lastmod>{% endif %}
    {% if url.changefreq %}<changefreq>{{ url.changefreq }}</changefreq>{% endif %}
    {% if url.priority %}<priority>{{ url.priority }}</priority>{% endif %}
    {% if url.geo_format %}<geo:geo>
      <geo:format>{{ url.geo_format }}</geo:format>
    </geo:geo>{% endif %}
   </url>
{% endfor %}
{% endspaceless %}
</urlset>
{% endautoescape %}
