JNVDL is a Java-based implementation of the NVDL specification (see [NVDL]), which was developed from scratch as part of this thesis. It has just one external dependency, as it uses the popular JDOM library for mapping XML instances into Java objects. Those objects can than be manipulated easily and finally outputted back into XML.
Otherwise JNVDL uses just default Java 5 or later APIs and libraries. For exmaple XML processing is done through the default Java API for XML processing (JAXP 1.3) which is a standard approach. It enables applications to parse and transform XML documents independent of a particular XML processing implementation.
Part of the JAXP 1.3 added in Java 5 is the new integrated validation API. The API makes validation transparent to different validator implementations and it allows to invoke validators for different schema languages easily, just by specifying the language name or namespace URI. As discussed later, JNVDL makes a great use of this approach.