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
//! Shared parse-context types.
//!
//! Bundles the XML event-loop plumbing (`XmlCtx`) and per-item/per-entry
//! parsing state (`EntryCtx`) that would otherwise be threaded as separate
//! parameters through every RSS/Atom/RSS 1.0 helper function, keeping their
//! signatures under clippy's `too_many_arguments` threshold.
use HashMap;
use Reader;
use crateParserLimits;
use crateBaseUrlContext;
/// XML event-loop plumbing shared by every parser helper.
///
/// Carries the reader, its reusable event buffer, and the active
/// [`ParserLimits`]. Every helper that consumes XML events borrows the
/// `reader`/`buf` pair from here instead of taking them as separate
/// parameters.
/// Per-item (RSS/RSS 1.0) or per-entry (Atom) parsing context.
///
/// Built at the top of `parse_item`/`parse_entry` — never by the caller,
/// since the caller holds `feed: &mut ParsedFeed` and this context borrows
/// `&feed.namespaces` for its lifetime. Carries the read-only context
/// (namespaces, xml:base, xml:lang) plus accumulators written while walking
/// an item/entry's children.