Проблема: я хочу переключить все вложенные неупорядоченные списки на тире вместо маркеров.
Я считаю, что выражение XPath для выбора этих вложенных элементов списка: //ul/li/ul//li
Я считаю, что это подходящий шаблон для изменения:
<xsl:template match="*[contains(@class, ' topic/ul ')]/*[contains(@class, ' topic/li ')]">
<fo:list-item xsl:use-attribute-sets="ul.li">
<fo:list-item-label xsl:use-attribute-sets="ul.li__label">
<fo:block xsl:use-attribute-sets="ul.li__label__content">
<fo:inline>
<xsl:call-template name="commonattributes"/>
</fo:inline>
<xsl:call-template name="insertVariable">
<xsl:with-param name="theVariableID" select="'Unordered List bullet'"/>
</xsl:call-template>
</fo:block>
</fo:list-item-label>
<fo:list-item-body xsl:use-attribute-sets="ul.li__body">
<fo:block xsl:use-attribute-sets="ul.li__content">
<xsl:apply-templates/>
</fo:block>
</fo:list-item-body>
</fo:list-item>
</xsl:template>
Он ссылается на переменную в en.xml под названием «Пуля неупорядоченного списка»:
<variable id="Unordered List bullet">•</variable>
Я попытался обернуть этот вызов переменной, чтобы сослаться на другую переменную «Дефис неупорядоченного списка», если она вложена. Я все еще немного зацикливаюсь. Какой самый изящный подход? Должен ли я вместо этого настроить дополнительный шаблон для этих вложенных элементов?
Я использую DITA-OT 1.5.4.