1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
[]
= "chadpath"
= "0.3.2"
= ["xml", "xpath", "xslt", "html", "scraping"]
= ["parser-implementations"]
= "XPath 1.0 / XSLT engine — a fork of xrust (Apache-2.0) with XPath positional-predicate correctness fixes and parser performance improvements. Used by chadselect."
# 0.3.2: per-query allocation-churn cut on the XPath evaluation path (no
# behaviour change; verified against the full test suite). `compose`
# evolves a single Context in place instead of deep-cloning it every step;
# predicate filtering uses `ctxt.clone()` (not `ContextBuilder::from`,
# which clones the context sequence twice) and reuses the per-item context
# Vec; boolean comparison results reuse a cached `Rc<Value>`. On a
# `//a[…]//b[…]/text()` shape this removed tens of thousands of full-
# Context clones per query (~30% fewer allocations on that path; the
# consuming adapter's un-boxed axis iterators take it to ~45%).
# 0.3.1: NameTest::matches gains a fast-path for the bare `*` wildcard — it no
# longer builds (and immediately discards) a QName for every node tested.
# `//*`-rooted steps are the hottest real-world selector shape, so this
# removes a per-node allocation across the whole-document sweep. No
# behaviour change (verified against the chadselect XPath conformance suite).
= [
# Original xrust authors (Apache-2.0):
"Steve Ball <Steve.Ball@explain.com.au>",
"Daniel Murphy <daniel@devasta.ie>",
# chadpath fork maintainers:
"Cerberus <markjacksoncbt@gmail.com>",
]
= "Apache-2.0"
= "https://github.com/markjacksoncerberus/xrust"
= "https://docs.rs/chadpath/"
= "README.md"
= "2024"
# Keep the published crate small: the W3C XML conformance corpora (~68 MB) are
# only needed to run xrust's own test suite, not to use the library.
= [
"tests/xml/",
"tests/conformance/",
]
[]
# The xslt feature enables XSLT support
= ["xslt"]
= []
# Do you want to run unit tests for the conformance suite
= []
= []
[[]]
= "bench_smite"
= false
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[]
= "0.0.1"
= "1"
= "1.38.0"
= "1.38.0"
= "0.1.4"
= "1.12.0"
= "0.4.42"
= "2.5.7"
= "1.0.0"
= "1.11.2"
= "0.1.2"
# For formatting numbers
= "0.3.0"
# For formatting integers
= "0.3.3"
= "1.0.0"
# This is for the forest tree implementation
#generational-arena = "0.2"
[]
= "0.7.0"
= "0.8.35"
= "0.1.7"
= { = "https://github.com/mdubinko/earleybird.git" }
= "4.7.4"