#![forbid(unsafe_code)]
pub mod datetime;
pub mod dfa;
mod error;
mod facets;
pub mod identity;
mod lexical;
mod parser;
mod particle_restriction;
pub use crate::regex;
mod resolver;
pub mod schema;
pub mod types;
mod assertion;
mod validate;
mod whitespace;
pub use error::{
SchemaCompileError, ValidationError, ValidationIssue, ValidationKind, ValidationOptions,
};
pub use facets::{Facet, FacetSet, FacetViolation, TimezoneRequirement};
pub use identity::{ConstraintKind, IdentityConstraint, FieldPath, NameTest, PathExpr,
PathStep, SelectorPath};
pub use resolver::{FsResolver, InMemoryResolver, NoResolver, SchemaResolver};
pub use schema::{
AttributeDecl, AttributeGroup, AttributeUse, AttributeUseKind, BlockSet, ContentModel,
ElementDecl, GroupKind, MaxOccurs, ModelGroup, NamespaceConstraint, NotationDecl, Particle,
ProcessContents, QName, Schema, SchemaOptions, SchemaVersion, Term, TypeRef, Wildcard,
};
pub use types::{
BuiltinType, ComplexType, Derivation, DerivationMethod, SimpleType, TypeDef, Value,
};
pub use validate::PsviTypes;
pub use whitespace::WhitespaceMode;