Documentation Center

CIR reference resolve default behavior

This topic describes how references to CIR items are resolved during S1000D Publish by default.

For each type of CIR, XPath expressions are used to search for specific markup in referencing DMs. When a matching CIR item is found, the reference (xxxRef) tag is replaced with content extracted from the CIR item and inserted into the referencing DM.
The following table describes the S1000D Publish default behavior for each supported CIR type.
CIR typeContext in referencing DMHow the CIR reference is resolved
PartsPreliminary Requirements, in Process/Procedural/Fault/Checklist DMs:
  1. 1st override:
    Search for:
    //spareDescr/natoStockNumber
    Match on:
    (@natoSupplyClass and @natoCodificationBureau and 
    @natoItemIdentNumberCore) or fullNatoStockNumber
  2. 2nd override:
    Search for:
    //spareDescr/functionalItemRef
    Match on:
    @functionalItemNumber
  3. Default behavior:
    Search for:
    //spareDescr/partRef
    Match on:
    @manufacturerCodeValue and @partNumberValue
For Parts CIR items, two overrides are provided (in addition to the default behavior) to handle common variations in markup.
In all three cases, replace the spareDescr section with:
<spareDescr>
<name>...</name>
<shortName>...</shortName> 
        (only if this optional tag exists)
<identNumber>
<manufacturerCode>...</manufacturerCode>
<partAndSerialNumber>
<partNumber>...</partNumber>
</partAndSerialNumber>
</identNumber>
<natoStockNumber>...</natoStockNumber>
        (only in the 1st override case)
<reqQuantity>...</reqQuantity>
</spareDescr>
ToolsPreliminary Requirements, in Process/Procedural/Fault/Checklist DMs:
Search for:
//supportEquipDescr/toolRef
Match on:
@manufacturerCodeValue and @partNumberValue
Replace the supportEquipDescr section with:
<supportEquipDescr>
<name>...</name>
<shortName>...</shortName> 
        (only if this optional tag exists)
<identNumber>
<manufacturerCode>...</manufacturerCode>
<partAndSerialNumber>
<partNumber>...</partNumber>
</partAndSerialNumber>
</identNumber>
<reqQuantity>...</reqQuantity>
</supportEquipDescr>
SuppliesPreliminary Requirements, in Process/Procedural/Fault/Checklist DMs:
Search for:
//supplyDescr/supplyRef
Match on:
@supplyNumber
Replace the supplyDescr section with:
<supplyDescr>
<name>...</name>
<shortName>...</shortName> 
        (only if this optional tag exists)
<identNumber>
<manufacturerCode>...</manufacturerCode>
<partAndSerialNumber>
<partNumber>...</partNumber>
</partAndSerialNumber>
</identNumber>
<reqQuantity>...</reqQuantity>
</supplyDescr>
Supply requirementsPreliminary Requirements, in Process/Procedural/Fault/Checklist DMs:
Search for:
//supplyDescr/supplyRqmtRef
Match on:
@supplyRqmtNumber
Replace the supplyDescr section with:
<supplyDescr>
<name>...</name>
<shortName>...</shortName> 
        (only if this optional tag exists)
<identNumber>
<manufacturerCode>...</manufacturerCode>
<partAndSerialNumber>
<partNumber>...</partNumber>
</partAndSerialNumber>
</identNumber>
<reqQuantity>...</reqQuantity>
</supplyDescr>
Functional itemsPreliminary Requirements, in Process/Procedural/Fault/Checklist DMs:
Search for:
//spareDescr/functionalItemRef
Match on:
@functionalItemNumber
Replace the spareDescr section with:
<spareDescr>
<name>...</name>
<shortName>...</shortName> 
        (only if this optional tag exists)
<identNumber>
<manufacturerCode>...</manufacturerCode>
<partAndSerialNumber>
<partNumber>...</partNumber>
</partAndSerialNumber>
</identNumber>
<reqQuantity>...</reqQuantity>
</spareDescr>
Circuit breakersPara tags in numerous types of DMs:
Search for:
//para/circuitBreakerRef
Match on:
@circuitBreakerNumber
Replace the circuitBreakerRef tag with plain text wrapped in a verbatimText tag:
<verbatimText>@circuitBreakerNumber + space + "name" tag 
contents </verbatimText>
Controls and indicatorsPara tags in numerous types of DMs:
Search for:
//para/controlIndicatorRef
Match on:
@controlIndicatorNumber
Replace the controlIndicatorRef tag with plain text wrapped in a verbatimText tag:
<verbatimText>controlIndicatorKey + space + controlIndicatorName
+ space + controlIndicatorFunction</verbatimText>
ZonesPara tags in numerous types of DMs:
Search for:
//para/zoneRef
Match on:
@zoneNumber
Replace the zoneRef tag with plain text wrapped in a verbatimText tag:
<verbatimText>@zoneNumber + space + itemDescr tag 
contents </verbatimText>
Access pointsPara tags in numerous types of DMs:
Search for:
//para/accessPointRef
Match on:
@accessPointNumber
Replace the accessPointRef tag with plain text wrapped in a verbatimText tag:
<verbatimText>@accessPointNumber + space + @accessPointTypeValue 
displayed as text when pre-defined</verbatimText>
EnterprisesProcurementData tags in IPD DMs:
Search for:
//illustratedPartsCatalog/catalogSeqNumber/itemSeqNumber/
partSegment/procurementData/enterpriseRef
Match on:
@manufacturerCodeValue
Replace the enterpriseRef tag with:
<enterpriseRef ...>
<name>CIR enterpriseName tag contents</name>
</enterpriseRef>