一个文档可以多次包含同一个文件。如果包含的文件中有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分配和交叉引用的长格式。在分配中变量名周围的单引号是必需的,用来强制进行变量替换(也称为插值)。