Berlioz requires an XSLT 2.0 processor on the runtime classpath. The JDK's built-in Xalan only supports XSLT 1.0 and cannot run Berlioz stylesheets.
XSLT 3.0 is recommended if you use JSON output, as it enables the native JSON serialisation features.
Add Saxon-HE to your web application's runtime classpath (Saxon PE and Saxon EE are also supported and provide additional features):
Gradle:
runtimeOnly("net.sf.saxon:Saxon-HE:13.0")
Maven:
<dependency> <groupId>net.sf.saxon</groupId> <artifactId>Saxon-HE</artifactId> <version>13.0</version> <scope>runtime</scope> </dependency>