# Jing version 20030619

Copyright © 2001, 2002, 2003 Thai Open Source Software Center Ltd. Jing can be freely copied subject to these conditions.

This directory contains version 20030619 of Jing, a validator for RELAX NG and other schema languages.

The directory `bin` contains `.jar` files, ready for use with a a Java runtime.

Version 1.4 of the Java Runtime Environment (JRE), is recommended, which can be downloaded here, since this is what this version of Jing has been tested with. Version 1.1 or later should also work, although some functionality may be present only with version 1.2 or later.

Jing is a command-line application. Once you have installed JRE 1.4, you can run Jing by using the command:

    java -jar path-to-dist/jing-20030619/bin/jing.jar file.rng file.xml

If `file.rng` is a correct schema and `file.xml` is valid with respect to `file.rng`, then Jing will generate no output. Otherwise, it will generate one or more error messages.

Apart from `jing.jar`, the `bin` directory contains some third-party jar files, which are used for XML parsing (under a pre-1.4 JRE that does not provide the Java XML parsing extension) and for validating with schema languages other than RELAX NG:

`saxon.jar`
  Comes from the Saxon 6.5.2 distribution. Used for Schematron validation.
`xercesImpl.jar`
`xml-apis.jar`
  Come from the Xerces-J 2.4.0 distribution. Used for W3C XML Schema validation and for XML parsing. Xerces-J's license requires the following acknowledgment. "This product includes software developed by the Apache Software Foundation (http://www.apache.org/)."
`isorelax.jar`
  Comes from ISO RELAX 2003/01/08 distribution. Provides a bridge to validators that use the JARV interface.

When you use `jing.jar` with the `-jar` option, the above `.jar` files will be used automatically, provided they are in the same directory as `jing.jar` and provided they have not been renamed. When using the `-jar` option, the JRE will ignore any additional class path entries specified by the `-cp` or `-classpath` options or by the `CLASSPATH` environment variable.

If you do not want use the `-jar` option (perhaps because you want to use additional `.jar` files not shipped with Jing), then you must explicitly include all the needed `.jar` files with a `-cp` or `-classpath` option or with the `CLASSPATH` environment variable, and specify a class name of `com.thaiopensource.relaxng.util.Driver`. For example, using a Bourne-compatible shell, you could do:

    d=path-to-dist/jing-20030619/bin
    CLASSPATH=$d/jing.jar:$d/xercesImpl.jar:$d/xml-apis.jar:$d/saxon.jar:$d/isorelax.jar
    export CLASSPATH
    java com.thaiopensource.relaxng.util.Driver file.rng file.xml

For more information about the features and usage of Jing, see this document.

The source code is in the file `src.zip`.