一个文档可以多次包含同一个文件。如果包含的文件中有ID,那么生成的文档(HTML或DocBook)将会有重复的ID,这会导致文档格式不正确。为了解决这个问题,你可以在ID中引用主文档的动态变量。

例如,假设你想在操作和维护章节中都包含介绍自行车链条的同一个小节:

= 自行车手册

章节:操作
== 操作

include::fragment-chain.adoc[]

章节:维护
== 维护

include::fragment-chain.adoc[]

fragment-chain.adoc 写作:

[id=chain-{chapter}]
=== 链条

参见 xref:chain-{chapter}[].

第一次包含[.path]_fragment-chain.adoc_文件时,包含部分的ID解析为`chain-operation`。文件第二次被包含时,ID解析为`chain-maintenance`。

为了使其工作,您必须使用ID分配和交叉引用的长格式。在分配中变量名周围的单引号是必需的,用来强制进行变量替换(也称为插值)。