pub enum FoNodeData<'a> {
Show 61 variants
Root,
LayoutMasterSet,
SimplePageMaster {
master_name: String,
properties: PropertyList<'a>,
},
RepeatablePageMasterAlternatives {
maximum_repeats: Option<i32>,
},
ConditionalPageMasterReference {
master_reference: String,
page_position: PagePosition,
odd_or_even: OddOrEven,
blank_or_not_blank: BlankOrNotBlank,
},
RegionBody {
properties: PropertyList<'a>,
},
RegionBefore {
properties: PropertyList<'a>,
},
RegionAfter {
properties: PropertyList<'a>,
},
RegionStart {
properties: PropertyList<'a>,
},
RegionEnd {
properties: PropertyList<'a>,
},
PageSequence {
master_reference: String,
format: String,
grouping_separator: Option<char>,
grouping_size: Option<usize>,
properties: PropertyList<'a>,
},
Flow {
flow_name: String,
properties: PropertyList<'a>,
},
StaticContent {
flow_name: String,
properties: PropertyList<'a>,
},
Block {
properties: PropertyList<'a>,
},
Inline {
properties: PropertyList<'a>,
},
ListBlock {
properties: PropertyList<'a>,
},
ListItem {
properties: PropertyList<'a>,
},
ListItemLabel {
properties: PropertyList<'a>,
},
ListItemBody {
properties: PropertyList<'a>,
},
Table {
properties: PropertyList<'a>,
},
TableColumn {
properties: PropertyList<'a>,
},
TableHeader {
properties: PropertyList<'a>,
},
TableFooter {
properties: PropertyList<'a>,
},
TableBody {
properties: PropertyList<'a>,
},
TableRow {
properties: PropertyList<'a>,
},
TableCell {
properties: PropertyList<'a>,
},
ExternalGraphic {
src: String,
content_width: Option<String>,
content_height: Option<String>,
scaling: Option<String>,
properties: PropertyList<'a>,
},
InstreamForeignObject {
content_width: Option<String>,
content_height: Option<String>,
scaling: Option<String>,
foreign_xml: String,
properties: PropertyList<'a>,
},
BasicLink {
internal_destination: Option<String>,
external_destination: Option<String>,
properties: PropertyList<'a>,
},
BookmarkTree {
properties: PropertyList<'a>,
},
Bookmark {
internal_destination: Option<String>,
external_destination: Option<String>,
properties: PropertyList<'a>,
},
BookmarkTitle {
properties: PropertyList<'a>,
},
PageNumberCitation {
ref_id: String,
properties: PropertyList<'a>,
},
PageNumberCitationLast {
ref_id: String,
properties: PropertyList<'a>,
},
Leader {
properties: PropertyList<'a>,
},
Marker {
marker_class_name: String,
properties: PropertyList<'a>,
},
RetrieveMarker {
retrieve_class_name: String,
retrieve_position: RetrievePosition,
properties: PropertyList<'a>,
},
Footnote {
properties: PropertyList<'a>,
},
FootnoteBody {
properties: PropertyList<'a>,
},
Float {
properties: PropertyList<'a>,
},
PageNumber {
properties: PropertyList<'a>,
},
BlockContainer {
properties: PropertyList<'a>,
},
InlineContainer {
properties: PropertyList<'a>,
},
TableAndCaption {
properties: PropertyList<'a>,
},
TableCaption {
properties: PropertyList<'a>,
},
PageSequenceMaster {
master_name: String,
},
Declarations,
ColorProfile {
src: String,
color_profile_name: String,
},
UnsupportedElement {
element_name: String,
},
MultiSwitch {
properties: PropertyList<'a>,
},
MultiCase {
starting_state: String,
properties: PropertyList<'a>,
},
MultiToggle {
properties: PropertyList<'a>,
},
MultiProperties {
properties: PropertyList<'a>,
},
MultiPropertySet {
properties: PropertyList<'a>,
},
Wrapper {
properties: PropertyList<'a>,
},
Character {
character: char,
properties: PropertyList<'a>,
},
BidiOverride {
direction: String,
properties: PropertyList<'a>,
},
InitialPropertySet {
properties: PropertyList<'a>,
},
ChangeBarBegin {
change_bar_class: String,
properties: PropertyList<'a>,
},
ChangeBarEnd {
change_bar_class: String,
},
Text(String),
}Expand description
FO node data - the actual formatting object information
Variants§
Root
fo:root - document root
LayoutMasterSet
fo:layout-master-set - page layout definitions
SimplePageMaster
fo:simple-page-master - single page layout
RepeatablePageMasterAlternatives
fo:repeatable-page-master-alternatives - conditional page master selection
ConditionalPageMasterReference
fo:conditional-page-master-reference - conditional reference to page master
Fields
page_position: PagePositionPage position constraint (first, last, rest, any)
blank_or_not_blank: BlankOrNotBlankBlank or not blank constraint (blank, not-blank, any)
RegionBody
fo:region-body - main content region
Fields
properties: PropertyList<'a>RegionBefore
fo:region-before - header region
Fields
properties: PropertyList<'a>RegionAfter
fo:region-after - footer region
Fields
properties: PropertyList<'a>RegionStart
fo:region-start - left sidebar region
Fields
properties: PropertyList<'a>RegionEnd
fo:region-end - right sidebar region
Fields
properties: PropertyList<'a>PageSequence
fo:page-sequence - sequence of pages
Fields
properties: PropertyList<'a>Flow
fo:flow - flowing content
StaticContent
fo:static-content - static content (headers/footers)
Block
fo:block - block-level element
Fields
properties: PropertyList<'a>Inline
fo:inline - inline-level element
Fields
properties: PropertyList<'a>ListBlock
fo:list-block - list container
Fields
properties: PropertyList<'a>ListItem
fo:list-item - list item
Fields
properties: PropertyList<'a>ListItemLabel
fo:list-item-label - list item label (bullet/number)
Fields
properties: PropertyList<'a>ListItemBody
fo:list-item-body - list item content
Fields
properties: PropertyList<'a>Table
fo:table - table container
Fields
properties: PropertyList<'a>TableColumn
fo:table-column - table column definition
Fields
properties: PropertyList<'a>TableHeader
fo:table-header - table header
Fields
properties: PropertyList<'a>fo:table-footer - table footer
TableBody
fo:table-body - table body
Fields
properties: PropertyList<'a>TableRow
fo:table-row - table row
Fields
properties: PropertyList<'a>TableCell
fo:table-cell - table cell
Fields
properties: PropertyList<'a>ExternalGraphic
fo:external-graphic - image reference
Fields
content_width: Option<String>content-width: explicit length, “scale-to-fit”, “scale-down-to-fit”, “scale-up-to-fit”, or “auto”
content_height: Option<String>content-height: explicit length, “scale-to-fit”, “scale-down-to-fit”, “scale-up-to-fit”, or “auto”
properties: PropertyList<'a>InstreamForeignObject
fo:instream-foreign-object - embedded content (SVG, etc.)
Fields
properties: PropertyList<'a>BasicLink
fo:basic-link - hyperlink
Fields
properties: PropertyList<'a>BookmarkTree
fo:bookmark-tree - document outline root
Fields
properties: PropertyList<'a>Bookmark
fo:bookmark - bookmark entry
Fields
properties: PropertyList<'a>BookmarkTitle
fo:bookmark-title - bookmark title text
Fields
properties: PropertyList<'a>PageNumberCitation
fo:page-number-citation - reference to page number of an element
PageNumberCitationLast
fo:page-number-citation-last - reference to last page of an element (Section 8.10)
Leader
fo:leader - visual separator (dots, lines, etc.)
Fields
properties: PropertyList<'a>Marker
fo:marker - content for running headers/footers
RetrieveMarker
fo:retrieve-marker - retrieves marker content
Footnote
fo:footnote - footnote container
Fields
properties: PropertyList<'a>FootnoteBody
fo:footnote-body - footnote content
Fields
properties: PropertyList<'a>Float
fo:float - floating element (like CSS floats)
Fields
properties: PropertyList<'a>PageNumber
fo:page-number - inline element inserting the current page number
Fields
properties: PropertyList<'a>BlockContainer
fo:block-container - block-level container with absolute/fixed positioning
Fields
properties: PropertyList<'a>InlineContainer
fo:inline-container - inline-level block container (Section 8.13)
Fields
properties: PropertyList<'a>TableAndCaption
fo:table-and-caption - table with an associated caption (Section 9.3.3)
Fields
properties: PropertyList<'a>TableCaption
fo:table-caption - caption for a table (Section 9.4)
Fields
properties: PropertyList<'a>PageSequenceMaster
fo:page-sequence-master - sequence of page master alternatives
Declarations
fo:declarations - document-level declarations (color profiles, etc.)
ColorProfile
fo:color-profile - ICC color profile declaration
UnsupportedElement
Placeholder for recognized but unsupported XSL-FO elements
MultiSwitch
fo:multi-switch - container for multiple alternatives (Section 11.1)
Fields
properties: PropertyList<'a>MultiCase
fo:multi-case - one alternative within a multi-switch (Section 11.2)
Fields
properties: PropertyList<'a>MultiToggle
fo:multi-toggle - interactive trigger within multi-case (Section 11.3)
Fields
properties: PropertyList<'a>MultiProperties
fo:multi-properties - property-switching element (Section 11.4)
Fields
properties: PropertyList<'a>MultiPropertySet
fo:multi-property-set - one set of properties within multi-properties (Section 11.5)
Fields
properties: PropertyList<'a>Wrapper
fo:wrapper - transparent property-setting container (Section 8.12)
Fields
properties: PropertyList<'a>Character
fo:character - single character with full property control (Section 8.5)
BidiOverride
fo:bidi-override - bidirectional text override (Section 8.11)
InitialPropertySet
fo:initial-property-set - first line property overrides (Section 8.6)
Fields
properties: PropertyList<'a>ChangeBarBegin
fo:change-bar-begin - marks start of changed region (Section 12.1)
Fields
properties: PropertyList<'a>ChangeBarEnd
fo:change-bar-end - marks end of changed region (Section 12.2)
Text(String)
Text content
Implementations§
Source§impl<'a> FoNodeData<'a>
impl<'a> FoNodeData<'a>
Sourcepub fn element_name(&self) -> &str
pub fn element_name(&self) -> &str
Get the element name for this node
Sourcepub fn properties_mut(&mut self) -> Option<&mut PropertyList<'a>>
pub fn properties_mut(&mut self) -> Option<&mut PropertyList<'a>>
Get mutable property list if this node has one
Sourcepub fn properties(&self) -> Option<&PropertyList<'a>>
pub fn properties(&self) -> Option<&PropertyList<'a>>
Get immutable property list if this node has one
Sourcepub fn can_contain_text(&self) -> bool
pub fn can_contain_text(&self) -> bool
Check if this node type can contain text
Sourcepub fn is_layout_master(&self) -> bool
pub fn is_layout_master(&self) -> bool
Check if this node type is a layout master