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

# \<reversexref\>

## Summary

A [cross-reference](../../reference/glossary/cross_reference.md) from another [document](../../reference/glossary/document.md) pointing to this document or [fragment](../../reference/glossary/fragment.md).

This element is [informational](../universal_format/psml_upload.md) – ignored by upload.

[Reverse xrefs](../../reference/glossary/reverse_xref.md) include both [block](element-blockxref.md) and [inline](element-xref.md) xrefs  which have been defined as bidirectional, plus images and links.

> **Note:** Reverse xrefs are part of the document or fragment metadata and always reflect existing xrefs in the content. They cannot be used to create xrefs between documents and are generated by the system.

### Terminology

The *source* document refers to the document containing the original xref in its content. The *target* document refers to document being pointed at.

Reverse xrefs are bidirectional by definition. The *forward* direction refers to the reference from the source to the target. The *reverse* direction refers to the reference from the target back to the source.

In the context of a reverse [xref](../../reference/glossary/xref.md), the source document is the other document, and the target is *this* document.

## Usage context

| Element category | metadata |
| --- | --- |
| PSML level | metatada |
| Permitted content | *none* |
| Permitted parent | `<reversexrefs>` |
| HTML equivalent | no equivalent |
| OpenXML equivalent | no equivalent |

## Attributes

This element includes the following attributes:

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| archived | `boolean` | no | Whether the source document is archived |
| config | `xref-config` | no | The xref config name for this xref |
| docid | `document-id` | no | The Doc ID of the source document |
| documenttype | `document-type` | no | The source document type |
| external | `boolean` | no | Whether the source document is external |
| forwardtitle | `xs:string` | no | The title of the xref |
| forwardtype | `xref-type + image` | no | The type of xref |
| forwarddisplay | `xref-display` | no | Defines format of target link text |
| forwardfrag | `fragment-id` | no | The fragment of the target |
| frag | `fragment-id` | no | The fragment of the source |
| href | `xs:string` | no | The path of the source document |
| id | `xs:long` | no | The ID of the XLink |
| labels | `label-list` | no | The labels of the xref |
| level | `xref-level` | no | The level that the heading numbering of the target document is to start from |
| mediatype | `xs:string` | no | The source document’s media type |
| title | `xs:string` | no | The manual reverse title of the xref |
| type | `xref-type` | no | The reverse type of the xref, always `none` |
| uriid | `xs:long` | no | The ID of the source document |
| urititle | `xs:string` | no | The title of the source document |
| urilabels | [label-list](../datatypes/pageseeder_datatypes.md) | no | Labels of the source document (generated) |
| urltype | `document-type` | no | The source URL type (external URIs only) |

### `@archived`

A boolean flag indicating whether the source document is archived. *INFORMATIONAL - ignored by upload.*

*This attribute was introduced in PSML v1.3 in PageSeeder 5.99.*

### `@config`

The xref config name used when creating/editing this xref.

*This attribute was introduced in PSML v1.4 in PageSeeder 6.*

### `@docid`

The Doc ID of the document which contains the original xref, if it has one, AND the original xref uses the Doc ID (through the `@docid` attribute) to refer to this document.

### `@documenttype`

An informational attribute provided for convenience to indicate the type of document linking to this document.

### `@external`

If `true`, the source is a URL*.*

*This attribute was introduced in PSML v1.4 in PageSeeder 6.*

### `@forwardtitle`

The title of the xref in the forward direction. In other words, this is the title of xref to this document used by the source document. 

### `@forwardtype`

The type of xref in the forward direction.

The type of [XLink](../../reference/glossary/xlink.md), can have the following values:

- `embed` – Replace this element’s content with the document/fragment pointed to when publishing (only valid for `<blockxref>`).
- `transclude` – Replace this element’s content with the document/fragment pointed to when displaying (only valid for `<blockxref>`).
- `image` – Replace this element's `@src` with the image pointed to when displaying (only valid for `<image>`).
- `link` – Replace this element's `@href` with the URL pointed to when displaying (only valid for `<link>`).
- `math` – Replace this element's content with the equation pointed to when displaying.
- `alternate` – An alternate representation of the current document.
- `none` –** **no special processing.

### `@forwarddisplay `

Defines how the target link text of this xref is displayed (Default is `document`).

 The following values are allowed:

- `document` – \[document title\].
- `document+manual` – \[document title\]: \[manual title\].
- `document+fragment` – \[document title\]: \[target fragment id\].
- `manual` – \[manual title\].

### `@forwardfrag`

The fragment of the target document of the xref.

### `@frag`

The fragment of the source document containing the xref.

### `@href`

The path to the source document.

### `@id`

The ID of the [XLink](../../reference/glossary/xlink.md) corresponding to the xref.

> **Note:** The ID is specific to the PageSeeder instance.

### `@labels`

A comma-separated list of labels on the xref. The labels apply to both directions, but they are set in the forward direction.

### `@level`

The level that the heading numbering of the target document is to start from (1 to 5).

### `@mediatype`

The media type of the source document.

### `@title`

The manual title in the reverse direction. In other words, the title for the xref when referring to the source document.

### `@type`

The only supported reverse type is `none`, indicating that there is no special processing.

### `@uriid`

The [URI ID](../../reference/glossary/uri_id.md) of the source document.

> **Note:** The URI ID is specific to the PageSeeder instance.

### `@urititle`

The title of the source document as defined by its URI.

### `@urilabels`

A comma-separated list of labels of the source URI. Introduced in v0.11 of the PSML schema in PageSeeder v5.95.

### `@urltype`

An informational attribute provided for convenience to indicate the type of URL linking to this document (external URI sources only).

**This attribute was introduced in PSML v1.3 in PageSeeder 5.99.**

## Examples

### Example 1: xref

The following is a reversexref from an xref inline within the text of a help document:

```lang-xml
<reversexref uriid="346" 
             href="/ps/sample/help/terms/mathematics.psml"
             frag="3" 
             urititle="Mathematics" 
             mediatype="application/vnd.pageseeder.psml+xml" 
             documenttype="help" 
             id="3560" 
             title="Supported formats" 
             config="default" 
             type="none" 
             forwardtype="none" 
             forwardtitle="AsciiMath"
             forwarddisplay="manual"
             forwardfrag="default"/>
```



It corresponds to the following [\<xref\>](element-xref.md):

```lang-xml
<xref id="3560" 
      title="AsciiMath" 
      frag="default" 
      reversefrag="3" 
      reversetitle="Supported formats" 
      reverselink="true" 
      reversetype="none" 
      display="manual" 
      config="default" 
      type="none" 
      uriid="375" 
      href="/ps/sample/help/terms/ascii_math.psml" 
      urititle="AsciiMath" 
      urilabels="term" 
      mediatype="application/vnd.pageseeder.psml+xml" 
      documenttype="help">AsciiMath</xref>
```



### Example 2: embed xref

The following is a `<reversexref>` from a [ references document ](../../reference/glossary/references_document.md)using an `embed` xref type.

```lang-xml
<reversexref uriid="816" 
             href="/ps/sample/documentation/system_requirements.psml" 
             frag="2" 
             urititle="System Requirements" 
             mediatype="application/vnd.pageseeder.psml+xml" 
             documenttype="references" 
             id="6156"
             title="References" 
             type="none" 
             forwardtype="embed" 
             forwarddisplay="document" 
             forwardfrag="default"/>
```

It corresponds to the following [\<blockxref\>](element-blockxref.md):

```lang-xml
<blockxref id="6156" 
           frag="default" 
           reversefrag="2" 
           reversetitle="References" 
           reverselink="true" 
           reversetype="none" 
           display="document" 
           type="embed" 
           uriid="807" 
           href="/ps/sample/documentation/sr/design_constraints.psml" 
           urititle="Design Constraints" 
           mediatype="application/vnd.pageseeder.psml+xml">Design Constraints</blockxref>
```

### Example 3: transclusion

The following is the `<reversexref>` for a [transclusion](../../reference/glossary/transclusion.md).

```lang-xml
<reversexref uriid="3379" 
             href="/ps/sample/documentation/introduction.psml" 
             frag="2" 
             urititle="main" 
             mediatype="application/vnd.pageseeder.psml+xml" 
             id="19114"
             title="" 
             config="default" 
             type="none" 
             forwardtype="transclude" 
             forwarddisplay="document" 
             forwardfrag="2" />
```

It corresponds to the following `<blockxref>`:

```lang-xml
<blockxref id="19114" 
           frag="2" 
           reversefrag="2" 
           reversetitle="" 
           reverselink="true"
           reversetype="none" 
           display="document" 
           config="default" 
           type="transclude" 
           uriid="3380" 
           href="/ps/sample/documentation/common_terms.psml"
           urititle="Common terms" 
           mediatype="application/vnd.pageseeder.psml+xml">Common terms</blockxref>
```

### Example 4: image

The following is the `<reversexref>` for an image:

```lang-xml
<reversexref uriid="176" 
             href="/ps/sample/help/layout/toolbar.psml" 
             frag="10"
             urititle="Document toolbar" 
             mediatype="application/vnd.pageseeder.psml+xml" 
             documenttype="help"
             id="2245" title="" 
             type="none" 
             forwardtype="image"
             forwardfrag="default"/>
```

It corresponds to the following `<image>`:

```lang-xml
<image src="/ps/sample/help/images/edit_button.png" 
       uriid="568" 
       width="250" 
       height="222" 
       alt="Edit button"/>
```

## Schema

### XML Schema

```lang-xml
<xs:element name="reversexref">
  <xs:complexType>
    <xs:attribute name="archived" type="xs:boolean" use="optional"/>
    <xs:attribute name="config" type="xref-config" use="optional"/>
    <xs:attribute name="uriid"  type="xs:long"/>
    <xs:attribute name="docid" type="document-id" use="optional"/>
    <xs:attribute name="frag"  type="fragment-id"/>
    <xs:attribute name="href"  type="xs:string"/>
    <xs:attribute name="title" type="xs:string" use="optional"/>
    <xs:attribute name="forwardtitle" type="xs:string" use="optional"/>
    <xs:attribute name="urititle" type="xs:string"/>

    <xs:attribute name="level">
      <xs:simpleType>
        <xs:restriction base="xs:integer">
          <xs:pattern value="[1-5]"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>

    <xs:attribute name="id" type="xs:long"/>

    <xs:attribute name="type">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="none"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>

    <xs:attribute name="forwardtype">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="alternate"/> 
          <xs:enumeration value="embed"/>
          <xs:enumeration value="image"/>
          <xs:enumeration value="link"/>
          <xs:enumeration value="math"/>
          <xs:enumeration value="none"/>
          <xs:enumeration value="transclude"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>

    <xs:attribute name="forwarddisplay">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="document" />
          <xs:enumeration value="document+manual" />
          <xs:enumeration value="document+fragment" />
          <xs:enumeration value="manual" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>

    <xs:attribute name="forwardfrag" type="fragment-id"/>
    <xs:attribute name="labels" type="xs:string" use="optional"/>
    <xs:attribute name="urilabels" type="xs:string" use="optional"/>
    <xs:attribute name="mediatype" type="xs:string"/>
    <xs:attribute name="documenttype" type="xs:string"/>
    <xs:attribute name="external" type="xs:boolean"/> 
    <xs:attribute name="urlttype" type="xs:string"/>
  </xs:complexType>
</xs:element>
```

### Relax schema

```lang-relax
element reversexref {
   attribute archived { xs:boolean }?,
   attribute config { xref-config }?,
   attribute uriid { xs:long },
   attribute docid { document-id }?,
   attribute frag { fragment-id },
   attribute href { text },
   attribute title { text },
   attribute forwardtitle { text }?,
   attribute urititle { text }?,
   attribute level { xs:integer }?,
   attribute id { xs:long }?,
   attribute type { string "none" },
   attribute forwardtype { "none" | "alternate"  | "embed" |
             "transclude" | "image" | "link" | "math" }?,
   attribute forwarddisplay { "document" | "document+manual" | "document+fragment" | "manual" }?,
   attribute forwardfrag { fragment-id }, 
   attribute labels { text }?,
   attribute urilabels { text }?,
   attribute mediatype { text },
   attribute documenttype { text }?,
   attribute external {xs:boolean }
   attribute urltype { text }?,
}
```

## Compatibility

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

The `urilabels` attribute  was introduced in v0.11 of the PSML schema in PageSeeder 5.95.

The `urltype` and `archived` attributes were introduced in PSML v1.3 in PageSeeder 5.99.

The `config` attribute was introduced in PSML v1.4 in PageSeeder 6.

