两个引用相同的成组ditamap,因此它们都引用相同的文件名

时间:2018-12-21 13:59:00

标签: dita dita-ot

我有一个分块的ditamap,需要在其根图中创建两个相同的引用(引用相同转换后的文件)

我尝试了几种不同的方法:

  • 引用第一个topicref(导致错误)
  • 在块内引用顶级topicref(在后面的引用中复制到位置被破坏)
  • 使用anchorref(有关URI片段组件的Java错误)
  • 使用mapref到相同的ditamap(后者参考Chunk1234567.html)
  • 在不使用内容引用的情况下将块复制到同一地图中的两个位置(后者引用为Chunk1234567.html)
  • Conref将第一个引用推到后一个位置(两个topicref均未解决,没有错误)

这两个选项均未产生我想要的结果,因此我想知道DITA-OT是否完全支持此功能,或者这是否是错误。内容未按预期方式转换,或者DITA-OT由于某些错误或其他原因而失败。

这是我正在引用的分块地图(service-chunk.ditamap):

<map>

  <topicref navtitle="Service name" id="service-chunk" href="service-main.dita" keyscope="service" copy-to="service.dita" chunk="to-content select-document by-document">
    <keydef keys="service-name">
      <topicmeta>
        <keywords>
          <keyword>Service name</keyword>
        </keywords>
      </topicmeta>
    </keydef>
    <keydef keys="service-extranet">
      <topicmeta>
        <keywords>
          <keyword>Service extranet name</keyword>
        </keywords>
      </topicmeta>
    </keydef>
    <topicref href="service-child1.dita" toc="no">
      <topicref href="service-child2.dita" toc="no"></topicref>
      <topicref href="service-child3.dita" toc="no"></topicref>
    </topicref> 
  </topicref>
</map>

这是根图,其中包含对以上图的两个引用:

<map>
  <topicref format="ditamap" href="service-chunk.ditamap" id="service-reference"/>
  <topicref conref="#service-reference" />
</map>

我希望生成的HTML索引看起来像这样:

<li>
  <a href="service.html">Service name</a>
</li>
...
<li>
  <a href="service.html">Service name</a>
</li>

但是,采用上述策略,只有第​​一个引用会被解析和转换,而后者会产生以下错误:

[DOTX010E]: Unable to find target for conref="#service-reference".

有一种解决方法,将块复制到根图中的两个位置并指定不同的复制到位置,但这不是理想的选择。

0 个答案:

没有答案