Configuration Overview

The configuration parser reads standard ELCL documents into typed value trees. These topics begin with the complete loading workflow, continue through tree navigation, typed value access, and validation, then cover optional placeholder expansion and signed production configurations.

Parsing and Validation

Parsing Configuration Documents follows a configuration from source text to validated application settings. It explains throwing and non-throwing parser entry points, typed value access, document lifetime, manual validation, rule documents, and validation rules built in C++.

Value-Tree Navigation

Working with Configuration Trees explains how ELCL sections, assignments, and lists become a tree of values. It covers name paths, local and absolute names, optional and required child lookup, parent links, and list iteration.

Typed Value Access

Accessing Configuration Values explains how to turn tree nodes into native values. It compares direct conversion with the recommended typed getters, covers strict and relaxed list views, introduces type-checked lists and matrices, and shows how to inspect a value’s type.

Validation Rules

Validating Documents with Rule Schemas shows how to validate a complete document before application code reads it. It demonstrates an ELCL rule schema compiled into the executable as a resource and the equivalent C++ workflow with RulesBuilder.

Validated Values

Using Values after Validation explains the metadata available after successful validation. It shows how to read titles and descriptions from the matching rule, handle secret values, distinguish inserted defaults, and recognize deliberately unvalidated branches.

Source Resolving

Resolving Configuration Sources follows an @include descriptor through source resolution. It demonstrates relative paths and wildcards, shows how to restrict FileSourceResolver, and implements a custom resolver for an application-owned include scheme.

Source Access Control

Controlling Access to Configuration Sources explains how every source is checked before the parser opens it. It covers the default filesystem boundary, all FileAccessCheck features, application rules layered on that default, and complete custom policies such as an exact source allowlist.

Placeholder Expansion

Using Placeholders in Configuration Text explains how a quoted text can request a value from a registered source and pass that value through filters. Expansion is disabled by default, and applications decide which sources and filters are available.

The shared Using Built-in Placeholder Sources and Transforming Placeholder Text with Built-in Filters topics explain the available value providers and text transformations.

Document Signatures

Trusting Signed Configuration Files explains why configuration signatures are useful and why an independent trust anchor is essential when only selected people may approve a configuration. It introduces the ELCL @signature meta-value and the roles of the parser, validator, signer callback, and signing tool before the practical validation and signing workflows.

Signature Validation

Validating Configuration Signatures implements a signature validator, installs it in the parser, and demonstrates successful validation, rejection after a document change, and an explicit policy for unsigned development files. It also explains how strict validation applies to included documents and where signer authorization belongs.

Signing Configuration Files

Signing Configuration Documents implements a signing backend and follows a configuration through parsing, signing, and final verification. It explains the byte-level signing boundary and compares application-integrated, separate local, and web-based signing workflows.