[xsl] Server side check of XSLT support

Subject: [xsl] Server side check of XSLT support
From: "Schimon Jehudah sch@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Sun, 30 Nov 2025 11:24:42 -0000
Ladies. Gentlemen. Good afternoon.

I hope that you are enjoying of a good Sunday, or Saturday, or both.

This message may be considered as a respond to Mr. Norm Tovey-Walsh,
who has suggested a client-side solution of embedding element "script".

https://blog.saxonica.com/norm/2025/08/21-styling-xml.html

Of course, Mr. Norm Tovey-Walsh has mentioned of additional solutions.

> Other approaches that could be used include content negotiation or
> simply using redirects. Content negotiation is also a little bit
> complicated and requires the ability to configure the web server.
> Redirects are simpler, but introduce two different URIs which might
> be confusing.

The concerns of this message are of HTTP server-side confirmation; and
a method of clients responding to metadata.


Preface
-------

To those of you who are not aware of what I do, I am developing an
XHTML publication platform which is entirely made of Atom Syndication
Format, Atom Activity Streams, and XSLT, without any line of HTML in
source code.

https://git.xmpp-it.net/sch/Rivista


Problem
-------

I think, that it would be fair to state, that we all predicted of the
infantile plot of some projects to abruptly remove XSLT without a
proper reason; and only for the ignoble intention to continue to
cripllle the internet with invalid HTML patched by ECMAScript, in
addition to further increase of espionage measures over the protocol
HTTP.


Concern
-------

Due to that misfortunate state of affair, I did consider to produce a
transformed version of Atom documents by the server (i.e. server-side),
and so I did.


Challenge
---------

Yet, I am determined to have a "pure", so to speak, XHTML publication
(i.e. Atom + XSLT); while also including a raw (X)HTML version thereof.

Therefore, I think that there should be a server-side solution to check
that ECMAScript or XSLT interpreters are available.

It is possible to routinely (i.e. "by default") direct to an HTML page
with a couple of HTML elements to automatically check of availability
of ECMAScript and XSLT; yet, there are problems of doing so.

* That solution might require more resources and organization;

* That solution is probably subjected to more variaties and
  consequently to mis-implementations; and

* These HTML element could be blocked by client, due to protection
  measures (adblock, firewall, proxy, et cetera).


Solution
--------

The technique of this proposed solution, is similar to that of services
of "age verification" which recognize when ECMAScript is not available;
and that is a server-side process.

So, a better solution which I was thinking of, is of a check which
would only involve HTTP.

The server would expect to receive a respond from client.

A respond of XSLT availability would be by loading of a resource (e.g.
an image or a "pixel").

A respond of ECMAScript availability would be by sending an XHR
signal, or by loading another resource.

When availability of XSLT is detected, nothing occurs.

When no availability of XSLT is detected, yet ECMAScript is available,
then a page with a frame (or iframe) and an ECMAScript module (e.g.
SaxonJS) be loaded to utilize the Atom+XSLT version of the publication.

When no availability of ECMAScript neither of XSLT is detected, an
(X)HTML version of a document is loaded.

However, while that solution is more manageable, it might not work with
client software which support XSLT yet do not load images (e.g. text
based software).


Metadata
--------

Perhaps, a metadata directive inside both XML and (X)HTML of XSLT
availability which clients would be prompted to announce to servers of
XSLT capabilities, could be an additional solution.

<meta name="author" content="Norm Tovey-Walsh"/>

<meta name="capabilities" content="audio, camera, css, ecma, image,
                                   gzip, microphone, scss, video,
                                   xslt"/>

Clients could choose to either announce of capabilities or not; and
some people might want to set their clients to routinely (i.e.
automatically) announce every time.


Please advise.


Kind regards,
Schimon

Current Thread