ECLASS Templates



An ECLASS template is a bilaterally agreed data specification, i.e. it underlies the communication between an information requestor and an information provider. It defines which data from an application class from the ECLASS dictionary shall occur in transactional data (messages) or catalogs and how this data is expected to be presented. Moreover it can clarify the usage of individual properties by narrowing down the options e.g. for a property being multivalued or having a restricted set of proposed values.

The data dictionary defines how products and services are classified and can be described. In the template, there is modelled how the expected respone to a query looks like; in other words: The template is used to structure the catalog and gives hints at filling out the catalog, but to understand the meaning of the catalog one does only need the dictionary. This means that the following referencing requirements apply:

  • A template does not contain its own set of identifiers (except the template identifier itself).
  • A catalogue references concept identifiers from the dictionary, not from the template.
  • A template is not needed to decode a catalogue.
  • A template is needed to create a catalogue that meets a data recipient’s requirements.

XML Schema

ECLASS uses an XML representation of templates defined within


With ECLASS-Release 10.0.1, the file „Templates“, known from previous releases, does not further comprise any content. The reason for this is the future approach on Templates to only deliver and publish „default“ Templates with substantial content. Of course this can change regarding future releases. Templates contain a Data Requirement Statement for the data exchange, in which e.g. orders, Can and Must areas etc. between data transmitter and recipient can be defined.

For further details, please consider the further documentation on how to work with ECLASS templates.

Elements of XML Schema

Root Element

Figure 1: ECLASS templates root

eclass_template is the root element of the ECLASS template schema. It serves as a container for the header common to all ECLASS XML files and a list of templates.

Template Element

Figure 2: Template element


The template element contains one template for an application class.


  • is_flat (optional) tells whether the template flattens the nested structure of an advanced class to a list or not
  • default (optional) tells whether this template should be applied when no business case specific template was agreed
  • id (optional) contains the identifier of the template
  • guid (optional) contains the GUID of the template. It should be used when no identifier was assigned to the template.


  • preferred_Name (optional) transports the translatable name of the template
  • prescribed_Item contains the prescribed item
  • revision (optional) contains the revision number of the template
  • template_view (optional) is a list of view defined on top of the template

Prescribed Item

Figure 3: Prescribed item

Template View

Figure 4: Template view

Prescribed Property

Prescribed Property Attributes

Figure 5: Prescribed property attributes

Each prescribed property reference one property. A reference property can have a prescribed property described in a different template. In this case „target template“ attribute is used.

In prescribed property, multiple information about the data type can be embedded.

If the property is measure it is possible to define a list of prescribed units to be used in this property context or it is additionally possible to change default unit of the property.

Definition of Default Unit and List of Units

Figure 6: Change default unit and restrict the list of units

For a property it is possible to create a list of value in the template. One can reference a list of coded values from the dictionary.

Definition of Coded Values

Figure 7: Reference of controlled values from dicationary

Definition of Property Context

Figure 8: Definition of property context

Overwrite Property Names

Figure 9: Overwriting the name of property

Assignment of Groups

Figure 10: Assignment of property to the groups

Prescribed Property Custom Flags

Figure 11:  Definition of extended flags like "TC", "SAP"

Conditional Mandatoriness

Figure 12: Definition of conditional mandatoriness


Figure 13: Definition of explicit values for a property

Value Generation Rules For Properties

Figure 14: Definition of value generation rules for properties

Template Partitions

Figure 15: Definition of template partitions

Template XML Examples

Visible Properties

To make a property visible one needs to add a prescribed_property element for it.

Suppose there is a TABLE application class with one reference property DIMENSION, one string property MATERIAL and one string property named COLOR.

The structure is presented in the table below:

Figure 16: Template for whole class except one property


To make a template including all properties except COLOR the excluded property needs to be excluded from template, only the visible ones being enumerated.

Figure 17: Template for whole class except one property

As described there is no prescribed property for COLOR property.

Note: The structure below “dimension” could be a block from ECLASS 7.0 ADVANCED.

Property Context

Property context is specified in the extension of ig:prescribed_property.

Figure 18: Property context

When the prescribed property is right under the application class (with no reference property in between) the property context element is not needed. All simple properties used directly in the AC will have no specified property context.

Note: property_context is needed for blocks in ECLASS 7.0 ADVANCED.

Mandatory Properties

Simple Mandatory Property

Prescribed_property has set xs:attribute is_required to true.

Conditionally Mandatory Property

Example: class “pencil” with (mandatory) property “rubber present” having possible values {true, false}. Another property is “rubber changeable”. Condition for “rubber changeable” to be mandatory is “rubber present” having a value of “true”.


Figure 19: Mandatory if a Boolean property is true


Figure 20: Mandatory if an Integer property is 5


Figure 21: Mandatory if an string property has value XYZ


Figure 22: Mandatory if another property is valuated

Order of Properties

The order of properties is defined by the order of the prescribed_property elements.

Usage of non partitioning-groupings is discouraged. For non-partitioning groupings the solution is to have different templates instead.

Grouping of Properties per Context

Association of property groups to the prescribed property:

Figure 23: Association of property groups to the prescribed property


Figure 24: Definition of partitions with their groups

The prescribed_item above defines two partitioning groups, group „aaa“ being the default one.

Concatenation Rules

Figure 25: Value generation rules as part of prescribed property

Prescribed property above has two value generation rules for property „screw size“.

The first one (rule1) is translatable and has syntax „Thread: ${thread} Diameter: ${diameter} Length: ${length}“ in English and the corresponding one in German.

Second rule is not translatable and has syntax „${thread} ${diameter} X ${length}“ and is not translatable.

Open Value Lists

Value lists can be open (suggestion of contained value) or closed (restriction to contained values) since ECLASS 7.0. The feature is controlled by the is_open attribute.

Figure 26: Specification that a certain domain is open


Figure 27: Specification of suggested explicit values

Display Name of Property

It is possible that when using a template the property name is differently presented as specified by the template supplier.

If for example we want the first o-ring to be named „Fuel rail o-ring“, the following construction can be used:

Figure 28: Change the property name

The folowing example is provided for further details on Templates

Template ECLASS XML Schema - Explanations

A template is associated to a class. From all elements described in Template ECLASS XML Schema, in ECLASS 7.0 templates we find only suggested values of a used property of the class. The template does not contain a full value specification, but just a reference to it.  The value is described in the dictionary (in this case  ECLASS7_0_ADVANCED_DE_SG_15.xml).

Suggested values of a property are in context of the class for which the template is defined. For example:


 <tmpl:prescribed_item class_ref="0173-1---BASIC_1_1#01-ADK867#001" id="0173-1#Z3-AAG751#001"> <tmpl:prescribed_property property_ref="0173-1#02-BAB392#006"> <dt:controlled_value_type is_open="true"> <dt:value_of_property value_ref="0173-1#07-AAA555#001" /> <dt:value_of_property value_ref="0173-1#07-AAA375#001" /> <dt:value_of_property value_ref="0173-1#07-AAA554#001" />


When a template 0173-1#Z3-AAG751#001 of class 0173-1---BASIC_1_1#01-ADK867#001 is used, it specifies that for property 0173-1#02-BAB392#006 the following values are suggested: 0173-1#07-AAA555#001, 0173-1#07-AAA375#001, 0173-1#07-AAA554#001.


Figure 29: Example Suggested Values of a Property

Indeed, in order to properly find the value attributes dictionary must be read. In dictionary file values are placed inside datatype, while one and the same value could be part of multiple datatypes. Values cannot be standalone according to ECLASS XML schema.

Most datatypes are not referenced by other properties in ECLASS 7.0 dictionary. Others, like 0173-1#09-AAA001#001, are referenced by Boolean properties.

To conclude, after reading value_ref from template, users can find its attributes in dictionary under the datatype element containing it; as related to the application performance, it is worth reading all datatypes and values from the XML and keeping these within the memory datastructure.

Restricted Values vs. Suggested Values

In ECLASS 7.1 XML files, properties with suggested values do not reference a domain (<ontoml:datatype>) because a direct connection between property and domain is interpreted as restricted list of values for property.

In case of ECLASS 7.1 XML, ECLASS only suggests values for most properties, and does not want to enforce using only these values.

Therefore a list of suggested values for a property in context of a class where it is used is stored in a template file, providing thus for the possibility of having different sets of values for one and the same property, depending on the specific class where it is used.

Brief explanation of the given problem statement:

Consider string property BAA753-005 „flute helix hand“ in context of class 21-18-01-01 Full drill (non-detachable cutting edges)“. Back to XML files, for the property BAA753-005 used in class 21-18-01-01 we have 3 values. Connection is made through template file: “basic-templates-en-XML\eClass7_1_templates_BASIC_en_SG_21.xml”

This template file contains the identifier of class, the identifier of property and the identifiers of suggested values to be used.


 <tmpl:prescribed_item class_ref="0173-1---BASIC_1_1#01-ACD320#007" id="0173-1#Z3-ABP629#001"> <tmpl:prescribed_property property_ref="0173-1---BASIC_1_1#01-ACD320#007" /> <tmpl:prescribed_property property_ref="0173-1#01-SGX021#006"> <tmpl:property_context> <tmpl:prop_element property_ref="0173-1---BASIC_1_1#01-ACD320#007" /> </tmpl:property_context> </tmpl:prescribed_property> … <tmpl:prescribed_property property_ref="0173-1#02-BAA753#005"> <dt:controlled_value_type is_open="true"> <dt:value_of_property value_ref="0173-1#07-CAA162#001" /> <dt:value_of_property value_ref="0173-1#07-AAI690#002" /> <dt:value_of_property value_ref="0173-1#07-AAI691#002" /> </dt:controlled_value_type> <tmpl:property_context> <tmpl:prop_element property_ref="0173-1---BASIC_1_1#01-ACD320#007" /> </tmpl:property_context> </tmpl:prescribed_property>



For release ECLASS 8.0 the modeling of suggested values was changed and property directly references a domain.

The distinction between restricted and suggested values of property is made in XML with an attribute of relation property-domain; different set of values for same property in context of different classes will be made with constraints.

Content Development Plattform: Reuse of Templates In Aspects/Blocks

Templates of aspects and blocks may be reused, as follows:

Template for aspect/block is defined.

On creation of a template for an Application Class, user is able to select an available template created on an aspect or a block.

When creating a template on an AC, user has the possibility to select an available template created on an aspect or a block.

On automatic creation of default templates, user has the possibility to select and use the default template for blocks and aspects.



Wir benötigen Ihre Zustimmung

Diese Website verwendet notwendige Cookies zur Sicherstellung des Betriebs der Website. Eine Analyse des Nutzerverhaltens durch Dritte findet nicht statt. Detaillierte Informationen über den Einsatz von Cookies finden Sie in unserer Datenschutzerklärung.