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.