Mapping: making exceptions to mapping

I have two documents: document A and document B.

Document B contains multiple clauses that are also used in document A. Document A and document B also have their own concepts #documentA and #documentB

So I inserted the same clauses in document B, but I mapped the concept from #documentA to #documentB. However, there are some exceptions where don’t want to map the concept, for instance where document B refers to document A.

This could be solved by inserting both documents in a binder and use a cross-tag for document A, where the reference to document A is replaced by the cross-tag. However, document B can also be used as a separate document, meaning that the cross-tag will not be found.

What is the best way to resolve this issue?

You could make use of a condition combined with the special function @crosstag-implemented. This can make the text referring to document A invisible in cases where the relevant clause was inserted in a document where the crosstag linked to document A is not implemented.

E.g.: {@crosstag-implemented(§crosstag-documentA): in accordance with §crosstag-documentA}.

Would that solve your issue?

Not really, because the reference should always be there, even if the crosstag is not implemented.

By the way, I also tried the crosstag-implemented function in the meantime, but it resulted in an error.

Not sure whether this would solve your problem, but the mapping of concepts is actually “inherited” from a clause to its child-clauses, and can be changed at any point down the line. This means that you should be able to do the following:

  • clause X --> mapped to #documentB
    • clause Y --> mapping changed to #documentA
      • clause Z --> mapping changed again to #documentB
    • clause W --> nothing done, so it “inherits” mapping from parent clause X, so mapped to #documentB

If you split your clauses sufficiently so that the exceptions are isolated into their own clause, then you should be able to use such refined mapping.

Does that make sense in your use case?