Skip to main content

xsd_schema/validation/
mod.rs

1//! Instance validation against XSD schemas
2//!
3//! This module provides validation error types, a push-based `SchemaValidator`,
4//! and supporting types for XML instance validation with spec-aligned error codes.
5
6pub mod active_axis;
7#[cfg(feature = "xsd11")]
8pub mod alternatives;
9#[cfg(feature = "xsd11")]
10pub mod assertions;
11pub mod asttree;
12pub mod content;
13pub mod context;
14pub mod errors;
15pub mod hint_loader;
16pub mod identity;
17pub mod identity_lexer;
18pub mod identity_parser;
19pub mod info;
20pub mod navigator_driver;
21pub mod quick_xml_driver;
22pub mod runtime;
23pub mod simple;
24pub mod validator;
25
26pub use errors::{
27    error, error_with_path, facet_constraint_code, from_facet_error, from_value_error,
28    value_error_constraint_code, ValidationError, ValidationResult,
29};
30
31#[cfg(feature = "xsd11")]
32pub use info::{AssertionOutcome, InheritedAttribute};
33pub use info::{
34    ContentProcessing, ContentType, DefaultAttribute, ExpectedAttribute, ExpectedElement,
35    NoNamespaceSchemaLocationHint, NodeIdentity, SchemaInfo, SchemaLocationHint, SchemaValidity,
36    TypeSource, ValidationAttempted, ValidationFlags,
37};
38
39pub use content::{ContentValidatorState, ElementMatchInfo};
40
41pub use context::{ElementValidationState, ValidatorState};
42
43pub use simple::{validate_simple_type, SimpleTypeResult};
44
45pub use hint_loader::{
46    enrich_schema_set, load_hints_into_builder, EnrichmentOutcome, HintLoadResult,
47};
48pub use identity::{KeyFieldValue, KeySequence, KeyTable};
49pub use navigator_driver::drive_navigator;
50#[cfg(feature = "xsd11")]
51pub use navigator_driver::drive_buffer_document;
52pub use quick_xml_driver::{
53    drive_quick_xml, drive_quick_xml_in, drive_quick_xml_with, drive_quick_xml_with_in,
54    AttributeView, DriveError, DriveOutcome, DriveWithError, ElementStartView, EndElementInfo,
55    EndOfAttributesView, NoopHandler, TextKind, ValidationEventHandler,
56};
57pub use runtime::ValidationRuntime;
58pub use validator::{
59    CollectingValidationSink, ErrorOnlySink, SchemaValidator, ValidationSink, ValidationWarning,
60};