xmloxide 0.1.1

A pure Rust reimplementation of libxml2 — memory-safe XML/HTML parsing
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.81"
name = "xmloxide"
version = "0.1.1"
build = false
include = [
    "src/**/*.rs",
    "examples/**/*.rs",
    "examples/**/*.c",
    "benches/**/*.rs",
    "include/*.h",
    "Makefile",
    "Cargo.toml",
    "LICENSE",
    "README.md",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A pure Rust reimplementation of libxml2 — memory-safe XML/HTML parsing"
homepage = "https://github.com/jonwiggins/xmloxide"
documentation = "https://docs.rs/xmloxide"
readme = "README.md"
keywords = [
    "xml",
    "html",
    "parser",
    "dom",
    "xpath",
]
categories = [
    "parser-implementations",
    "web-programming",
]
license = "MIT"
repository = "https://github.com/jonwiggins/xmloxide"

[package.metadata.docs.rs]
features = [
    "cli",
    "ffi",
]

[features]
bench-libxml2 = ["dep:libxml"]
cli = ["dep:clap"]
default = ["cli"]
ffi = []

[lib]
name = "xmloxide"
crate-type = ["lib"]
path = "src/lib.rs"

[[bin]]
name = "xmllint"
path = "src/bin/xmllint.rs"
required-features = ["cli"]

[[example]]
name = "basic_parse"
path = "examples/basic_parse.rs"

[[example]]
name = "c14n"
path = "examples/c14n.rs"

[[example]]
name = "error_recovery"
path = "examples/error_recovery.rs"

[[example]]
name = "html_parse"
path = "examples/html_parse.rs"

[[example]]
name = "push_parser"
path = "examples/push_parser.rs"

[[example]]
name = "reader"
path = "examples/reader.rs"

[[example]]
name = "sax_streaming"
path = "examples/sax_streaming.rs"

[[example]]
name = "serialize"
path = "examples/serialize.rs"

[[example]]
name = "validation"
path = "examples/validation.rs"

[[example]]
name = "xinclude"
path = "examples/xinclude.rs"

[[example]]
name = "xpath_query"
path = "examples/xpath_query.rs"

[[bench]]
name = "comparison_bench"
path = "benches/comparison_bench.rs"
harness = false
required-features = ["bench-libxml2"]

[[bench]]
name = "parser_bench"
path = "benches/parser_bench.rs"
harness = false

[dependencies.clap]
version = "4"
features = ["derive"]
optional = true

[dependencies.encoding_rs]
version = "0.8"

[dependencies.libxml]
version = "0.3"
optional = true

[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]

[dev-dependencies.pretty_assertions]
version = "1"

[lints.clippy]
expect_used = "warn"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
must_use_candidate = "allow"
unwrap_used = "warn"

[lints.clippy.pedantic]
level = "warn"
priority = -1

[lints.rust]
unsafe_code = "deny"

[profile.bench]
lto = "thin"
codegen-units = 1