Home

List

This is an implementation of schema.org ItemList, exposed in Stencila Schema as List.

The type is renamed to use more familiar document-model vocabulary, and the schema.org properties itemListElement and itemListOrder are correspondingly exposed as items and order. In Stencila Schema it is used for ordered, unordered, and checklist-style document lists with rich item content.

Key properties include items, order, and optional authorship metadata.

Analogues

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

  • HTML <ul>: Close analogue for unordered lists; Stencila uses a single List type and records list style in order rather than separate element types.

  • HTML <ol>: Close analogue for ordered lists; descending and checklist semantics are represented via order and item metadata rather than distinct HTML elements.

  • JATS <list>: Closest JATS container analogue for list content.

  • Pandoc BulletList: Close analogue for unordered lists; ordered and checklist forms are represented differently in Pandoc.

  • Pandoc OrderedList: Close analogue for ordered lists; Stencila unifies ordered and unordered lists in one node type.

  • MDAST List: Closest MDAST analogue for list containers, though task-list state is carried on items in Stencila.

Properties

The List type has these properties:

NameDescriptionTypeInherited from
itemsThe items in the list.ListItem*-
orderThe ordering of the list.ListOrder-
authorsThe authors of the list.Author*-
provenanceA summary of the provenance of the content within the list.ProvenanceCount*-
idThe identifier for this item.StringEntity

Related

The List type is related to these types:

Bindings

The List type is represented in:

Testing

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

PropertyComplexityDescriptionStrategy
itemsMin+Generate a single, arbitrary, list item.vec(ListItem::arbitrary(), size_range(1..=1))
Low+Generate up to two, arbitrary, list items.vec(ListItem::arbitrary(), size_range(1..=2))
High+Generate up to four, arbitrary, list items.vec(ListItem::arbitrary(), size_range(1..=4))
MaxGenerate up to eight, arbitrary, list items.vec(ListItem::arbitrary(), size_range(1..=8))
orderMin+Always generate an unordered list.ListOrder::Unordered
Low+Randomly generate either an unordered, or ascending, list.prop_oneof![Just(ListOrder::Unordered),Just(ListOrder::Ascending)]
High+Generate an arbitrary list ordering.ListOrder::arbitrary()

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

© 2026 Stencila