schema-based validation