Spreading the XML paradigm around
2006-05-01
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
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.
Download binary distribution from http://prdownloads.sourceforge.net/jnvdl/jnvdl-20060501.zip?download.[1]
Unpack the ZIP archive into some directory.
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.
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.
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.