[package]
name = "libxml-rs"
version = "0.1.0-alpha.4"
edition = "2021"
description = "Phase 3: I/O, encoding, URI, catalog, serialization, HTML. Native-Rust forensic reimplementation of libxml2+libxslt with C ABI drop-in replacement. 357 tests passing, full encoding subsystem, URI parser, OASIS catalog, HTML parser/serializer, tree serialization, custom I/O buffers."
license = "MIT OR Apache-2.0"
repository = "https://github.com/infinityabundance/libxml-rs"
homepage = "https://github.com/infinityabundance/libxml-rs"
documentation = "https://docs.rs/libxml-rs"
readme = "README.md"
authors = ["libxml-rs Contributors"]
categories = ["parser-implementations", "external-ffi-bindings"]
keywords = ["xml", "xslt", "libxml2", "libxslt", "abi-compatible"]
exclude = [
"libxml-rs-prompt.txt",
"archaeology/",
"tools/",
"docker/",
"oracle/",
"courts/",
".gitignore",
"session1.md",
"CACHEDIR.TAG",
]
autobins = false
autotests = true
autoexamples = false
autobenches = false
[lib]
name = "libxml_rs"
crate-type = ["cdylib", "staticlib", "rlib"]
[[bin]]
name = "xmllint"
path = "src/bin/xmllint.rs"
[[bin]]
name = "xmlcatalog"
path = "src/bin/xmlcatalog.rs"
[[bin]]
name = "xsltproc"
path = "src/bin/xsltproc.rs"
[profile.release]
lto = true
codegen-units = 1
panic = "abort"
strip = "symbols"
[profile.dev]
debug = true
overflow-checks = true
[features]
default = ["libxml2", "libxslt", "xpath", "xinclude", "schemas", "catalog", "html", "c14n", "regexp", "reader", "writer", "debug", "threads"]
libxml2 = []
libxslt = []
xpath = []
xinclude = []
schemas = []
catalog = []
html = []
c14n = []
regexp = []
reader = []
writer = []
debug = []
threads = []
legacy_parser = []
thread_local_globals = []
resource_loader_transition = []
html_behavior_transition = []
error_subsystem_transition = []
[dependencies]
libc = { version = "0.2", features = ["extra_traits"] }
bitflags = "2.0"
smallvec = "1.10"
hashbrown = "0.14"
once_cell = "1.19"
parking_lot = "0.12"
encoding_rs = "0.8"
encoding_rs_io = "0.1"
regex = { version = "1.10", optional = true }
chrono = { version = "0.4", features = ["std"], optional = true }
num-bigint = { version = "0.4", optional = true }
num-traits = { version = "0.2", optional = true }
serde = { version = "1.0", features = ["derive"], optional = true }
serde_json = { version = "1.0", optional = true }
tempfile = { version = "3.8", optional = true }
pretty_assertions = { version = "1.4", optional = true }
arbitrary = { version = "1.3", optional = true }
[dev-dependencies]
criterion = { version = "0.5", features = ["html_reports"] }
proptest = "1.0"
quickcheck = "1.0"
quickcheck_macros = "1.0"
[workspace]
[badges]
maintenance = { status = "actively-developed" }