在 xsl 级别隐藏 PDF 输出中的主题

Hide a topic from PDF output at xsl level

我有一个主题,它只包含文档的一些元数据(prolog 的子元素和一些自定义元素)。这些元素的内容显示在实际 PDF 输出的页眉和页脚中。

我的问题:现在引用的主题本身作为一个空章节包含在 pdf 中。

将 processing-role 设置为 resource-only 或过滤主题并不能解决问题,因为在进一步的转换步骤(页眉、页脚等)中需要元素的内容

我最好的猜测是以某种方式排除这个主题和基于其 ID 的不必要的页面序列..

.. 在自定义 xsl 模板中添加一些属性?

..修改话题处理?

..我没有想到的明显方法?

但我是初学者,所以一些指导会很好。

目前正在使用: DITA-OT 2.1;氧气 17.1;书签规格;基于 XSL FO 的转换;

提前致谢!

也许您可以将内容保留在主 DITA 映射中,而不是将其保留在主题中,也许使用一些 DITA“数据”元素,例如:

<map>
<title></title>
<topicmeta>
    <data name="d1" value="v1"/>
</topicmeta>

无论如何,如果您打算继续有一个单独的主题,也许您可​​以在该主题上设置一个“outputclass='filtered'”属性,然后在文件中使用 Oxygen 的 Find/Replace 在“bookmap/chapter”的文件夹“DITA-OT/plugins/org.dita.pdf2”。您可能需要找到 XSLT 模板,该模板处理 table 内容、书签区域和主文档的 DITA“章节”元素,并添加 [not(@outputclass='hidden')] 条件以便他们跳过该主题。