Good points.
I just realized that when I think of 'XSLT' I tend to think of it in terms of the combination of XSLT and XPath.
I just realized that when I think of 'XSLT' I tend to think of it in terms of the combination of XSLT and XPath.
The major conceptual difference I can see is the ability for (apparent) in-place editing/updating, the lack of which was/is a major pain point in XSLT.
As XSLT is a functional language for traversing and manipulating heterogenous trees, one can expect quite a lot similarities beneath the surface syntax for most solutions targeting the same problem. At least in part because the limitations of the users (us) and the problem to be solved tends to constrain the solution space for generic (library like) solutions rather strongly.