---
title: "Element <list>"
source: https://dev.pageseeder.com/psml/elements/element-list.html
description: "PSML Element reference for <list>"
last_updated: 2026-08-07T17:09:54+10:00
tokens: ~605
---

# \<list\>

## Summary

Unnumbered list.

Use the [\<nlist\> element](element-nlist.md) for numbered lists.

## Usage context

| Element category | block |
| --- | --- |
| PSML level | portable |
| Permitted content | `<item> ` |
| Permitted parent |  |
| HTML equivalent | `<ul>` |
| OpenXML equivalent |  |

## Attributes

This element includes the following attributes:

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| type | [list-type](../datatypes/pageseeder_datatypes.md) | no | Label for list items |
| role | [role](../datatypes/pageseeder_datatypes.md) | no | Custom value that can be used for formatting |

### `@type`

The type of list defines the style of the bullet before each item.

### `@role`

A role for the list which can be used for formatting.

## Examples

### Unstyled list

```lang-xml

<list>
  <item>apples</item>
  <item>oranges</item>
​</list>
```

This would generally be transformed in HTML as:

```lang-html

<ul>
  <li>apples</li>
  <li>oranges</li>
</ul>
```

### List with a predefined bullet style

```lang-xml

<list type="square">
  <item>apples</item>
  <item>oranges</item>
​</list>
```

This would generally be transformed in HTML as:

```lang-html

<ul style="list-style-type: square">
  <li>apples</li>
  <li>oranges</li>
</ul>
```

### List with a role

```lang-xml

<list role="menu">
  <item>apples</item>
  <item>oranges</item>
​</list>
```

This would generally be transformed in HTML as:

```lang-html

<ul class="menu">
  <li>apples</li>
  <li>oranges</li>
</ul>
```

## Schema

### XML Schema

```lang-xml

<xs:element name="list">
  <xs:complexType>
    <xs:sequence maxOccurs="unbounded">
      <xs:element ref="item"/>
    </xs:sequence>

    <xs:attribute name="type" use="optional">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="none"/>
          <xs:enumeration value="disc"/>
          <xs:enumeration value="circle"/>
          <xs:enumeration value="square"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="role" type="role"/>
  </xs:complexType>
</xs:element>
```

### Relax Schema

```lang-relax

element list {
  attribute type { "none" | "disc" | "circle" | "square"},
  attribute role { role }?,
  element item+
}
```

## Compatibility

This element was introduced in the first draft of PSML and is well-supported from PageSeeder 5.1.

