Spreading the XML paradigm around

Early Access to JNVDL


The first public alpha release of JNVDL (NVDL implementation written in Java) is out. If you need to validate compound documents please give it a try.

Table of Contents

How to install and use JNVDL
MSV or Xerces?
Getting help and helping to improve JNVDL

NVDL is upcoming ISO standard which can be used to define meta-schemas that define how to validate XML documents that are composed from elements from multiple namespaces. For each namespace NVDL schema can define a schema against which validation should be performed. This schema can be written in an arbitrary schema language like RELAX NG, DTD or W3C XML Schema. NVDL was heavily inspired by NRL language. Although syntax details of NVDL are different from NRL, it is still useful to go through NRL specification to see what can be done with NRL (a thus also with NVDL). Hopefully, someone will create a nice NVDL tutorial early.

Until now, there was only one NVDL implementation written for .NET. This is no longer true, as you can now download Java based implementation called JNVDL.

How to install and use JNVDL

  1. Download binary distribution from http://prdownloads.sourceforge.net/jnvdl/jnvdl-20060501.zip?download.[1]

  2. Unpack the ZIP archive into some directory.

  3. Use provided jnvdl.bat batch file for invoking JNVDL. The easiest way to run NVDL validation is to use command

    jnvdl -s schema.nvdl document.xml

You will need Java 1.5 to run JNVDL. The whole application is written in pure Java, so you can run it on any Java enabled system. You can look inside jnvdl.bat to see which files must be on the classpath in order to run JNVDL.

MSV or Xerces?

By default JNVDL dispatches requests for validation to MSV. But validation of particular schema language can be directed to other validator if necessary. This configuration can be controlled using Java properties. File jnvdl-xerces.bat shows how to use Xerces for WXS validation. This can be very useful change as MSV doesn't support all WXS features.

Getting help and helping to improve JNVDL

If you have questions related to JNVDL, please use JNVDL mailing list. If you found bug in JNVDL, please file it as a bug. Do not forget to attach all files necessary for reproducing the bug – namely NVDL script, XML document and all schemas referenced from NVDL.

The more complete documentation is on the way, meanwhile you can get some additional information from readme. NVDL implements JAXP 1.3 validation API, so it is very easy to use it in your own Java programs. JNVDL is released under BSD-like license, you can find full source code inside CVS repository.


JNVDL is being developed by Petr Nálevka as a part of his master thesis. Where we could be if all students were so eager and professional in creating their theses?

Once it is finished, JNVDL will be used as a new validation core of Relaxed validator. Relaxed is probably the first and only validator which can be used for validation of compound documents (like XHTML with embedded SVG and MathML). These possibilities will be vastly improved once NVDL can be used. More details can be found in our paper for WWW2006 conference.

I would like thank to Murata Makoto for providing several sample NVDL scripts which I have used for some internal testing before this public alpha release. Of course many kudos should go to both Murata Makoto and James Clark for pioneer approaches to XML validation which led to RELAX NG and NVDL.

So, if you are interested in NVDL, please test JNVDL and give us a feedback. This is simple way how you can improve JNVDL and bring more attention to NVDL.

[1] In future, the most recent release should be available from http://sourceforge.net/project/showfiles.php?group_id=164464.

blog comments powered by Disqus
Copyright © Jiří Kosek, 2006–2018