mx20022-validate 0.1.1

ISO 20022 message validation: XSD constraints, IBAN/BIC/LEI rules, FedNow, SEPA, and CBPR+ scheme checks
Documentation

Schema and business rule validation for ISO 20022 financial messages.

Overview

This crate provides layered validation for ISO 20022 messages:

  1. Rule layer ([rules]) — individual, reusable validators (IBAN, BIC, length, regex pattern).
  2. Schema layer ([schema]) — orchestrates rules against field constraints derived from XSD facets.

Quick start

use mx20022_validate::rules::RuleRegistry;

let registry = RuleRegistry::with_defaults();

// Validate an IBAN
let errors = registry.validate_field(
    "GB82WEST12345698765432",
    "/Document/CdtTrfTxInf/CdtrAcct/Id/IBAN",
    &["IBAN_CHECK"],
);
assert!(errors.is_empty());

// Validate a BIC
let errors = registry.validate_field(
    "AAAAGB2L",
    "/Document/CdtTrfTxInf/CdtrAgt/FinInstnId/BICFI",
    &["BIC_CHECK"],
);
assert!(errors.is_empty());