Note:  if one wishes to test for @USE preventing other properties from appearing, then the autogenerated X3D JSON schemas should be used, Roy introduced the idea in his schema, and it was made widespread in the autogenerated schemas.   I really recommend that people use Ajv or my website which uses Ajv or validateone.sh in x3dschema repository. I have not yet updated my x3dvalidate repository which makes Ajv use on the command-line fairly simple using node.