Home

Section

This is a type used in Stencila Schema for document sections, analogous to section containers in HTML, JATS, and other structured document models.

It exists to group block content under headings while carrying structured metadata, authorship, and provenance. Unlike a plain heading hierarchy inferred from text alone, explicit sections allow more reliable transformation and editing workflows.

Key properties include sectionType, title, and content, together with inherited metadata from Entity.

Analogues

The following external types, elements, or nodes are similar to a Section:

  • HTML <section>: Closest HTML sectioning analogue, though Stencila sections can carry typed section roles, authorship, and provenance metadata.

  • JATS <sec>: Closest JATS analogue for structured document sections.

  • Pandoc Div: Closest Pandoc container analogue when divisions are used to represent sections; Stencila uses a dedicated section node with explicit semantics.

  • MDAST Heading: Markdown ASTs often imply sections through heading structure rather than an explicit section container, so this is only an approximate analogue.

Properties

The Section type has these properties:

NameDescriptionTypeInherited from
sectionTypeThe type of section.SectionType-
contentThe content within the section.Block*-
authorsThe authors of the section.Author*-
provenanceA summary of the provenance of the content within the section.ProvenanceCount*-
idThe identifier for this item.StringEntity

Related

The Section type is related to these types:

Bindings

The Section type is represented in:

Testing

During property-based (a.k.a generative) testing, the properties of the Section type are generated using the following strategies.

PropertyComplexityDescriptionStrategy
sectionTypeMin+No type.None
Low+Generate an arbitrary section type.option::of(SectionType::arbitrary())
contentMin+An empty vectorVec::new()
Low+Generate an arbitrary heading and an arbitrary paragraph.vec_heading_paragraph()
High+Generate up to four arbitrary, non-recursive, block nodes.vec_blocks_non_recursive(4)
MaxGenerate up to eight arbitrary, non-recursive, block nodes.vec_blocks_non_recursive(8)

This documentation was generated from Section.yaml by docs_types.rs.

© 2026 Stencila