using xml** The main Sitemap URL entity.constclass SitemapUrl {** URL of the page. This URL must begin with the protocol (such as 'http').** ** @see `http://www.sitemaps.org/protocol.html#locdef`const Uri loc** The date of last modification of the file.** ** @see `http://www.sitemaps.org/protocol.html#lastmoddef`const DateTime? lastMod** How frequently the page is likely to change.** ** @see `http://www.sitemaps.org/protocol.html#changefreqdef`const SitemapFreq? changefreq** The priority of this URL relative to other URLs on your site. ** Valid values range from '0.0' to '1.0'. ** ** @see `http://www.sitemaps.org/protocol.html#prioritydef`const Float? prioritynew make(Uri loc, |This|? in := null){this.loc = loc in?.call(this)if(!loc.isAbs || loc.host == null)throw Err("Sitemap location `$loc` must have a scheme and a host, e.g. http://example.com")} XElem toXml(){ url := XElem("url") url.add(XElem("loc"){ XText(loc.toStr),})if(lastMod != null) url.add(XElem("lastmod"){ XText(lastMod.toLocale("YYYY-MM-DD")),})if(changefreq != null) url.add(XElem("changefreq"){ XText(changefreq.toStr),})if(priority != null) url.add(XElem("priority"){ XText(priority.toLocale("0.0")),})return url}}** Describes how frequently the page is likely to change. ** Note that the value of this tag is considered a *hint* and not a command.** ** @see `http://www.sitemaps.org/protocol.html#changefreqdef`enum class SitemapFreq {** Use to describe documents that change each time they are accessed always, hourly, daily, weekly, monthly, yearly,** Use to describe archived URLs never}