pub struct ContentMarkedContent {
pub operator: MarkedContentOp,
pub tag: String,
pub properties: Option<Dict>,
pub depth: u32,
}Expand description
One marked-content operator surfaced by
parse_content_stream_full_with_properties. ISO 32000-1 §14.6
defines five marked-content operators (Table 320) that fall into
two shapes:
- Points —
MP(tag) andDP(tag properties) designate a single marked-content point in the stream. - Sequences —
BMC(tag) andBDC(tag properties) begin a sequence terminated by a balancingEMC.
One ContentMarkedContent is recorded per operator in stream
order, so a downstream consumer can reconstruct the marked-content
tree (e.g. to find an /OC membership tag for optional content,
§8.11.3.2, or an /ActualText / /Alt accessibility entry,
§14.9.4). The walker does not interpret the property list — its
entries stay verbatim in properties so a downstream consumer can
resolve /OC, /MCID, /ActualText, etc. as it sees fit.
Fields§
§operator: MarkedContentOpWhich marked-content operator produced this event.
tag: StringThe tag operand — a Name indicating the role or significance
of the marked content (e.g. "OC", "Span", "P"), leading
/ stripped. EMC carries no tag, so its tag is empty.
properties: Option<Dict>The resolved property list for DP / BDC (§14.6.2): either the
inline << … >> dictionary written directly after the tag, or
the dictionary named in /Resources /Properties when the
operand was a /Name. None for MP / BMC / EMC (which
carry no property list) and for a DP / BDC whose /Name
operand wasn’t resolvable against the supplied
properties_resources.
depth: u32Nesting depth at the moment the operator fired, counting
BMC/BDC-opened sequences only (MP/DP points do not nest).
BMC/BDC report the depth of the sequence they open (0 for a
top-level sequence); the matching EMC reports the same depth;
MP/DP report the depth of the sequence that encloses them
(0 when not inside any). An unbalanced EMC (no open sequence)
reports depth 0 and is tolerated.
Trait Implementations§
Source§impl Clone for ContentMarkedContent
impl Clone for ContentMarkedContent
Source§fn clone(&self) -> ContentMarkedContent
fn clone(&self) -> ContentMarkedContent
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more