Configuration manual for PageSeeder

<publishing> element

This article describes how the <publishing> element can be modified to provide custom processing for different types of documents. The content on this element determines the options that are presented to users when the Publisher is invoked. 

See also PSML Ant scripts.

<publishing> is valid in the following files:

  • document-config.xml – the <publishing> element is under the <document-config> element and controls processing for a specific document type.
    • To access this file, select Document config under the Dev tab in the Developer perspective.
  • publish-config.xml – is the root element of the file and controls publishing across all groups, folders and documents in a project.
    • To access this file, select Project files under the Dev tab in the Developer perspective, then select the following folder:

The configuration follows the structure below:

  <action ... />*


When editing config files in PageSeeder, ctrl-space will provide suggestions that are contextually correct at the insertion point. This will ensure that the config file is valid.


The PageSeeder model allows the default functionality to be extended by adding the @override attribute to the <publishing> element.

<publishing override="true">
   <action ... />*

If the <publishing> element is not specified, or the config files do not exist, options are inherited from the default files. To see the default document-config.xml and publish-config.xml, select Default files under the Dev tab in the Developer perspective.

Element Details


Each <action> defines:



One of the following actions (required)


or actions only valid in publish-config.xml


In publish-config.xml, each <action> element must have a <source> element.


The <source> element can define:



The type of object (required)



The extension of the source file, only valid for


Each <action> element must have one or more <target> element that corresponds to each target in the Ant script.


The <target> element defines:



Must match the target name in the Ant script (required)


Determines which perspective the target name will be displayed in (the default value is "standard", to hide the target use "none").



The minimal role required to run the process



The name of the config file in the same folder as the build.xml which can be edited by contributors (only word-export-config.xml, word-import-config.xml and pdf-export-config.xml are currently supported)


If true this target will override any target with the same name and action type (e.g. <target name="create-consolidated-docx" override="true"> will override only the default DocX export but leave the other default exports available) - default false.

Each <target> element must have a <description> element to describes the process in the user interface. Each <target> element can have one or more <param> elements for the specified parameters.


Each <param> element can define:



The name of the parameter (required)


Displayed next to the field (required)


One of the following values (default is text). See below for further detail.

documentversion| documentlabel|
documentstatus|fragmentlabel |
localpublicationid | publicationid


Which perspective the target name will be displayed in.


Guidance text to display inside a field.


A regular expression to constrain the value of a field.


The default value of a field.


The minimum value for a "number" field only.


The maximum value for a "number" field only.


The allowable value by which the minimum number can increment to the maximum number. (default is '1')

Following are the available options when the value of @type is "text":

  • text – will display a simple input box for text to be entered manually.
    • placeholder – can be used to display a hint in the text box when no value has been specified.
    • pattern – can specify a regular expression that the value must match to be submitted. This can constrain the format or value of the field.


Where type="date" the pattern can override the date picker default (e.g. dd-mm-yyyy for 01-11-2017).

When the value of @type is "select" the <param> element can have one or more <value> elements for the valid choices.

  • select – displays a simple drop-down list and allows only one value to be selected. The content of each <value> element is displayed as an option in the list.
  • checkbox – displays a check box which has possible values of true or false.
  • date – invokes a date picker interface and stores the value as ISO8601 (yyyy-mm-dd).
  • number – displays a number field which will allow only valid numbers as defined by the @min, @max and @step attributes.

The following options provide additional flexibility for users to select content for processing: 

  • documentversion – drop-down list of all document versions used in the current group.
  • localdocumentversion – drop-down list of document versions in the current document.
  • publicationid – drop-down list of all publication IDs in the current group.
  • localpublicationid – drop-down list of publication IDs for the current document.
  • documentlabel – drop-down list of document labels for the current group.
  • documentstatus – drop-down list of document status values for the current group.
  • fragmentlabel – drop-down list of fragment labels for the current group.



Following is an example of the <publishing> element deployed to a document-config.xml file:

    <action type="publish" >
        <target name="psml-to-website" >
            <description>Publish to website</description>
        <target name="psml-to-blog" >
            <description>Publish to blog</description>
    <action type="export" >
        <target name="psml-to-pdf-columns"
               perspective="developer" >
            <description>Export as PDF in 3 columns</description>
            <param name="depth"
                   label="Depth of XRefs
                   to publish"
                   max="8" />
            <param name="isbn"
                   placeholder="Enter a valid ISBN 13
                                number (97xxxxxxxxxxx)"
                   pattern="97[89][0-9]{10}" />
            <param name="in-stock"
                   label="In Stock"
                   perspective="developer" />
            <param name="language"


Following is an example of the <publishing> element deployed to a publish-config.xml file:

    <action type="export" >
        <source type="document"
                extension="psml" />
        <target name="psml-to-pdf-columns"
                perspective="developer" >
            <description>Export as PDF in 3 columns</description>
    <action type="publish" >
        <source type="folder" />
        <target name="psml-to-website" >
            <description>Publish to website </description>
            <param  name="depth"
                    label="Depth of XRefs to publish"
                    max="8" />

Created on , last edited on