News for hackers. Stuff that matters.
Re:XMLUI by cheschire on Sunday July 20, 2025 @10:30AM (#44625559)
No mention of XSLT? Feels like it would be highly relevant since many folks have not considered transforming or styling XML since those days, and would be interested in understanding the huge leap from that to this.

And given Jon Udell has written about XSLT before[0], I'm sure this was an intentional decision. Not sure I understand it though.

0: https://www.xml.com/pub/a/2003/08/13/udell.html

Re:XMLUI by danielvaughn on Sunday July 20, 2025 @10:58AM (#44625792)
It’s probably irrelevant to an introduction. I think in this post the goal is to explain to a modern audience why something like this is beneficial. XSLT is part of the history here, but including it wouldn’t help sell the idea.
Re:XMLUI by A4ET8a8uTh0_v2 on Sunday July 20, 2025 @11:18AM (#44625993)
I am hesitant. On the one hand, visualization as presented might drive some interest ( and maybe adoption ), but XLST would definitely be useful for a person that would actually suggest it as a solution toa nything. Not to search very far, I myself found recently I have to not just massage XML data, but also 'sell it' to my various bosses.

I guess what I am saying is: I see your point. I am also saying ( as I dig in a little deeper ) that XLST would likely be helpful.

Re:XMLUI by danielvaughn on Sunday July 20, 2025 @11:50AM (#44626346)
Oh yeah for sure, there should be somewhere on their site that does some kind of comparison to XSLT. Because as you pointed out, anyone who knows their history is going to wonder about it.

I’ve personally never written an application using XSLT, but I’ve researched it a bit. In my limited understanding, I believe XSLT was designed for transformations that happen on initial page load, or in a SSR context. For dynamic client interactions like the ones enabled by React, it wouldn’t suffice since it’s designed to recreate the entire document on every pass.

^ I could be very wrong about this, would love for someone more knowledgeable than me to chime in and correct me.

Re:XMLUI by toyg on Sunday July 20, 2025 @02:52PM (#44628148)
You're basically correct, but this isn't due to a philosophical choice. Simply speaking, XSLT stopped evolving before Ajax really got popular, and it was eventually purged from most browsers altogether on security grounds. So nobody really tried to build XSLT engines that could address modern use-cases.

Somewhat ironically, the semantic web was initially supposed to be built on browsers making calls for XML data (the X in Ajax) to then be displayed via XSLT. This model failed to gain adoption mostly because, let's be honest, XSLT is just blooming hard.

Re:XMLUI by int_19h on Monday July 21, 2025 @03:36PM (#44639474)
I don't think it was ever "purged" - I mean, which modern browser doesn't handle XSLT 1.0?

Nor did the spec itself stop evolving. The problem is that the browsers have deprecated the technology before XSLT 2+ could be adopted.

Re:XMLUI by toyg on Tuesday July 22, 2025 @10:51AM (#44647662)
> which modern browser doesn't handle XSLT 1.0?

I know it depends of the definition of "modern browser", but I'm fairly sure that MSIE and pre-chrome Edge had lost support for it at some point, since MSXML stopped being shipped with them.

I honestly don't know what the current state of the art is, but Firefox doesn't do native XSLT anymore afaik (yes, you can do it in JS, but it's an extra step).

Re:XMLUI by willseth on Sunday July 20, 2025 @02:54PM (#44628165)
Recreating whole documents is how XSLT has been commonly used, but that’s an implementation detail, and you can nearly as easily write XSLT to produce components. You can output XHTML components and update the vdom - kind of an abstraction leak but not a bad tradeoff if you want to reuse the rendering XSLT. Alternatively, XSLT 3.0 can produce (and consume!) JSON, so you can use it as way to bridge XML into a traditional React app or to simply process JSON.
Re:XMLUI by sheepscreek on Sunday July 20, 2025 @10:59AM (#44625795)
The performance of available XSLT translation engines would be a big consideration for me, especially in a hot-reload context to support fast iterations.
Re:XMLUI by thechao on Sunday July 20, 2025 @01:53PM (#44627542)
That was my first thought: no XSLT 3 engine that I know of keeps an in-memory object that supports iterative retemplating on diff changes to the source. I think the closest to this is in the functional communities and their lenses. Given how "far" XSLT can reach through a document via Xpath, I don't think it's an easy-to-solve problem.
Re:XMLUI by homarp on Sunday July 20, 2025 @11:58AM (#44626430)
if the target audience is 'citizen developer', aka Visual Basic (classic), I am not sure introducing XSLT is such a good idea.
Re:XMLUI by majewsky on Sunday July 20, 2025 @12:19PM (#44626644)
Every time I've seen XSLT deployed, it was "that one hairball that no one besides the original author dares to touch". I'm not sure what it is about the technology, but it seems to either inevitably desolve into a complex mess or attract complexity fetishists. Either way, not something that would be an obvious choice for what OP is going for.
Re:XMLUI by Quarrelsome on Sunday July 20, 2025 @12:41PM (#44626861)
its because it demands to everything to be effectively processed in a one liner and is locked into its early version due to a licensing failure (I've yet to work in an org that pays up). So if you work in XSLT, then you're stuck in 1999.

IMHO the pattern to improve XSLT is to call out into more useful languages like javascript, which ofc somewhat defeats the point of using it, but it is a useful pattern to slowly move away from it, when encountering it in legacy projects.

Re:XMLUI by willseth on Sunday July 20, 2025 @02:32PM (#44627949)
Not sure what you mean by licensing failure or “one liner”. Browsers are natively limited to XSLT 1.0 not because of licensing, but because they simply didn’t want to implement the newer versions. However Saxon offers free XSLT 3.0 processors for JS, C, Java, and .NET, so there’s not really a limitation to doing modern XSLT development.
Re:XMLUI by Quarrelsome on Sunday July 20, 2025 @04:27PM (#44628999)
Licensing is just another aspect of friction, contributing to everyone sticking on 1.0 and making it annoying for anyone trying to move forward with XSLT. One liner is a lack of procedural logic in its implementation. Its fine for 1-1 mapping but as it gets used in more complicated scenarios it can be hard to developers to architect a solution because there's no space to breathe.
Re:XMLUI by willseth on Sunday July 20, 2025 @07:09PM (#44630235)
What specific licensing problems are your referring to that supposedly hold back XSLT? It’s an open spec, anyone can implement it, and there a free processors under MPL license.

And what specifically do you mean when you say everything has to be processed as a one liner? I’ve never used an XSLT processor where that was true.

Re:XMLUI by Quarrelsome on Sunday July 20, 2025 @07:31PM (#44630383)
To gain access to the better toolset you need v2 and v2 costs. Maybe the org doesn't have it, maybe getting a PO for it is annoying, maybe there's friction around getting it installed on a customer site. Perhaps its just a factor which resulted in everyone else sticking on 1.0. But it never took off in the way promised because of it.

That it is a fiercely declarative language makes it hard to integrate. Often developers are placed within an architecture that gives them limited options and only being able to use XSLT while trying to integrate other network calls or services is non-trivial and a complete headfuck sometimes, compared with more general purpose languages like python or javascript.

Re:XMLUI by willseth on Sunday July 20, 2025 @07:47PM (#44630487)
You are misinformed about license cost, as I’ve already explained in multiple comments.

Hard to integrate in what way? XSLT is a language focused on several things that it’s very good at but it’s not intended to replace Python or be a general purpose language. Yet there are many common data related tasks where a messy and hard to maintain pile of imperative code can be replaced with a simple XSLT.

Re:XMLUI by PantaloonFlames on Sunday July 20, 2025 @08:30PM (#44630715)
You might want to check the username of the person you arr responding to.
Re:XMLUI by Quarrelsome on Sunday July 20, 2025 @09:06PM (#44630877)
its just a name. They keep sealioning me anyway, as if XSLT isn't worthy of any criticism.
Re:XMLUI by Quarrelsome on Sunday July 20, 2025 @09:06PM (#44630875)
I'm talking about the cost as being friction that resulted in 1.0 being so dominant and 2.0 being scarce.

Not everyone gets to pick and choose how they use XSLT. Place I used to work, the services team used to have a sign:

> [X] Days since last custom report

They hated it and I can't blame them, making a series of soap calls, consuming the most degenerate api ever written and generating a document for the customer was a pain. Bear in mind this was an enterprisey "do everything system", oversold by sales and the services team had to use XSLT to bridge the gap between customer expectation and what the salesman sold them.

What they needed was a host for a general purpose language, what they got was XSLT.

Re:XMLUI by lolive on Sunday July 20, 2025 @02:17PM (#44627778)
Reinventing XML traversal/transformation in JavaScript will lead really fast into abstracting away the recursive tree traversal, then mapping node marchers to functions. Which is 99% what XSLT provides off the shelf.
Re:XMLUI by Quarrelsome on Sunday July 20, 2025 @04:29PM (#44629015)
many developers just want to have some space to do some extra logic and XSLT doesn't really accommodate for that. You have to deal with the input and create the output without pausing for breath. While this is fine in simple use-cases where the mapping is 1-1 but when the mapping gets more complicated then it becomes difficult to maintain.
Re:XMLUI by willseth on Sunday July 20, 2025 @07:21PM (#44630329)
That’s simply not true. Certainly it can be hard to wrap your head around architecting complex logic in XSLT 1.0, but it's not unlike how you have to change your thinking for functional programming generally. More ergonomic imperative logic and several other features in XSLT 2.0 made it a much more developer friendly language.
Re:XMLUI by Quarrelsome on Sunday July 20, 2025 @07:35PM (#44630414)
Most orgs don't transition to 2.0 which is a big part of why XSLT sucks.

> but it's not unlike how you have to change your thinking for functional programming generally

I'd write lisp any day of the week over XSLT. I don't think XSLT deserves a place alongside other functional languages because its bound so tightly to xml. Sure, one can argue it has its place when processing XML but I'd pick a general purpose language and process XML with that over XSLT every time.

Re:XMLUI by willseth on Sunday July 20, 2025 @07:56PM (#44630532)
You keep making assertions and generalizations without backing them up with anything concrete while simultaneously moving goalposts. In the cases where you do, you’re just wrong: XSLT is not held back by licensing, it doesn’t “require one liners”, and it has supported JSON since 3.0, which has been around for almost a decade.
Re:XMLUI by Quarrelsome on Sunday July 20, 2025 @09:08PM (#44630880)
why the fuck would you want to use it with json.

XSLT was held back by licensing, its why everything supports 1.0 and barely anything supports 2.0. If 2.0 was released for free then everything would use 2.0.

Re:XMLUI by willseth on Monday July 21, 2025 @11:34AM (#44636424)
Why wouldn’t you just Google instead of repeatedly insisting on things that are wrong?

https://www.npmjs.com/package/saxon-js https://github.com/Saxonica/Saxon-HE

Re:XMLUI by Quarrelsome on Monday July 21, 2025 @12:02PM (#44636801)
well then tell me why every XSLT platform is rooted in 1.0 instead of just saying "no". From my understanding licensing was a factor that played into the reasons that many environments that use XSLT are stuck on 1.0, and why (for example) .NET natively remains on 1.0. The transition to 2.0 appeared to have specific friction: why?

for reference: I'm not talking about today, I'm talking about that point in time where (for example) .NET could have adopted XSLT 2.0 but chose not to.

Re:XMLUI by int_19h on Monday July 21, 2025 @03:34PM (#44639450)
.NET didn't transition to XSLT 2.0 for the simple reason that demand wasn't really there. The way they saw it, LINQ was a better all-around option, with XLINQ specifically being an adequate replacement for XPath, and VB even got a bunch of special syntax to work with XML that made it more concise than XSLT in many cases: https://learn.microsoft.com/en-us/dotnet/visual-basic/progra...

That said, it is emphatically not true that XSLT 2+ was somehow license-restricted. I worked at a company that used XSLT 2.0 and XQuery for code generation back in 2006, and we used the free edition with Saxon with no issues - paid versions had some optimizations and features like static type checking which we simply didn't need.

For the most part, XSLT 1.0 was "good enough" for most cases when XML was still the primary interchange format, and later JSON took over so there was less incentive for framework providers to spend resources on keeping up-to-date with the standard. Especially since XSLT 2.0 was such a massive leap in many ways, including a different data model that made many existing XSLT 1.0 processors incompatible in ways that required a massive redesign.

Re:XMLUI by Quarrelsome on Monday July 21, 2025 @05:03PM (#44640390)
Thank you for the correction <3.
Re:XMLUI by leptons on Sunday July 20, 2025 @12:26PM (#44626719)
>No mention of XSLT?

Nope, but they sure had to make 1/2 the content about "AI" (otherwise nobody would read it?).

Re:XMLUI by HellsMaddy on Sunday July 20, 2025 @12:38PM (#44626832)
My first exposure to XSLT was sketchers.com: https://thedailywtf.com/articles/Sketchy-Skecherscom

Sadly it doesn't seem like they're using it anymore.

Re:XMLUI by donkeybeer on Monday July 21, 2025 @03:23PM (#44639298)
The example looks very minimal and neat by modern standards, shows how much messier modern websites are, I had to even think where is the "wtf".
Re:XMLUI by judell on Sunday July 20, 2025 @02:37PM (#44627996)
I wrestled with how much history to bring into this because I want to look forward not back. The purpose of the announcement is to encourage people to try the tool and find out for themselves if it is a productive way to build the user interfaces they need.
Re:XMLUI by bjoli on Sunday July 20, 2025 @03:39PM (#44628598)
When I discovered oleh kiselyov's SXML/SSAX. It is such a amazing way to work with xml that I simply stopped doing xslt all together.

SSAX is probably the best xml parser I have ever used.

Re:XMLUI by shanghaikid on Monday July 21, 2025 @06:43AM (#44633668)
I remember Blizzard games' website were built by XSLT before, those websites were impressive.
Re:XMLUI by stmw on Monday July 21, 2025 @11:40AM (#44636506)
To use XSLT effectively, you need an intuitive understanding of functional programming, a good grip on low-level HTML5/CSS details, and an engine that can run it quickly and correctly. The first of these is very rare, especially among business programmers. It is about as far away from the "Visual Basic-inspired" design goals of XMLUI as possible. Yes, both involve XML but that's where the similar ends.