Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ Information Standards Manager

Attributes

  • Last UpdatedJan 28, 2025
  • 11 minute read

The Attributes section defines what attributes to be included in the report, how to render the attribute header rows and how to render the cells in the intersection between attributes and classes.

The syntax for Attributes definition is:

<Attributes permissibleOnly="true" maturityLevel="10" where="!./@obsolete" >

...

</Attributes>

Element

Property

Description

Attributes

The containing element for OrderBys, Headers and Columns.

All expressions supplied for property values on this element will be resolved in the context of the ClassLibrary node (see Context nodes and expression syntax).

permissibleOnly

An optional Boolean expression controlling whether to only include Attributes that are permissible for one or more of the Classes in the sheet

If not specified, the default value will be false, i.e. include all Attributes from the target Class Library, whether they are permissible for the target Classes, or not

maturityLevel

An optional Integer expression controlling what Maturity Level to apply for the Permissible Attributes being rendered

Assigning Maturity Levels to Attributes or Permissible Attributes in a Class Library allows you to override the values of @presence and @discipline, depending on the maturity of an object

If not specified, the default @presence and @discipline will be applied for the Permissible Attributes. If an expression is applied, that resolves to a positive integer value, @presence and @discipline for the Permissible Attributes will reflect the Maturity Level specified

where

An optional expression defining the criteria for what Attributes to include in the sheet (see Value expressions)

This expression is applied on the Attribute Class definitions of the Class Library, i.e. any overrides or variabtes of Permissible Attributes will not be taken into consideration

If not specified, all Attributes satisfying permissibleOnly will be included.

whereAny

An optional expression defining the criteria for what Attributes to include in the sheet (see Value expressions). This property will be applied only when permissibleOnly=true

As opposed to the where property, the condition specified by this property will be applied for all the Permissible Attributes of the target classes. Any attribute meeting the condition for any of the target classes will be included in the sheet

whereAll

An optional expression defining the criteria for what Attributes to include in the sheet (see Value expressions). This property will be applied only when permissibleOnly=true

As opposed to the where property, the condition specified by this property will be applied for all the Permissible Attributes of the target classes. Only attributes meeting the condition for all of the target classes where the attribute is permissible will be included in the sheet

There is perfectly possible to combine where, whereAny and whereAll conditions in the same report. The conditions will then be applied in an additive manner, meaning all specified conditions must be met for an attribute to qualify

OrderBys

The Attributes/OrderBys section controls in what order the attributes will be rendered.

<Attributes ...>

<OrderBys>

<OrderBy geicl:id="GroupId" condition="./@groupId ?? ZZZZ" direction="Ascending" suppress="$orderByGroupId.isNull()" />

<OrderBy geicl:id="Name" condition="./@name" direction="Ascending" />

</OrderBys>

...

Element

Property

Description

Attributes

The containing element for OrderBys, Headers and Columns

OrderBys

An optional element holding a collection of OrderBy definitions

OrderBy

geicl:id

Assigns an identifier to the OrderBy.

All items inside a collection element, such as OrderBys must have an identifier which is unique within the containing collection

condition

An expression resolving to the order by value for each individual attribute.

If the expression resolves to an empty value for some of the attributes, you can specify a default value to control how these instances are ordered.

If you want to order by the @sortOrder property of the attributes, you should use the expression ./@sortKey. The synthetic property @sortKey holds the value of integer property @sortOrder, but formatted as a sortable string value

direction

Specifies in what direction the ordering should be organised:

Ascending (default)

Descending

suppress

When the value of this property resolves to true the OrderBy definition will be excluded from the report definition. This feature can e.g. be used select applicable OrderBy definitions, based on conditions derived from context or user input

geicl:sortOrder

An integer value that controls the order of siblings in the containing collection. To fully understand the impact of using this property, please see the explanation in

Headers

The Attributes/Header section controls how the attribute headers should be rendered:

Example of Attributes/Header syntax:

<Attributes ...>

<OrderBys> ... </OrderBys>

<Headers style="AttributeHeader" headerStyle="AttributeLegend">

<Header geicl:id="Group" mergeCells="true" header="'Attribute Group &#x2192;'" value="./@groupId ?? 'Misc'">

<Conditions>

<Condition geicl:id="Common" where="./@groupId == 'Common'">

<Style>

<Fill patternColor="rgb(191,191,191)" />

<Font size="10" color="#000000"/>

</Style>

</Condition>

</Conditions>

</Header>

<Header geicl:id="Name" header="'Attribute\nName &#x2192;'" value="./@name" suppress="$includeName !== true" >

<Style>

<Alignment textRotation="90"/>

<Font bold="false"/>

</Style>

<HeaderStyle>

<Alignment wrapText="true"/>

</HeaderStyle>

<Conditions>

<Condition geicl:id="Common" where="./@groupId == 'Common'">

<Style>

<Fill patternColor="rgb(191,191,191)" />

<Font size="10" color="#000000"/>

</Style>

</Condition>

</Conditions>

</Header>

</Headers>

Element

Property

Description

Attributes

The containing element for OrderBys, Headers and Columns

Headers

An containing element for attribute headers

All expressions supplied for property values on this element, or any descendant elements, will be resolved in the context of an Attribute class node (see Context nodes and expression syntax)

style

An optional reference to a Named Style definition from the section above. The content of Header@value will be formatted according to the referenced style definition.

If not specified, the default value will be taken from PermissibleGrid@style

headerStyle

An optional reference to a Named Style definition from the section above. The content of Header@header will be formatted according to the referenced style definition.

If not specified, the default value will be taken from PermissibleGrid@headerStyle

freeze

An optional Boolean expression specifying whether all header rows should be frozen in the resulting sheet. Frozen header rows will not scroll vertically.

Header

Represents a row at the top of the sheet, containing header information for the attributes

Which cell to hold the first attribute depends on number of columns occupied by

geicl:id

Assigns an identifier to the Header.

All items inside a collection element, such as Headers must have an identifier which is unique within the containing collection

header

An expression to include in the cell preceding the first attribute. This is typically used as a label explaining the content of the row

value

An expression defining the content of the attribute cells in the corresponding row in the sheet.

mergeCells

An optional Boolean expression controlling whether to merge consecutive cells containing identical values

If the expression resolves to true, all consecutive cells containing identical values will be merged into one cell visually

style

An optional reference to a Named Style definition from the section above. The content of Header@value will be formatted according to the referenced style definition.

If not specified, the default value will be taken from Headers@style

headerStyle

An optional reference to a Named Style definition from the section above. The content of Header@header will be formatted according to the referenced style definition.

If not specified, the default value will be taken from Headers@headerStyle

freeze

An optional Boolean expression specifying whether the header row should be frozen in the resulting sheet. A frozen header row will not scroll vertically.

A frozen rows pane always starts from the top most row, hence the last header row specified to freeze will dictate how many rows will be frozen.

suppress

When the value of this property resolves to true the Header definition will be excluded from the report definition. This feature can e.g. be used to select applicable Header definitions, based on conditions derived from context or user input

geicl:sortOrder

An integer value that controls the order of siblings in the containing collection. To fully understand the impact of using this property, please see the explanation in

Header/Style

An optional inline style definition, supporting the same syntax as . When present, all inline definitions will take precedence over the definitions in a Named Style, referenced by the Header@style property

Header/HeaderStyle

An optional inline style definition, supporting the same syntax as . When present, all inline definitions will take precedence over the definitions in a Named Style, referenced by the Header@headerStyle property

Header/Conditions

The containing element for optional Condition definitions.

Condition definitions can be used to override style settings and optionally the @value of the header row, based on a condition.

Condition

geicl:id

Assigns an identifier to the Condition.

All items inside a collection element, such as Conditions must have an identifier which is unique within the containing collection

where

A Boolean expression used to control whether the condition is fulfilled (see Context nodes and expression syntax)

style

An optional reference to a Named Style definition from the section above. When the condition is fulfilled the effective style for the header row will be an aggregate of the style definitions on the Condition and the Header, with definitions on Condition taking precedence

value

An optional expression defining the content of the header row (see Value expressions). When the condition is fulfilled, the Condition@value will take precedence over the Header@value. The presence of @value has an impact on how Condition statements are applied:

When there are more than one Condition having @value, the first fulfilled Condition (in the order of appearance) will be applied.

When there are one or more Condition not having @value, all fulfilled Condition will be applied. I.e. the style definitions from all fulfilled Condition without @value will be aggregated together with any style definitions on the Header

suppress

When the value of this property resolves to true the Condition definition will be excluded from the report definition. This feature can e.g. be used to select applicable Condition definitions, based on conditions derived from context or user input

geicl:sortOrder

An integer value that controls the order of siblings in the containing collection. To fully understand the impact of using this property, please see the explanation in

Condition/Style

An optional inline style definition, supporting the same syntax as . When present, all inline definitions will take precedence over the definitions in a Named Style, referenced by the @style property

Columns

The Attributes/Columns section controls how to render the cells in the intersection between attributes and classes:

Example of Attributes/Column syntax:

<Attributes ...>

<OrderBys>

...

</OrderBys>

<Headers style="AttributeHeader" headerStyle="AttributeLegend">

...

</Headers>

<Columns styleWhenPresent="PermissiblePresent" styleWhenAbsent="PermissibleAbsent">

<Column geicl:id="PresenceMarker" valueWhenPresent="'X'" >

<StyleWhenPresent>

<Font color="rgb(174,170,170)"/>

</StyleWhenPresent>

<Conditions>

<Condition geicl:id="Required" where="R == substring(./@presence, 1, 1)" valueWhenPresent="R">

<StyleWhenPresent>

<Font color="rgb(0,0,0)"/>

</StyleWhenPresent>

</Condition>

<Condition geicl:id="Preferred" where="P == substring(./@presence, 1, 1)" valueWhenPresent="P">

<StyleWhenPresent>

<Font color="rgb(64,64,64)"/>

</StyleWhenPresent>

</Condition>

<Condition geicl:id="Optional" where="O == substring(./@presence, 1, 1)" valueWhenPresent="O">

<StyleWhenPresent>

<Font color="rgb(128,128,128)"/>

</StyleWhenPresent>

</Condition>

</Conditions>

</Column>

</Columns>

Element

Property

Description

Attributes

The containing element for OrderBys, Headers and Columns

Columns

An containing element for attribute columns

All expressions supplied for property values on this element, or any descendant elements, will be resolved in the context of a Permissible Attribute node (see Context nodes and expression syntax)

styleWhenPresent

An optional reference to a Named Style definition from the section above. The content of Column@valueWhenPresent will be formatted according to the referenced style definition.

If not specified, the default value will be taken from PermissibleGrid@style

styleWhenAbsent

An optional reference to a Named Style definition from the section above. The content of Header@valueWhenAbsent will be formatted according to the referenced style definition.

If not specified, the default value will be taken from PermissibleGrid@headerStyle

Column

Represents the cells in the intersection between Attributes and Classes. There will be one cell in each intersection for each Column definition

geicl:id

Assigns an identifier to the Column.

All items inside a collection element, such as Columns must have an identifier which is unique within the containing collection

valueWhenPresent

An expression to resolve the cell content for attributes that is permissible for the corresponding class.

valueWhenAbsent

An expression to resolve the cell content for attributes that is not permissible for the corresponding class. The default value is empty.

styleWhenPresent

An optional reference to a Named Style definition from the section above. The content of Column@valueWhenAbsent will be formatted according to the referenced style definition.

If not specified, the default value will be taken from Columns@styleWhenPresent

styleWhenAbsent

An optional reference to a Named Style definition from the section above. The content of Column@valueWhenAbsent will be formatted according to the referenced style definition.

If not specified, the default value will be taken from Columns@styleWhenAbsent

suppress

When the value of this property resolves to true the Column definition will be excluded from the report definition. This feature can e.g. be used to select applicable Column definitions, based on conditions derived from context or user input

geicl:sortOrder

An integer value that controls the order of siblings in the containing collection. To fully understand the impact of using this property, please see the explanation in

Column/

StyleWhenPresent

An optional inline style definition, supporting the same syntax as . When present, all inline definitions will take precedence over the definitions in a Named Style, referenced by the Column@styleWhenPresent property

Column/

StyleWhenAbsent

An optional inline style definition, supporting the same syntax as . When present, all inline definitions will take precedence over the definitions in a Named Style, referenced by the Column@styleWhenAbsent property

Column/

Conditions

The containing element for optional Condition definitions.

Condition definitions can be used to override style settings and values of the cell, based on a condition.

Condition

geicl:id

Assigns an identifier to the Condition.

All items inside a collection element, such as Conditions must have an identifier which is unique within the containing collection

where

A Boolean expression used to control whether the condition is fulfilled (see Context nodes and expression syntax)

valueWhenPresent

An optional expression defining the content of the cell for attributes that is permissible for the corresponding class. When the condition is fulfilled, the Condition@valueWhenPresent will take precedence over the Column@valueWhenPresent.

The presence of @valueWhenPresent has an impact on how Condition statements are applied:

When there are more than one Condition having @valueWhenPresent, the first fulfilled Condition (in the order of appearance) will be applied.

When there are one or more Condition not having @valueWhenPresent, all fulfilled Condition will be applied. I.e. the style definitions from all fulfilled Condition without @valueWhenPresent will be aggregated together with any style definitions on the Column

valueWhenAbsent

This setting works similar to valueWhenPresent, except it will be applied for the cell for attributes that is not permissible for the corresponding class.

styleWhenPresent

An optional reference to a Named Style definition from the section above. When the condition is fulfilled the effective style for the cell will be an aggregate of the styleWhenPresent definitions on the Condition and the Column, with definitions on Condition taking precedence

styleWhenAbsent

An optional reference to a Named Style definition from the section above. When the condition is fulfilled the effective style for the cell will be an aggregate of the styleWhenAbsent definitions on the Condition and the Column, with definitions on Condition taking precedence

suppress

When the value of this property resolves to true the Condition definition will be excluded from the report definition. This feature can e.g. be used select applicable Condition definitions, based on conditions derived from context or user input

geicl:sortOrder

An integer value that controls the order of siblings in the containing collection. To fully understand the impact of using this property.

Condition/

StyleWhenPresent

An optional inline style definition, supporting the same syntax as . When present, all inline definitions will take precedence over the definitions in a Named Style, referenced by the @styleWhenPresent property

Condition/

StyleWhenAbsent

An optional inline style definition, supporting the same syntax as . When present, all inline definitions will take precedence over the definitions in a Named Style, referenced by the @styleWhenAbsent property

TitleResults for “How to create a CRG?”Also Available in