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

AVEVA™ Asset Information Management

AVEVA AIM Workhub XML Schema Reference

  • Last UpdatedNov 07, 2023
  • 3 minute read

Note: IDs must not contain any of the following characters: left brace ({), right brace (}), vertical bar (|).

XML Schema

Reference

Object ID (Unclassified)

<Object>

<ID>PID 113</ID>

</Object>

Object with Essential Classification

<Object>
<ID>PID 113</ID>
<ClassID>P&ID</ClassID>
</Object>

Object ID with Access Control

<Object>
<ID>PID 113</ID>
<ACE>Finance Group</ACE>
</Object>

Descriptive Name

<Object>
<ID>PID 113</ID>
<Name>Fuel System Diagram</Name>
<ClassID>P&ID</ClassID>
</Object>

Context

<Object>
<ID>PID 113</ID>
<Context>
<ID>IPE</ID>
</Context>
<ClassID>P&ID</ClassID>
</Object>

Nested Context

<Object>
<ID>PID 113</ID>
<Context>
<ID>Design Documents</ID>
<Context>
<ID>IPE</ID>
</Context>
</Context>
<ClassID>P&ID</ClassID>
</Object>

Association

<Object>
<ID>PID 410</ID>
<ClassID>P&ID</ClassID>
<Association type="refers to">
<Object>
<ID>150-PD-125</ID>
</Object>
</Association>
</Object>

Alias Identifier

<Object>
<ID>PID 410</ID>
<ClassID>P&ID</ClassID>
<Association type="is identified by">
<Object>
<ID>P&ID 410 Sheet 3</ID>
<Context>
<ID>IPE</ID>
</Context>
<Revision>B</Revision>
<Name>Fuel System Sheet 3</Name>
</Object>
</Association>
</Object>

Document File

<Object>
<ID>PID 113</ID>
<Context>
<ID>IPE</ID>
</Context>
<ClassID>P&ID</ClassID>
<Association type="is fulfilled by">
<Object>
<ID> PID_410_SVG </ID>
<Context>
<ID>IPE</ID>
</Context>
</Object>
</Association>
</Object>

Attributes

<Object>
<ID> PID_410_SVG</ID>
<ClassID>FILE</ClassID>
<Context>
<ID>IPE</ID>
</Context>
<Characteristic>
<Name>InfoLocator</Name>
<Value>/vs/IPE/P&IDs/P410_Sht_3.svg</Value>
</Characteristic>
<Characteristic>
<Name>InfoType</Name>
<Value>application/zgl</Value>
</Characteristic>
</Object>

Inline Dataset

<Object>
<ID>P100</ID>
<ClassID>PUMP</ClassID>
<Context>
<ID>IPE</ID>
</Context>
<Association type="has dataset">
<Object>
<ID>P100 Data Set</ID>
<ClassID>VPD DATASET</ClassID>
<Context>
<ID>IPE</ID>
</Context>
<Characteristic>
<Name>Bore</Name>
<Value>200</Value>
</Characteristic>
<Characteristic>
<Name>Material</Name>
<Value>Stainless Steel</Value>
</Characteristic>
</Object>
</Association>
</Object>

Import Template

<?xml version="1.0" encoding="UTF-8" ?>
<vl:VNETList
xmlns:vl="http://www.aveva.com/VNET/List"
xmlns="http://www.aveva.com/VNET/eiwm">
<Template><ID>VPE P&ID</ID>
:
<Object>
<ID>PID 113</ID>
</Object>
:
</Template>
</vl:VNETList>

Define Units of Measure

<SystemOfUOMClass>
<ClassID>SI</ClassID>
<ClassName>SI</ClassName>
<Definition>SI</Definition>
<UOMClass>
<ClassID>Metre</ClassID>
<ClassName>Metre</ClassName>
<Definition>Metre</Definition>
<Abbrev>m</Abbrev>
</UOMClass>
<UOMClass>
<ClassID>Centimetre</ClassID>
<ClassName>Centimetre</ClassName>
<Definition>Centimetre</Definition>
<Abbrev>cm</Abbrev>
</UOMClass>
</SystemOfUOMClass>

This example defines the SI system of units of measure (UOM), and also defines the two UOM classes – one for Metre (m) and another for Centimetre (cm).

Measure classes are defined as given in this snippet:

<MeasureClass>
<ClassID>Length Measure</ClassID>
<ClassName>Length Measure</ClassName>
<Definition>Length Measure</Definition>
<UnitOfMeasure>
<UOMClassID>Metre</UOMClassID>
</UnitOfMeasure>
<UnitOfMeasure>
<UOMClassID>Centimetre</UOMClassID>
<Scale>0.01</Scale>
</UnitOfMeasure>
</MeasureClass>

Here, a Length Measure is defined with its base UOM as Metre and another UOM of Centimetre.

Note: The Scale factor converts Centimetre to the base unit Metre.

Following is the definition of a PropertyClass that makes use of a UOM:

<PropertyClass>
<ClassID>LENGTH</ClassID>
<ParentClassID>PHYSICAL PROPERTY</ParentClassID>
<ClassName>Length</ClassName>
<Definition>Length</Definition>
<MeasureClassID>Length Measure</MeasureClassID>
</PropertyClass>

To import an Object that uses this Property
<Object>
<ID>TestObject02</ID>
<Context>
<ID>IPE</ID>
</Context>
<Property>
<Name>LENGTH</Name>
<Value>10</Value>
<Units>cm</Units>
</Property>
</Object>

A Property can be provided with an empty <Units/> element (or <Units></Units>). If Units are not provided, then the Property will not gain the Base Unit, but will be set to Null. If a Characteristic is supplied for an attribute that is actually a Property, then it will gain the Base Unit for the Property. EIA SearchResults will return an empty <Units/> element for Properties that have null Units to match the EIWM schema.

The EIWM allows for the creation of Rights and the assignment of those Rights to appropriate Roles and Persons.

The following is an EIWM example of creating a Right:

<?xml version="1.0" encoding="UTF-8" ?>
<?vnet xslt="NULL" ?>
<vl:VNETList xmlns:vl="http://www.aveva.com/VNET/List" xmlns="http://www.aveva.com/VNET/eiwm">
<Right>
<Name>NewRight</Name>
</Right>
</vl:VNETList>

The following is an EIWM example of assigning a Right to a Person and a Role:

<?xml version="1.0" encoding="UTF-8" ?>
<?vnet xslt="NULL" ?>
<vl:VNETList xmlns:vl="http://www.aveva.com/VNET/List" xmlns="http://www.aveva.com/VNET/eiwm">
<Template>
<ID>BootStrapSampleUsers.xml::template</ID>
<Object>
<ID>AVEVA\Person1</ID>
<ClassID>PERSON</ClassID>
<Association type="has right">
<Right>
<Name>NewRight</Name>
</Right>
</Association>
</Object>
<Object>
<ID>Default User</ID>
<ClassID>ROLE</ClassID>
<Association type="has right">
<Right>
<Name>NewRight</Name>
</Right>
</Association>
</Object>
</Template>
</vl:VNETList>

Rights can be assigned to either Roles or Persons with the following conditions:

  • Right should be existing before assigning it to a Role or a Person. If it is not existing, then Import Controller displays the message: Right not assigned - no such Right '<name of the right>'

  • Associating any object other than Role or Person to the Right is not permissible. If the Administrator tries to assign any other object apart from Role or Person to a new or existing Right, the following message is shown to the user while importing the XML: Cannot assign '<name of the right>' right to '<name of the object>' object. Rights can be assigned only to persons and roles.

  • Rights cannot be deleted if there are some references still existing. Only the unreferenced rights are deleted and then the Import Controller displays messages like this for each existing referenced rights: Right '<name of the right>' not deleted as it is still referenced.

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