DimensionPointID Processing Instructions in Generic XML

Values in generic XML for the same attribute in different languages could be represented using the same ID with an additional attribute stating the language. This normally causes a name collision in generic XML. However, generic XML can import such dimension dependent data using the <?DimensionPointID?> instruction. This instruction can be used in a ?Repeated? block in combination with ?SourceID? or alone. When the ?DimensionPointID? instruction is used, the name of the field extracted will be appended with the value of the ?DimensionPointID? in square brackets, thus avoiding the name collision.

It is important to note that the use of the ?DimensionPointID? instruction, does not actually import into the specified dimension points - this has to be set up using transformations in the Map Data step. Refer to the Inbound Map Data - Map topic in the Data Format documentation here. For this reason, the values appended to the column names using the ?DimensionPointID? do not have to match the Dimension Point IDs, as this can be handled in the Map Data step of the import.

The following example shows how language dependent data can be extracted using generic XML. Note that the ID of the attribute is the same value, 52.

Copy
<Products>
   <Product ID="EXA-5002-1004">
      <Attributes>
        <Attribute>
          <ID>52</ID>
          <Lang>Eng</Lang>
          <Value>Some description text</Value>
        </Attribute>
        <Attribute>
          <ID>52</ID>
          <Lang>De</Lang>
          <Value>Einige beschreibenden Text</Value>
        </Attribute>
      </Attributes>
   </Product>
</Products>    

The following Generic XML template extracts the sourceID from a node value, and appends the value inside the <Lang> tags in square brackets, e.g., '52[Eng]' and '52[De]' so they can be mapped to the respective languages.

Copy
<Products>
   <Product ID="[?Source?]">
   <?Record?>
   <Attributes>
     <Attribute>
       <?Repeated?>
       <ID><?SourceID?></ID>
       <Lang><?DimensionPointID?></Lang>
       <Value><?Source?></Value>
      </Attribute>
   </Attributes>
   </Product>
</Products>