/ / Comment utiliser un tiret pour les listes non ordonnées imbriquées? - dita, dita-ot

Comment utiliser un tiret pour les listes non ordonnées imbriquées? - dita, dita-ot

Problème: Je voudrais changer toutes les listes non ordonnées imbriquées en tirets au lieu de puces.

Je crois que l'expression XPath pour sélectionner ces éléments de liste imbriqués est la suivante: // ul / li / ul // li

Je crois que c'est le modèle approprié pour modifier:

<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>

Il fait référence à une variable en.xml nommée "Bullet de liste non ordonnée":

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

J’ai essayé d’emballer cet appel variable àréférence une autre variable "Dash Liste non ordonnée" si elle est imbriquée. Je suis toujours un peu suspendu. Quelle est l’approche la plus élégante? Devrais-je plutôt créer un modèle supplémentaire pour ces éléments imbriqués?

J'utilise DITA-OT 1.5.4.

Réponses:

6 pour la réponse № 1

Ce modèle de liste remplace tous les formats non ordonnésLes éléments de la liste utilisent des tirets lorsque la liste non ordonnée est un enfant de tout autre type de liste, y compris les étapes de la tâche. Vous devrez donc peut-être affiner l'expression XPath dans l'attribut xsl: when.

    <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>

Et voici la variable du fichier de chaînes. <variable id="Unordered List dash">-</variable>