Although XSLT is called a "style-sheet language", in reality it is a declarative programming language. An XSLT stylesheet can be every bit as complex as a Java program that performs similar tasks. Stylesheets can be very large (Neil Bradley has written stylesheets that are over 6000 lines in length and simultaneously process multiple XML source documents).
However, XSLT has limited capabilities, beyond its core competence as a data transformation language, and sometimes it is necessary to replace an XSLT stylesheet with a program written in Java or C#.
XSLT is used in the KalphaX proposition to create HTML Web pages from XML documents.