How this tool computes its result
Accepts a sitemap URL (fetched client-side, which can fail on CORS-restricted hosts) or raw pasted XML, and parses it with DOMParser, checking for a <parsererror> node to catch malformed markup. It reads whichever of <url> or <sitemap> elements exists (never both, and never recursively) to determine urlset vs sitemapindex type. For each node, a missing <loc> child is counted toward missingLocCount and the entry is skipped entirely from the URL list; present loc values are checked for an "http" prefix and run through `new URL()`, with failures added to invalidUrls. Duplicates are any URL string whose first occurrence index differs from its current index in the list.
