# oNVDL version 20070517

Copyright © 2006-2007 Syncro Soft Ltd. oNVDL can be freely copied subject to these conditions.

This directory contains version 20070517 of oNVDL, an NVDL implementation on top 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. Version 1.1 or later should also work, although some functionality may be present only with version 1.2 or later.

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

    java -jar path-to-dist/onvdl/bin/onvdl.jar file.nvdl file.xml

If `file.nvdl` is a correct NVDL script and `file.xml` is valid with respect to `file.nvdl`, then oNVDL will generate no output. Otherwise, it will generate one or more error messages.

Apart from `onvdl.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 and NVDL, see doc/onvdl.html for more details.

When you use `onvdl.jar` with the `-jar` option, the `.jar` files mentioned above will be used automatically, provided they are in the same directory as `onvdl.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 oNVDL), 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/onvdl/bin
    CLASSPATH=$d/oNVDL.jar:$d/xercesImpl.jar:$d/xml-apis.jar:$d/saxon.jar:$d/isorelax.jar:$d/log4j.jar
    export CLASSPATH
    java com.thaiopensource.relaxng.util.Driver file.nvdl file.xml

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

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