Network Adapter > Network Adapter for CIM > Mapping XML > Cross Referencing |
Version: 10.1 |
Cross referencing permits the mapping configuration to reuse the definition of a CIM class or property or mapping operator expression. The following example defines the CIM Location class and related classes in terms of X and Y coordinates of a point feature in the GIS. The tagReference attribute indicates that the configuration uses this definition repeatedly. The evaluate attribute indicates that this definition does not itself generate any objects in the export. Also note the absence of a primarySource attribute.
<cimClass name="cim:Location" relationshipName="cim:PowerSystemResource.Location" tagReference="LocationClass" evaluate="false"> <cimClass name="cim:CoordinateSystem" relationshipName="cim:PowerSystemResource.Location" forward="false"> <cimProperty name="tdms:IdentifiedObject.name" value="GIS View" /> <cimClass name="cim:PositionPoint" forward="false"> <cimProperty name="cim:PositionPoint.xPosition"> <sourceField name="PositionPoint_X" /> </cimProperty> <cimProperty name="cim:PositionPoint.yPosition"> <sourceField name="PositionPoint_Y" /> </cimProperty> </cimClass> </cimClass> </cimClass>
The configuration references a definition using a crossReference tag. In the following example, a Transformer feature in the GIS maps to a DeviceBank object in the CIM. The DeviceBank object has related Location, CoordinateSystem and PositionPoint objects as defined above, but the configuration does not repeat the definition to specify these related objects. Instead, it uses the crossReference tag.
<cimClass name="cim:DeviceBank" primarySource="Transformer"> <optional> <HasRelatedObjects relatedClass="TRANSFORMERUNIT" atLeast="2" /> </optional> <cimProperty name="cim:IdentifiedObject.mRID"> <sourceField name="NAUNIQUEID" /> </cimProperty> <crossReference tagRef="LocationClass" /> </cimClass>