2016-12-11 5 views
0

私の目標は、属性と値が<li audience="beginner"></li>の要素に含まれるテキストのフォント色を変更することです。私は現在、Dita Open Toolkits PDFプラグインのcustom.xslファイルでこれを行うようにしています。 custom.xslは、common.xsl内のスタイルを上書きします。私の質問は、属性セットタグの属性でどのように選択するのですか?Dita OTs custom.xslの属性で選択する方法

Custom.xsl

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    xmlns:fo="http://www.w3.org/1999/XSL/Format" 
    version="2.0"> 
    <xsl:attribute-set name="li"> 
     <xsl:attribute name="color">red</xsl:attribute> 
    </xsl:attribute-set> 
</xsl:stylesheet> 

XML

<li audience="beginner" class="- topic/li ">This text should be blue</li> 
<li audience="expert" class="- topic/li ">This text should be red</li> 
+0

これはCSSで解決する方がずっと簡単です。出力HTMLをそのまま残すことを検討してください。 – Tomalak

+1

申し訳ありませんが、このXMLをPDFに変換しています。私の理解におけるCustom.xslは翻訳のためのCSSです。 –

+0

アトリビュートセットで選択することはできません。 liのテンプレートを使用しないでオーバーライドするか、異なるセットでより具体的なマッチを適用する –

答えて

0

OTのための選択基準は次のようになります:

... 
    <xsl:template match="*[contains(@class,' topic/li ')]"> 
     <xsl:attribute name="color"> 
     <xsl:choose> 
      <xsl:when test="@audience="beginner">blue</xsl:when> 
      <xsl:when test="@audience="expert">red</xsl:when> 
      <xsl:otherwise>black</xsl:otherwise> 
     </xsl:choose> 
     </xsl:attribute> 
    ... (anything else you want to do with li) 
    </xsl:template> 
    ... 

・ホープ、このことができます。

関連する問題