44224
XSL-FOで全ての < fo:block-container> 配下の最初の< fo:block>要素にのみ、  
@background-color="#EEEEEE" を指定したいと考えています。

そういったことは技術的に可能でしょうか？  
どのように実装すれば良いでしょうか？

* * *
```

    <fo:flow>
      <fo:block-container>
        <fo:block>background-color="#EEEEEE"にしたい</fo:block>
        <fo:block></fo:block>
      </fo:block-container>
      <fo:block></fo:block>
    </fo:flow>
    
```
CC BY-SA 4.0
2018-05-11T06:31:44.697
43913
2018-05-25T03:46:57.893
2018-05-25T03:46:57.893
25399
25399
question
xsl-fo xslt
XSL-FOの特定要素にスタイルを反映したい
XSL-FOはその名が示す通り組版オブジェクト（Formatting
Object）と、その属性を示すプロパティ（Property）から構成されます．すべての組版のための属性はXSL-FOの中に反映されていることが必須です．

従って

> 配下の最初の< fo:block>要素にのみ、@background-color="#EEEEEE" を指定

というのはXSL-FOを生成する過程（通常はXMLにXSLTスタイルシートを適用する処理）で行われるべきものです．

HTML + CSSのようにレンダリング時に動的にスタイルが適用されるような機構とは根本的に異なるものであることを理解してください．
CC BY-SA 4.0
2018-05-24T11:32:07.053
44224
2018-05-24T11:32:07.053
9503
43913
answer