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

# \<hcell\>

## Summary

The `<hcell>` element is used for header cells within a table.

> **Warning:** This element is being considered for deprecation! From PSML Beta 7, there is a better mechanism to identity header cells at the row or column level using the `@part` attribute.

## Usage context

| Element category | table |
| --- | --- |
| PSML level | portable |
| Permitted content |  |
| Permitted parent | `<row> ` |
| HTML equivalent | `<th>` |
| OpenXML equivalent | `<w:tc>` |

## Attributes

Same as `<cell>` element.

## Examples



## Schema

### XML Schema

```lang-xml

<xs:element name="hcell" type="cell-style">
  <xs:complexType>

    <xs:attribute name="role" type="role"/>
    <xs:attribute name="align">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="left" />
          <xs:enumeration value="center" />
          <xs:enumeration value="right" />
          <xs:enumeration value="justify" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
   
    <xs:attribute name="valign">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="top" />
          <xs:enumeration value="middle" />
          <xs:enumeration value="bottom" />
          <xs:enumeration value="baseline" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>

    <xs:attribute name="width">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="[0-9\.]+(px|%)?"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>

    <xs:attribute name="colspan" type="xs:NMTOKEN"/>
    <xs:attribute name="rowspan" type="xs:NMTOKEN"/>
  </xs:complexType>
</xs:element>
```

### Relax Schema

```lang-relax

element hcell {
   attribute role { role }?,
   attribute colspan { NMTOKEN }?,
   attribute rowspan { NMTOKEN }?,
   attribute align { "center" | "justify" | "left" | "right"}?,
   attribute valign { "top" | "middle" | "bottom" | "baseline"}?,
   attribute width { text {pattern: "[0-9\.]+(px|%)?" } }?,
   (character-style-group | list | nlist | para | block | blockxref | image | preformat)*
}
```

## Compatibility

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

> **Warning:** As it is being considered for deprecation, it might not be supported in future versions of PageSeeder.

