Content Key Reference Tests

Tests various configurations of referencing and referenced elements for content key reference.

Overview

There are several cases for content reference reflecting different levels of specialization for the referencing or referenced element:
  1. Reference from a generic topic to elements in generic topics (same topic types)
  2. Reference from a more-specialized topic to elements in a generic (less specialized) topic
  3. Reference from a less-specialized topic to a more-specialized topic

Case (2) is not allowed when strong content reference constraints are enforced. However, by default weak constraints, not strong constraints, are in effect. Processors may provide the option of making all constraints strong.

These combinations of specialization are not specific to content key references—the rules are the same whether you use @conkeyref @conref. However, since you should never @conref these tests are constructed using key references.

Expected Results

Cases (1) and (3) should always work. Case (2) should fail, or at least generate a warning, when strong content reference constraints are in effect (but remember that weak constraints is the default). When weak content reference constraints are in effect then case (2) should succeed.

Relevant Specification Language

General conref processing rules: 2.4.2.2 Processing conrefs.

Weak and strong constraints: 2.5.5.4 Weak and strong constraints.

Compatibility of documents for content reference strong constraint checking: 2.5.5.5 Conref compatibility with constraints.

Test Results

Table 1. Test Results
Processor Test Result Notes
DITA Open Toolkit 2.2.3 Reference from less-specialized element to more-specialized element fails.

Other tests pass as expected. The OT does not appear to have an option for turning on strong constraint checking.

Logged as issue #1884
oXygenXML Editor 18 beta

All content references are resolved correctly in Author mode.

Oxygen 18 does not appear to provide an option for turning on strong constraint checking.

 
XMetaL 11 Not tested  
FrameMaker 2015 Not tested  
ditac 2.5.x Not tested  
DFST Link Manager 0.9.x Not tested