The NPS Markup Language

NPS markup is a powerful instrument for creating HTML code. The instructions it provides can be used in the main content of layout files, documents, and folders (however, in no other fields) to access files and their fields, and to insert the retrieved data (or HTML text generated from it) into the output file.

NPS markup is evaluated whenever you open a preview using the Content Manager’s user interface or trigger the export of a file. The Template Engine also processes NPS markup. When dealing with NPSOBJ instructions and the export functionality of the Content Manager in this section, the Template Engine is always implicitly referenced as well.

When NPS markup is evaluated, it is replaced with the result of the evaluation process. Initially, the file being exported serves as the data source for evaluation. However, NPSOBJ instructions for using any other file as a data source exist.

The Content Manager uses the base layout for exporting every file - with the exception of images and ressources. As with other layouts, the base layout is processed exactly once from top to bottom. Every occurring NPSOBJ instruction is thereby replaced with HTML code or other instructions in accordance with the rules listed here.

In the following sections you will learn the syntactic and semantic rules the Content Manager uses during the export. The explanations describe the course of the export procedure and simultaneously specify the rules according to which the language element must be used to effect a successful export.


For the formal representation of NPSOBJ elements we use a comprehensible notation. All syntax descriptions are printed in Courier. For symbols the standard font is used without any styles whereas literal characters are printed in bold. For variable strings (to be replaced with sensible values) italics are used. In the following example, the NPSOBJ-includetext instruction is defined:

npsobj_includetext ::=

  <strong><npsobj includetext = "<em>internal_url</em>" /></strong>

The symbols used are expanded except for terminal symbols like string . string denotes a character string that cannot be expanded any further.

Sometimes, symbols are combined with the | symbol (vertical bar). The | symbol denotes a disjunctive combination, which means that exactly one of the symbols combined must be used. Elements combined in this way may be grouped using round brackets.

Optional parts in the syntax descriptions are enclosed in square brackets. Parts that may be used once or several times are enclosed in braces.