Skip to main content

 PSML

A complete reference of PageSeeder's markup language PSML

<reversexref>

Summary

A cross-reference from another document pointing to this document or fragment.

This element is informational – ignored by upload.

Reverse xrefs include both block and inline xrefs  which have been defined as bidirectional, plus images and links.

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, the source document is the other document, and the target is this document.

Usage context

Element categorymetadata
PSML levelmetatada
Permitted contentnone
Permitted parent<reversexrefs>
HTML equivalentno equivalent
OpenXML equivalentno equivalent

Attributes

This element includes the following attributes:

NameTypeRequiredDescription
archivedbooleannoWhether the source document is archived
configxref-confignoThe xref config name for this xref
dociddocument-idnoThe Doc ID of the source document
documenttypedocument-typenoThe source document type
externalbooleannoWhether the source document is external
forwardtitlexs:stringnoThe title of the xref
forwardtypexref-type + imagenoThe type of xref
forwarddisplayxref-displaynoDefines format of target link text
forwardfragfragment-idnoThe fragment of the target
fragfragment-idnoThe fragment of the source
hrefxs:stringnoThe path of the source document
idxs:longnoThe ID of the XLink
labelslabel-listnoThe labels of the xref
levelxref-levelnoThe level that the heading numbering of the target document is to start from
mediatypexs:stringnoThe source document’s media type
titlexs:stringnoThe manual reverse title of the xref
typexref-typenoThe reverse type of the xref, always none
uriidxs:longnoThe ID of the source document
urititlexs:stringnoThe title of the source document
urilabelslabel-listnoLabels of the source document (generated)
urltypedocument-typenoThe 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, 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 corresponding to the xref.

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 of the source document.

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:

<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>:

<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 using an embed xref type.

<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>:

<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.

<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>:

<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:

<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>:

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

Schema

XML Schema

<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

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.

Created on , last edited on