2. A node and types of attribute values

If we ignore the data representation of a tree structure, the node of the tectogrammatical tree in PDT 2.0 is technically represented by a structure with a fixed set of attributes in which an attribute is a pair consisiting of a name and a value, and which is uniquely determined by its name within the structure. Attributes are further divided into obligatory and optional. An optional attribute does not have to be present in the structure, which can also be expressed by an empty value of the attribute. An obligatory attribute is always present in the structure and its value must not be empty. The data representation in PDT 2.0 distinguishes between attribute values of the following types:

Atomic values

Atomic attribute value is represented by a literal string. The type of an atomic attribute value differentiates semantically between an identifier, reference (see Section 3, "References in PDT 2.0"), enumerated type, constant, Boolean type, integer type, and string type. An identifier is a string which conforms to the NCName production of the W3C specification Namespaces in XML published on http://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-NCName (PDT 2.0 uses only strings of letters of English alphabet, numbers, a dash, a colon or a hyphen, and strings beginning with a letter). The attribute value of enumerated type is represented by a string constituted by a list of the particular type. A constant is a special type of enumerated type that allows only one possible value. A Boolean type is an enumerated type with values 1 (true) or 0 (false). The integer type is a non-negative whole number in the decimal system.


A value of a list type aggregates one or more values of a certain attribute type, This type may be arbitrary attribute type except for the list type (i.e. lists cannot be nested). Lists are further divided into ordered and unordered lists.


Alternative type is used to allow aggregation one or more alternative (parallel) values of a particular type. Alternative values are arranged in an unordered list in which each value should not occur more than once.

!!! In the annotated data each attribute which allows alternatives is always assigned only one value of a particular type.


The attribute value is represented by a structure (as described in the first paragraph) with a fixed set of attributes and their types.