RNV is a lightweight Relax NG Compact Syntax validator, and it seems to be pretty much the only one of them that is not written in Java but instead in ANSI C. It uses nothing but expat to get its job done. From the author's homepage (http://www.davidashen.net/rnv.html): RNV — Relax NG Validator RNV is an implementation of Relax NG Compact Syntax validator in ANSI C. The command-line utility uses Expat. It is distributed under BSD license. The validator is a by-product of my work on authoring tools for marked-up documents. While it was written to polish techniques and approaches, it is fast, can work with limited memory footprint and has good and flexible error reporting. XML Schema datatypes have been implemented to make it even more usable. Expat is the only external library it relies on (besides ANSI C), everything else is inside. ----- I tested that ebuild on amd64 and arm. The test on the latter arch was on a CHOST="armeb-softfloat-linux-uclibc" box. x86 reportedly worked as well, thus the ~x86 keyword. This validator also seems to have a scheme-based interface for custom datatypes, but this is not covered by the ebuild.
Created attachment 130899 [details] rnv-1.7.8.ebuild ebuild for rnv-1.7.8
In Portage now.