[package]
name = "fastxml"
version = "0.8.1"
edition = "2024"
description = "A fast, memory-efficient XML library with XPath and XSD validation support"
license = "MIT OR Apache-2.0"
keywords = ["xml", "xpath", "xsd", "streaming", "parser"]
categories = ["parser-implementations", "encoding"]
repository = "https://github.com/reearth/fastxml"
homepage = "https://github.com/reearth/fastxml"
documentation = "https://docs.rs/fastxml"
[dependencies]
quick-xml = { version = "0.37", features = ["serialize"] }
thiserror = "2"
parking_lot = "0.12"
dashmap = "6"
indexmap = "2"
smallvec = "1"
compact_str = "0.8"
xxhash-rust = { version = "0.8", features = ["xxh64"] }
tempfile = "3"
regex = "1"
url = "2"
ureq = { version = "2", optional = true }
reqwest = { version = "0.12", default-features = false, features = ["rustls-tls"], optional = true }
tokio = { version = "1", features = ["fs"], optional = true }
async-trait = { version = "0.1", optional = true }
tracing = "0.1"
memory-stats = { version = "1", optional = true }
clap = { version = "4", features = ["derive"], optional = true }
serde = { version = "1", features = ["derive"], optional = true }
serde_json = { version = "1", optional = true }
flate2 = { version = "1", optional = true }
libxml = { version = "0.3", optional = true }
[dev-dependencies]
criterion = "0.5"
tokio = { version = "1", features = ["rt-multi-thread", "macros"] }
tokio-test = "0.4"
tempfile = "3"
serde_json = "1"
ureq = "2"
flate2 = "1"
clap = { version = "4", features = ["derive"] }
[features]
default = []
async-trait = ["dep:async-trait"]
ureq = ["dep:ureq", "dep:clap", "dep:serde", "dep:serde_json", "dep:flate2"]
tokio = ["async-trait", "dep:reqwest", "dep:tokio"]
profile = ["memory-stats"]
compare-libxml = ["dep:libxml"]
[[bench]]
name = "profile"
harness = false
[[bench]]
name = "load_test"
harness = false
[[example]]
name = "profile_cli"
required-features = ["profile"]
[[example]]
name = "async_schema_resolution"
required-features = ["tokio"]
[[bin]]
name = "fastxml-validate"
path = "src/bin/validate.rs"
required-features = ["ureq"]
[workspace]
members = ["conformance"]