1
0
mirror of https://github.com/alexandrev/xslt-lab.git synced 2026-09-13 08:43:16 +00:00
Files
alexandrev-tibco e78b71cdbb Use Saxon HE 9.6.0.7 for XSLT 2.0 daemon (last true XSLT 2.0 processor)
Saxon 9.8+ supports XSLT 3.0, so Saxon 10 had the same validation gap
as Saxon 12. Saxon 9.6 is the last release focused on XSLT 2.0; it does
not process xsl:mode or other XSLT 3.0 declarations, making it a proper
XSLT 2.0 validator. Downloaded from SourceForge at build time.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 12:55:08 +02:00

48 lines
1.6 KiB
Bash

#!/bin/sh
set -e
# ── Saxon 12 — XSLT 3.0 (port 8081) ─────────────────────────────────────────
java \
-Xms64m -Xmx256m \
-XX:+UseSerialGC \
-cp '/opt/saxon12/*' \
com.xsltplayground.SaxonDaemon &
# ── XSLTC / JDK — XSLT 1.0 (port 8082) ──────────────────────────────────────
java \
-Xms32m -Xmx128m \
-XX:+UseSerialGC \
-cp '/opt/xalan/*' \
com.xsltplayground.XalanDaemon &
# ── Saxon 9.6 — XSLT 2.0 (port 8083) ────────────────────────────────────────
java \
-Xms32m -Xmx128m \
-XX:+UseSerialGC \
-cp '/opt/saxon9/*' \
com.xsltplayground.Saxon2Daemon &
# ── Wait for all three daemons ────────────────────────────────────────────────
wait_for() {
PORT=$1
NAME=$2
echo "Waiting for $NAME on :$PORT..."
TRIES=0
until wget -qO- "http://127.0.0.1:$PORT/health" > /dev/null 2>&1; do
TRIES=$((TRIES + 1))
if [ $TRIES -ge 60 ]; then
echo "$NAME did not start in time" >&2
exit 1
fi
sleep 0.5
done
echo "$NAME ready after ${TRIES} probes."
}
wait_for 8081 SaxonDaemon
wait_for 8082 XalanDaemon
wait_for 8083 Saxon2Daemon
# ── Go server in foreground ───────────────────────────────────────────────────
exec ./server