Как установить определенный набор атрибутов для определенных заголовков в плагине DITA-OT PDF2?

Я немного борюсь с настройкой плагина OT PDF2 (используя FOP). Что я хотел бы сделать, так это использовать пользовательский набор атрибутов для всех заголовков тем, которые имеют определенное значение для @outputclass. Я успешно определил пользовательский набор атрибутов. Но я не уверен, какой правильный шаблон написать, потому что тот, который я написал, ломает закладки файла PDF. Вот что у меня есть в custom.xsl:

<xsl:template match="*[contains(@class,' topic/topic ')]/*[contains(@class,' topic/title ')][@outputclass='drilltitle']">
<fo:block xsl:use-attribute-sets="hkdrill.title">
    <xsl:apply-templates/>
</fo:block>
</xsl:template>   

Любая помощь приветствуется.

Спасибо, Стивен


person TddOrBust    schedule 18.07.2012    source источник


Ответы (1)


Как насчет такого:

<xsl:template match="*[@outputclass='drilltitle']" mode="processTopicTitle">
  <fo:wrapper xsl:use-attribute-sets="hkdrill.title">
    <xsl:next-match/>
  </fo:wrapper>
</xsl:template>

Это будет работать, если атрибуты, которые вы добавляете, не установлены обычными наборами атрибутов заголовка темы. Если вам нужно переопределить тот же атрибут, что и во встроенных наборах атрибутов, вам нужно создать копию шаблона в режиме processTopicTitle и внести свои изменения там. Причина этого в том, что таблицы стилей PDF2 используют собственное «отражение набора атрибутов», которое не позволяет комбинировать наборы атрибутов обычным способом.

person jelovirt    schedule 19.07.2012
comment
Сладкий! В моем custom.xsl у меня есть шаблон, как вы предлагаете, и содержимое следует за блоками fo: из основного шаблона processTopicTitle, но я указываю hkdrill.title. И, похоже, это сработало. Я очень ценю помощь! Спасибо. -Стивен - person TddOrBust; 19.07.2012