[Home] [By Thread] [By Date] [Recent Entries]

Subject: Re: If XSLT is declarative, why doesn’t it feel that way?
From: "Schimon ssch@xxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Sun, 19 Apr 2026 12:19:07 -0000
Roger. Greetings.

Please. Correct me, if I am wrong, or add missing information.


Reference
---------

I am not an expert; yet, I suppose, that this article be of a good
explanation.

> Declarative programming is programming that describes what you want
> to achieve, but not how to achieve it.

https://www.xml.com/articles/2018/11/27/introduction-xforms/#L292

If I realize correctly, XSLT is a set of instructions which is
free from any implementation; therefore, it can be equally utilized
with and by any computer language which is able to utilize XSLT.


Demonstration
-------------

For instance, I am creating a publication platform which is currently
implemented in Python, and it utilizes XSLT as a so-called "templating
engine". Most of the software is directed by XSLT. The only parts which
are directed by Python are "server management" and "document compilers".

In future, I intend to further disintegrate and port this software to
be utilized over any server (e.g. FTP, Gemini, HTTP) which supports
CGI; and to utilize Bash to imitate the whole process of document
creation, by executing software such as Canto, cURL, Newsboat, Pandoc,
sendxmpp, yq, xmllint, xsltproc, et cetera.

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


Please. Correct me, if I am wrong.


Kind reagrds,
Schimon

On Sun, 19 Apr 2026 11:53:12 -0000
"Roger L Costello costello@xxxxxxxxx"
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:

> Hi Folks,
> I'll be starting a new project soon. The current system is a
> Java-based web application, and I'd like to move it toward a less
> imperative, more declarative architecture. On paper, this seems
> straightforward: use technologies like XSLT, XPath, and XQuery to
> express transformations declaratively. But I'm running into a
> practical problem. If I show Java developers their code alongside
> equivalent XSLT, I already know what the reaction will be:
> 
>   1.  "This is just another programming language."
>   2.  "It has iteration, functions, recursion--how is this
> fundamentally different from what we already have?" 3.  "Why should I
> replace code I understand with code I don't?" At that point, the
> argument that "XSLT is declarative" doesn't land. It feels like a
> theoretical distinction rather than a practical one. Which leads me
> to a more uncomfortable question: If a language is declarative, but
> most developers do not experience it as declarative, does that
> distinction actually matter? In other words, is "declarative" a
> property of the language--or of how the language is perceived and
> used? Because in practice:
> 
>   1.  XSLT is often written in a way that looks and feels procedural.
>   2.  Developers map it mentally onto loops, conditionals, and
> function calls. 3.  The promised shift in thinking ("what" rather
> than "how") never really happens. And if that's the case, then a
> proposal like: "Let's replace a Java implementation with XSLT because
> it's declarative." is unlikely to succeed--not because XSLT is weak,
> but because the benefit is not obvious to the people being asked to
> adopt it. So I'm trying to understand:
> 
>   1.  How do you make the declarative nature of XSLT visibly obvious
> to someone who doesn't already believe it? 2.  Are there patterns,
> examples, or constraints that make XSLT clearly different from
> imperative code? 3.  Or is the harder truth that some declarative
> technologies--such as schemas (e.g., XML Schema), data models, and
> rule-based systems (e.g., Schematron)--communicate their declarative
> nature more directly than others? I'm not questioning the theoretical
> classification of XSLT. I am questioning whether that classification
> is sufficient to drive adoption in real-world systems. Curious to
> hear how others have dealt with this. Best, Roger

Current Thread
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member