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 cross-references include both block and inline cross-references which have been defined as bidirectional.

Note

Reverse cross-references are part of the document or fragment metadata and always reflect existing cross-references in the content. They cannot be used to create cross-references between documents and are generated by the system.

Terminology

The source document refers to the document containing the original cross-reference in its content. The target document refers to document being pointed at.

Reverse cross-references 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 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
PSStandard equivalent

Attributes

This element includes the following attributes

NameTypeRequiredDescription
dociddocument-idnoThe Doc ID of the source document
documenttypedocument-typenoThe source document type.
forwardtitlexs:stringnoThe title of the cross-reference
forwardtype

xref-type + image

noThe type of cross-reference
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 cross-reference
levelxref-levelnoThe level that the heading numbering of the target document should start from.
mediatypexs:stringnoThe source document's media type.
titlexs:stringnoThe manual reverse title of the XRef
typexref-typenoThe reverse type of the cross-reference, always "none"
uriidxs:longnoThe ID of the source document
urititlexs:stringnoThe title of the source document
urilabelslabel-listnoLabels of the target URI (generated)

@docid

The Doc ID of the document which contains the original XRef if it has one AND the original XRef uses the Doc ID (via 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.

@forwardtitle

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

@forwardtype

The type of cross-reference 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>).
  • alternate  An alternate representations of the current document.
  • none – no special processing

@forwarddisplay 

Defines how the target link text of this cross-reference 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 cross-reference.

@frag

The fragment of the source document containing the cross-reference.

@href

The path to the source document.

@id

The ID of the XLink corresponding to the cross-reference.

Note

The ID is specific to the PageSeeder instance.

@labels

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

@level

The level that the heading numbering of the target document should 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 cross-reference 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.

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 target URI. Introduced in v0.11 of the PSML schema in PageSeeder v5.95.

Examples

Schema

XML Schema

<xs:element name="reversexref">
   <xs:complexType>
      <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"/>
      <xs:attribute name="forwardtitle" type="xs:string"/>
      <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="none"/>
            <xs:enumeration value="alternate"/> 
            <xs:enumeration value="embed"/>
            <xs:enumeration value="transclude"/>
            <xs:enumeration value="image"/>
          </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="mediatype" type="xs:string"/>
      <xs:attribute name="documenttype" type="xs:string"/>
      <xs:attribute name="external" type="xs:boolean"/> 
   </xs:complexType>
</xs:element>

Relax schema

element reversexref {
   attribute uriid { xs:long },
   attribute docid { document-id }?,
   attribute frag { fragment-id },
   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" }?,
   attribute forwarddisplay { "document" | "document+manual" | "document+fragment" | "manual" }?,
   attribute forwardfrag { fragment-id }, 
   attribute labels { text }?,
   attribute mediatype { text },
   attribute documenttype { text },
   attribute external {xs:boolean }
}

Compatibility

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

See also

Created on , last edited on