Saxon-Forms Developer Setup Guide
Source: SETUP.md

Saxon-Forms Developer Setup Guide

This guide documents external dependencies and non-repo assets needed to run Saxon-Forms reliably from a clean clone.

Recommended onboarding flow

Run these commands in order from repo root:

  1. npm run setup
  2. npm run doctor
  3. npm run verify:setup (Docker-based validation)

What is managed by the repo

What is intentionally not committed

The following are excluded by .gitignore and are expected to be generated, downloaded, or installed locally:

Required tools

1) Node.js + npm

2) Playwright browser binaries

3) xslt3 CLI availability

xslt3 is managed as a pinned dev dependency in this repository and is expected to be installed via npm install / npm run setup.

Optional/flow-specific tools

DocBook build toolchain

DocBook commands require:

These requirements are intentional and not committed to git.

Setup commands and profiles

Primary commands

Setup profiles

Non-repo datasets required for some tests

W3C XForms 1.1 test suite

W3C tests require a downloaded suite:

This downloads and extracts the suite into:

NIST XSD dataset

NIST-related manifests reference:

Fetch the dataset with:

This mirrors the W3C asset model by placing downloaded test assets under public-test/ inside this repository (ignored in git).

NIST Playwright engine tests require a generated case index:

Override index path for local experiments with:

Clean-clone bootstrap checklist

  1. npm run setup
  2. npm run doctor
  3. npm run verify:setup
  4. Install Ant + ant4docbook-0.10.0/ and run npm run setup -- --profile docs (if running DocBook build commands)
  5. Run npm run fetch:nist, npm run setup -- --profile nist, and npm run build:nist-engine-index (if running NIST facet workflows)

Repository hygiene note

package-lock.json currently contains an extraneous local path entry (../rabet-v-oscal-ui/frontend).
If you regenerate lockfiles, ensure lockfile changes only reflect this repository’s true dependencies.