pub struct Section {
pub id: Option<String>,
pub section_type: Option<String>,
pub label: Option<String>,
pub title: Option<String>,
pub content: String,
pub subsections: Vec<Section>,
pub figures: Vec<Figure>,
pub tables: Vec<Table>,
pub formulas: Vec<Formula>,
pub cited_reference_ids: Vec<String>,
}Expand description
Article section.
Maps to JATS <sec>. Sections form a recursive tree via subsections.
Figures, tables, and formulas that appear inline within the section are
collected in their respective fields.
Fields§
§id: Option<String>Section ID. From <sec id="...">.
section_type: Option<String>Section type. From <sec sec-type="...">.
Common values: "intro", "methods", "results", "discussion",
"conclusions", "supplementary-material", "data-availability".
label: Option<String>Section label/number (e.g., “1.”, “2.1”). From <label>.
title: Option<String>Section title. From <title>.
content: StringConcatenated paragraph text. From <p> elements.
subsections: Vec<Section>Nested subsections. From child <sec> elements.
figures: Vec<Figure>Figures within this section. From <fig> elements.
tables: Vec<Table>Tables within this section. From <table-wrap> elements.
formulas: Vec<Formula>Display formulas within this section. From <disp-formula> elements.
cited_reference_ids: Vec<String>Reference ids cited in this section’s paragraphs, in document order.
From <xref ref-type="bibr" rid="...">; each id targets a
Reference::id in Back::references, so consumers can join the two
for citation-context / citation-graph analysis. A grouped citation
(rid="B1 B2") contributes each id separately.
Implementations§
Source§impl Section
impl Section
Sourcepub fn kind(&self) -> SectionKind
pub fn kind(&self) -> SectionKind
Semantic classification of this section’s sec-type.
Sourcepub fn iter_subtree(&self) -> SectionIter<'_> ⓘ
pub fn iter_subtree(&self) -> SectionIter<'_> ⓘ
Iterate this section and all of its nested subsections, depth-first in document order (pre-order: parent before children).
Sourcepub fn all_figures(&self) -> Vec<&Figure>
pub fn all_figures(&self) -> Vec<&Figure>
All figures in this section and its subsections (recursive).
Sourcepub fn all_tables(&self) -> Vec<&Table>
pub fn all_tables(&self) -> Vec<&Table>
All tables in this section and its subsections (recursive).
Sourcepub fn all_formulas(&self) -> Vec<&Formula>
pub fn all_formulas(&self) -> Vec<&Formula>
All display formulas in this section and its subsections (recursive).
Sourcepub fn all_cited_reference_ids(&self) -> Vec<&String>
pub fn all_cited_reference_ids(&self) -> Vec<&String>
All cited reference ids in this section and its subsections (recursive),
in document order. See Section::cited_reference_ids.
Sourcepub fn word_count(&self) -> usize
pub fn word_count(&self) -> usize
Whitespace-delimited word count of this section’s own content
(not including subsections). Useful for readability/length metrics.