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.
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}.
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.