XML Folio

XML Folio / Notebook

Keep the sample. Check the output.

A downloadable artifact should earn its claims with reproducible examples.

The prototype gate

Before building the public interface, we ran 46 assertions in isolated Chromium 156 and WebKit 26.5 sessions, plus a native XSLT enabled/disabled comparison in Chrome 156. The checks covered parsing, field selection, export behavior, unsafe inputs, refresh failures and offline reading. All passed in the recorded run on 15 October 2026.

These are laboratory checks on authored fixtures. They do not prove support for every feed, stylesheet, browser version or hosting configuration. The public interface is also checked separately for real downloads, input invalidation, local-file imports, mobile layout and keyboard access.

Four small, deliberately different sources

The examples use reserved test destinations. They are authored test data, not claims about another organisation’s feed, traffic or content. Compare them using the published field map, not a screenshot alone.

Native transformation and plain HTML are separate tests

The styled sitemap was served with a small XSL stylesheet from an owned local test server. Chrome with XSLT enabled rendered two expected content links. With --disable-features=XSLT, those transformed links were absent and XSLTProcessor was unavailable. Chrome’s own warning UI can contain additional links, so the assertion counted the expected content destinations specifically.

A generated Atom HTML copy was then opened with JavaScript disabled. Its two entries and Unicode title were still present. This establishes that the generated content does not depend on native XSLT or a client-side renderer. It does not establish pixel equivalence with the old stylesheet; none is promised.

Failure paths are part of acceptance

Malformed XML, unsupported roots, wrong namespaces, non-UTF-8 declarations, excessive size, excessive nesting and DTD/entity declarations were rejected. Active-looking summary content remained literal text. Parser and export operations caused no source-triggered network requests, including no request to an owned same-origin canary endpoint.

Optional refresh was tested against a controlled local XML endpoint. A valid update changed the displayed records. Malformed XML, an oversized response and a redirect failed without replacing the current copy. The redirect did not reach the canary destination. A source on another origin disabled the refresh button.

Repeat the checks that matter to your content

Add a representative entry with a non-ASCII title, an identifier with leading characters, a query-string link and every extension your readers need. Compare record counts and omissions before publishing. If a title is computed by XSLT, or an extension supplies essential content, this selected-field profile may be the wrong migration path.

Follow the publication sequence on your real hosting. Verify refresh response headers, retained XML semantics and any email handoff independently. Automated test success is not proof of search indexing, traffic or conversion.

Technical context: Chrome’s native XSLT retirement guidance. Our mapping and limits describe this implementation rather than a general standard for XML conversion.