2013-03-05 3 views
1

Проблема: Я хотел бы переключить все вложенные неупорядоченные списки на тире вместо патронов.Как использовать тире для вложенных неупорядоченных списков?

Я считаю, что выражение XPath для выбора этих вложенных элементов списка: // уль/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 под названием «Unordered маркированного списка»:

<variable id="Unordered List bullet">&#x2022;</variable> 

Я попытался обертывание, что переменная вызова ссылаться другим переменным «маркированный список тир», если он вложен. Я все еще немного повесил трубку. Каков самый изящный подход? Должен ли я настроить дополнительный шаблон для этих вложенных элементов?

Я использую DITA-OT 1.5.4.

ответ

6

Этот шаблон шаблона списка форматирует все неупорядоченные элементы списка, используя дефисы, когда неупорядоченный список является дочерним элементом любого другого типа списка, включая шаги задачи, поэтому вам может потребоваться уточнить выражение XPath в атрибуте xsl: when test.

<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:choose> 
      <xsl:when test="ancestor::*[contains(@class, ' topic/li ')]"> 
       <xsl:call-template name="insertVariable"> 
       <xsl:with-param name="theVariableID" select="'Unordered List dash'"/> 
       </xsl:call-template> 
      </xsl:when> 
      <xsl:otherwise> 
       <xsl:call-template name="insertVariable"> 
       <xsl:with-param name="theVariableID" select="'Unordered List bullet'"/> 
       </xsl:call-template> 
      </xsl:otherwise> 
      </xsl:choose> 
     </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> 

И вот переменная из файла строк. < variable id="Unordered List dash">-</variable>

+0

Отличный смысл. Благодаря! – mkaatman

Смежные вопросы