FDL Core Library
ASC Framing Decision List — C/C++ Reference Implementation
Loading...
Searching...
No Matches
Data Structures | Functions
fdl_validate_api.cpp File Reference

C ABI wrappers for document validation. More...

#include "fdl/fdl_core.h"
#include "fdl_doc.h"
#include "fdl_validate.h"
#include <new>

Data Structures

struct  fdl_validation_result
 Concrete type backing the opaque fdl_validation_result_t handle. More...
 

Functions

fdl_validation_result_tfdl_doc_validate (const fdl_doc_t *doc)
 Run schema and semantic validators on the document.
 
uint32_t fdl_validation_result_error_count (const fdl_validation_result_t *result)
 Get the number of validation errors.
 
const char * fdl_validation_result_error_at (const fdl_validation_result_t *result, uint32_t index)
 Get a specific error message by index.
 
void fdl_validation_result_free (fdl_validation_result_t *result)
 Free a validation result.
 

Detailed Description

C ABI wrappers for document validation.

Function Documentation

◆ fdl_doc_validate()

fdl_validation_result_t * fdl_doc_validate ( const fdl_doc_t doc)

Run schema and semantic validators on the document.

Schema validation (JSON Schema Draft 2020-12) runs first; semantic validators (referential integrity, value range checks) run only if the document is structurally valid.

Parameters
docDocument to validate.
Returns
Validation result handle. Caller owns — free with fdl_validation_result_free().

◆ fdl_validation_result_error_count()

uint32_t fdl_validation_result_error_count ( const fdl_validation_result_t result)

Get the number of validation errors.

Parameters
resultValidation result handle.
Returns
Number of errors (0 means the document is valid).

◆ fdl_validation_result_error_at()

const char * fdl_validation_result_error_at ( const fdl_validation_result_t result,
uint32_t  index 
)

Get a specific error message by index.

Parameters
resultValidation result handle.
indexZero-based error index.
Returns
Error message string, or NULL if index is out of range. Pointer valid until result is freed.

◆ fdl_validation_result_free()

void fdl_validation_result_free ( fdl_validation_result_t result)

Free a validation result.

Safe to call with NULL.

Parameters
resultValidation result to free, or NULL (no-op).