HTML5 RNC- datatype library "http://whattf.org/datatype-draft" not recognized

734 views Asked by At

I tried to validate my HTML5 document against the Nu RNC set available in github.com/validator/validator/tree/master/schema/html using jing, I ended up with "datatype library "http://whattf.org/datatype-draft not recognized" error. I am not sure what is the error all about. Is it not possible to validate the HTML5 using this RNC set in jing?

1

There are 1 answers

4
sideshowbarker On BEST ANSWER

Maintainer of the https://github.com/validator/validator/tree/master/schema/html5 schema here.

That schema’s not really meant for use outside the context of the Nu Html Checker. Among other things, it relies on a datatype library—set of Java classes—we don’t package/distribute separately.

The lack of it in your classpath causes the “Datatype library… not recognized” error you cite. For it to work, in your classpath you need to have a jar file with those classes and a special manifest.

We do distribute a jar file that contains those, but with a lot of other things too—the jar is 22MB. You can get that (zipped) jar from here:

https://github.com/validator/validator/releases/download/17.3.0/vnu.jar_17.3.0.zip

Once you unzip that, you’ll have a local vnu.jar file, which you can use like this:

java -cp vnu.jar com.thaiopensource.relaxng.util.Driver \
  -c https://raw.github.com/validator/validator/master/schema/html5/xhtml5.rnc \
  FILE.xhtml

Of course if you have a local clone of the https://github.com/validator/validator repo, then you can replace https://raw.github.com/validator/validator/master/schema/html5/xhtml5.rnc with the filesystem path to the local copy of that xhtml5.rnc file.