AntennaHouse / pdf5-ml

Antenna House PDF5-ML DITA-OT Plug-in
23 stars 9 forks source link

outputclass #114

Closed tmaeda3 closed 4 years ago

tmaeda3 commented 4 years ago

先日のバージョンアップではtopicrefで改ページをoutputclassで指定できるようになりました。同様にトピックの<step>や<p>などの要素で改ページを有効にする方法またはバージョンアップの予定はないでしょうか。

ToshihikoMakita commented 4 years ago

マップのtopicrefでの改ページ制御はよくある御要望ですが、stepやpレベルでの改ページという要望はありません.考えてみるに、そのような`outputclass指定は

で望んだ出力結果を得るように、にオーサリングを合わせることになります.逆を言えば、これらのうち一つでも変更があれば、step やpでの改ページは望んだ結果につながらないのではないでしょうか?

といいつつも、どうしてもここで「改ページさせたい」ということはありえるので、そのような場合、以下のようなテンプレートを作って、stepやpのテンプレートの初めで呼び出すようにオーバーライドするプラグインテンプレート側でカスタマイズされれば良いと思います.

<xsl:template name="getOutputClassBreakAttr" as="attribute()*">
    <xsl:param name="prmElem" as="element()" required="no" select="."/>

    <!-- @outputclass value -->
    <xsl:variable name="outputClassVal" as="xs:string*" select="ahf:getOutputClass($prmElem)"/>

    <xsl:choose>
        <xsl:when test="$outputClassVal = $ocBreakNo">
            <xsl:sequence select="()"/>
        </xsl:when>
        <xsl:when test="$outputClassVal = $ocBreakColumn">
            <xsl:sequence select="ahf:getAttributeSet('atsBreakColumn')"/>        
        </xsl:when>
        <xsl:when test="$outputClassVal = $ocBreakPage">
            <xsl:sequence select="ahf:getAttributeSet('atsBreakPage')"/>        
        </xsl:when>
        <xsl:otherwise>
            <xsl:sequence select="()"/>
        </xsl:otherwise>
    </xsl:choose>
</xsl:template>
tmaeda3 commented 4 years ago

いつもサポートしていただき、ありがとうございます。 要望の背景について補足します。 操作説明をわかりやすくするために、操作文の次にスクリーンショットなどの画像を付けています。 タスクトピックの<step>-<cmd>のあとに<info><image/></info>を続けると、<cmd>と<info>の間で改ページが入ることがあり、これを避けたいというのが背景です。

ToshihikoMakita commented 4 years ago

了解いたしました. なるほど、そのような事情でしたら必要ですね.