I’ve never used nxml, but Jing (version jing-20091111) doesn’t report
any problems for csl.rnc in the “master” branch. Maybe you could test
whether you can fix the issue by rearranging
include "csl-terms.rnc"
include "csl-types.rnc"
include “csl-variables.rnc”
in csl.rnc to
include "csl-variables.rnc"
include "csl-terms.rnc"
include “csl-types.rnc”
? If it does, we can change the order for future versions of CSL. I
can dig into the RELAX NG spec to see if the “include”-order is ever
supposed to matter, although http://www.relaxng.org/compact-tutorial-20030326.html seems silent on
the matter. Probably just a bug in nxml.
A bug in nxml is certainly possible. Except James Clark wrote it, and aside
from being widely considered a master programmer, he’s also the author of
relax ng.