[package]
edition = "2021"
name = "xsd-schema"
version = "0.1.0"
authors = ["XmlPad Project"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "XML Schema (XSD 1.0/1.1) validator with PSVI and a built-in XPath 2.0 engine"
readme = "README.md"
keywords = [
"xsd",
"xml",
"schema",
"validation",
"xpath",
]
categories = [
"parser-implementations",
"data-structures",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/semyonc/xsd-schema"
[package.metadata.docs.rs]
features = ["xsd11"]
[features]
async = ["dep:futures"]
default = ["unicode-normalization"]
unicode-normalization = ["dep:unicode-normalization"]
xsd11 = [
"dep:lalrpop-util",
"dep:lalrpop",
"dep:bumpalo",
"dep:regexml",
]
[lib]
name = "xsd_schema"
path = "src/lib.rs"
[[test]]
name = "conformance"
path = "tests/conformance/driver.rs"
harness = false
[[test]]
name = "xpath_integration"
path = "tests/xpath_integration.rs"
required-features = ["xsd11"]
[[test]]
name = "xqts_xpath"
path = "tests/xqts/driver.rs"
harness = false
required-features = ["xsd11"]
[dependencies.base64]
version = "0.22"
[dependencies.bitflags]
version = "2.4"
[dependencies.bumpalo]
version = "3"
features = ["collections"]
optional = true
[dependencies.chrono]
version = "0.4"
[dependencies.futures]
version = "0.3"
optional = true
[dependencies.hex]
version = "0.4"
[dependencies.lalrpop-util]
version = "0.22.2"
optional = true
[dependencies.num-bigint]
version = "0.4"
[dependencies.once_cell]
version = "1.19"
[dependencies.quick-xml]
version = "0.31"
[dependencies.regex]
version = "1.10"
[dependencies.regexml]
version = "0.2"
optional = true
[dependencies.roxmltree]
version = "0.19"
[dependencies.rust_decimal]
version = "1.33"
[dependencies.slotmap]
version = "1.0"
[dependencies.thiserror]
version = "1.0"
[dependencies.unicode-normalization]
version = "0.1"
optional = true
[dev-dependencies.criterion]
version = "0.5"
[dev-dependencies.pretty_assertions]
version = "1.4"
[build-dependencies.lalrpop]
version = "0.22.2"
optional = true