a schema-based data validator