Skip to content
/ norman-j Public

A parallelizing XSLT processor using SAXON and Clojure

License

Notifications You must be signed in to change notification settings

CDRH/norman-j

Repository files navigation

Norman-J

Version 1.0.0.

A warning from King Harold II . . .

We have been using this software internally for years without incident. That does not mean that it will work in your world.

Description

Norman is an XSLT processor (built on top of Saxon) that parallelizes across n processors.

Norman is designed for large transformation tasks. It is likely to be useful to you only under the following circumstances:

  1. You have at least hundreds, if not thousands of texts to process (at CDRH, we have used it to process collections exceeding 25,000 files).

  2. You can run Norman on multicore hardware.

If those two circumstances obtain, Norman might be just the thing.

Building Norman from Source

Norman is written entirely in Clojure using the Leiningen build tool. So assuming you have both Clojure (we're using version 1.9.0) and the current copy of Leiningen (version 2), you should be able to type:

lein deps
lein uberjar

This will generate a completely self-contained jar labeled norman-X.X.X.jar in $NORMAN_HOME/target. You can rename that as you please.

Running Norman-J

You can run it with:

java -jar norman-X.X.X.jar -s [your_stylesheet]

By default, Norman-J looks for a NORMAN_HOME environment variable containing a directory path, and will expect to find directories beneath it labeled input (where your texts should reside) and output (where Norman-J will write the converted files). You can set these manually by passing fully qualified paths to the -i and -o switches.

Norman-J also takes the following switches:

-h, --help
-V, --version

The -s switch is mandatory.

License, etc.

Norman-J is written and maintained by Stephen Ramsay for the Center for Digital Research in the Humanities at the University of Nebraska-Lincoln.

Copyright © 2012-2018 Board of Regents of the University of Nebraska-Lincoln. Norman may be freely distributed and/or modified subject to certain conditions. It is made available in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See COPYING for more details.

About

A parallelizing XSLT processor using SAXON and Clojure

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published