Skip to content

Schema reference

The schema bundle lives in yaml/. A specification declares which schema version it targets (schema_version), and structural validation rejects anything the schema does not declare. The four words you need to read these files -- class, type, expression, registry -- are explained in Schema introduction.

Schema files

File What it declares
schema.yaml The specification entry point: root_class, column_class, inputs, outputs, rows, verifications, metadata
schema_shared.yaml Headers shared across schema files
schema_derivation.yaml The derivation field: the expression plus its unconvertible layer
schema_expression_core.yaml Core expressions: source, literal, first_available, case, flag, greatest, least
schema_expression_mapping.yaml Vocabulary mapping: mapping, cut
schema_expression_str.yaml String expressions: str_extract, str_concat, str_template, str_case, str_pad, str_contains
schema_expression_numeric.yaml Numeric expressions: the closed compute grammar (Numeric computation) and round_half_away_from_zero
schema_expression_aggregate.yaml The aggregate reducers (Aggregation)
schema_expression_date.yaml Temporal expressions: date_diff, study_day, date_impute, date_precision, datetime_impute, datetime_precision, to_date, to_epoch_day (Temporal operations)
schema_expression_window.yaml Window expressions over constructed output rows: row_number, rank, row_value, previous_non_missing, locf, baseline_flag
schema_expression_odm.yaml The odm item read over the fixed ODM schema (Name binding)
schema_function.yaml The function extension point: logical name and named arguments (Project functions)
schema_environment.yaml The project environment: packaging lock, versionless installed functions, inline tests, codelists and submission metadata (Project functions)
schema_verification.yaml Dataset and column verifications (Verification)
schema_metadata.yaml Governed dataset and column metadata (Submission metadata)
schema_define.yaml Define-XML composition inputs (Define-XML)
conditions.yaml The validation-condition registry: every condition an implementation may raise, keyed to the phases that may raise it

The derivation verbs in full, with what each one is for, are tabulated in Schema introduction. The execution semantics behind them are owned by the derivation contracts.