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

# \<toc-part\>

## Summary

The `<toc-part>` element is a table of content reference in processed [PSML](../../reference/glossary/psml.md).

When `<toc-part>` is generated, the first [\<toc\> element](element-toc.md) contains a reference for all [\<heading\> elements](element-heading.md) in the publication.

## Usage context

| Element category |  |
| --- | --- |
| PSML level | processed |
| Permitted content | `<toc-part>` |
| Permitted parent | `<toc-tree>` |
| HTML equivalent |  |
| OpenXML equivalent |  |

## Attributes

This element includes the following attributes:

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| level | [xs:positiveInteger](../datatypes/xml_schema_datatypes.md) | yes | The level in the table of contents |
| idref | [xs:string](../datatypes/xml_schema_datatypes.md) | no | Reference to a heading |
| canonical | `xs:string` | no | Canonical prefix (e.g. 1.0.3, 1.1.4) |
| prefix | `xs:string` | no | Actual prefix (e.g. 1.3 or 1.a.iv) |
| title | `xs:string` | no | Text of referenced heading |

### `@level`

The level in the table of contents.

### `@idref`

The reference to a heading.

### `@canonical`

The canonical prefix is computed from the position of the heading and its position in the heading hierarchy.

It is always a sequence of numbers separated by ‘.’ and is unique to the heading.

### `@prefix`

The actual prefix when the formatting rules are applied to the canonical prefix.

### `@title`

The text of the referenced heading.

## Examples

```lang-xml

<toc>
  <toc-tree title="Specification">

    <toc-part level="1" title="Introduction" idref="123-1-1-1">

      <toc-part level="2"
                title="Overview"
                idref="123-1-2-1"
                prefix="1."
                canonical="0.1." />
    </toc-part>
  </toc-tree>
</toc>
```

## Schema

### XML Schema

## Compatibility

Introduced in v0.12 of the PSML schema, in PageSeeder v5.96, as a replacement for `<tocref>`.

