Attribute Values in STEPXML

In STEPXML, attribute values are enclosed in either a <Value>tag or a metadata tag (refer to the Attribute Value Tags by Base Type section below).

Single valued attributes are shown in the <Value> tag.

<Value AttributeID="Color">Green</Value>

Multi-valued attributes use a different attribute ID tag and duplicate the <Value> tag.

<MultiValue AttributeID="Sizes"> 
  <Value>Small</Value>
  <Value>Medium</Value>
  <Value>Large</Value>
</MultiValue>

Dimension dependent attributes and LOVs use the <Value> or <ValueGroup> tag with the <QualifierID> XML attribute. For details on the <QualifierID> tag, refer to the Context Data (Qualifiers) in STEPXML topic.

This STEPXML shows an attribute where only one dimension has a value:

<Value AttributeID=“attribute“ QualifierID=“dimension“>TEXT1</Value>

This STEPXML shows an attribute where multiple dimensions have a value:

<ValueGroup AttributeID=“attribute">
  <Value QualifierID=“dimension1">TEXT1</Value>
  <Value QualifierID=“dimension2">TEXT2</Value>
  <Value QualifierID=“dimension3">TEXT3</Value>
</ValueGroup>

Important: Although dimension dependent attributes can be of any base type, the base type is what determines the required <Value> tag. Refer to the Attribute Value Tags by Base Type section below.

Additional documentation about importing and exporting attribute values using STEPXML is included in the 'STEPXML Tags and Examples' topics for assets, classifications, data containers, and products, as well as the following topics:

XML Attributes

Details on using the <Value> or metadata tag and the valid XML attributes are defined in the XSD section under the STEPXML heading via in the Technical Documentation accessible at [system]/sdk or from the Resources section of the system's Start Page.

The following XML attributes are valid for use with attribute values:

  • AttributeID - the ID of the attribute

  • Changed - indicates if the attribute value has been changed

  • Derived - indicates if the attribute value is calculated

  • DerivedContextID - the ID of the context in which the value is calculated

  • ID - the ID of the value coming from the LOV

  • Inherited - indicates if the attribute value is inherited

  • InheritedFrom - the object ID from which the value is inherited

  • LOVQualifierID - the dimension of the value coming from the LOV

  • QualifierID - the dimension of the value

  • UnitID - the ID of the unit

  • UnitName - the name of the unit

Attribute Value Tags by Base Type

The base type of an attribute determines the value tag required for data exchange in STEPXML. For details on attribute base types, refer to the Validation Base Type topic in the System Setup documentation.

Examples of the valid usage and tags for each base type are included below:

  • Condition: (only used in metadata of the attribute configuration) <Value AttributeID=”attribute">text = value</Value>

  • Date: <Value AttributeID=“attribute“>DD-MM-YYYY</Value>

  • Embedded Number: <Value AttributeID=“attribute“ UnitID=“unit“><prefix>TXT</prefix>NR<suffix>TXT</suffix></Value> (the <prefix> and <suffix> tags are escaped to conform with the standard XML format)

  • Fraction and Fraction (No Decimal): <Value AttributeID=“attribute“ UnitID=“unit“>VALUE/VALUE</Value>

  • GLN, GTIN, GTIN-8, GTIN-12, GTIN-13, and GTIN-14: <Value AttributeID=“attribute“>VALUE</Value>

  • ISO Date Time (displayed in the ISO 8601 (pre-2019) format): <Value AttributeID=“attribute“>YYYY-MM-DD HH:mm:SS</Value>

  • ISO Date: <Value AttributeID=“attribute“>YYYY-MM-DD</Value>

  • Integer: <Value AttributeID=“attribute“ UnitID=“unit”>NR</Value>

  • Number: <Value AttributeID=“attr“ UnitID=“unit”>NR</Value>

  • Number Range: <Value AttributeID=“attribute“ UnitID=“unit”>NR-NR</Value>

  • Numeric Text and Numeric Text (exclude tags): <Value AttributeID=“attribute“ UnitID=“unit”>TXT NR TXT</Value>

  • List of Values: LOVs have their own base type, validations, and may contain a unit.

    • LOVs with LOVValueIDs: <Value AttributeID=“attribute“ ID=“LOVValueID“ UnitID=“unit“>TEXT1</Value>

    • LOVs without LOVValueIDs: <Value AttributeID=“attribute“ UnitID=“unit“>TEXT1</Value>

  • Regular Expression: <Value AttributeID=“attribute“>TEXT1</Value>

  • Text and Text (excluding Tags): <Value AttributeID=“attr“>TEXT1</Value>

  • URL: <Value AttributeID=“attr“>https://text</Value>