---
title: "Document types"
source: https://dev.pageseeder.com/guide/configuration/psml.html
description: "Configuration options for PSML documents including validation, styles, templates, creation, editing and publishing"
last_updated: 2026-09-05T15:35:36+10:00
tokens: ~585
---

# Document types

In PSML, document types are controlled by a collection of template configuration files. These files control not only custom document types but can be used to add style or validation rules to the [built-in PSML document types](../../reference/glossary/builtin_document_types.md) – **default, ****references**, and **help**.

## Purpose

The configuration files have the following roles:

- `document-config.xml` – defines the naming scheme, location and folder structure for the documents, which editing interfaces to use, labels and publishing options.
- `document-template.psml` – defines the dynamic and proforma content, the document hierarchy, options and semantics for the document type.
- `default.sch` – binds validation to the content using XPath and ISO Schematron. For further information, see [Schematron sample code](../../reference/sample_code/schematron.md) or [Validating documents](../documents/validating_pageseeder_documents.md).
- `editor-config.xml` – can override the default settings with customizations for the editing interface. 
- `document.css` – modify the default UI display.
- `template-icon.png` – associates a graphical icon with the document type in the PageSeeder interface. *This file is obsolete and ignored as if PageSeeder v6.*
- `xref-config.xml` – can be used to configure xrefs across a whole project to make it uncomplicated for users to create them consistently for different purposes.

## Creation and maintenance

The straightforward way to manage the customization process is on the **Template configuration** page, available from the following locations:

*Administration menu* \> project **\[Project\]** \> file-template **Template** \> **Template configuration**, OR

In the Document developer panel, click the wrench **Manage document types** button, OR

*Navigation menu* \> **Project \>** **Document types** page, then click the wrench **Manage document types** button at the top right

However, developers used to working in their own environment such as editor, code or repository won’t have any trouble integrating PageSeeder with external tools.

## Location

Internal files specific to document types are located in:

`/WEB-INF/config/template/[project]/psml/[documenttype]/`

For further information, see [Folders and files](../../reference/folders_and_files.md).

