XSL-FO と Antenna House Formatter v6.3 を使用して、フライト マニュアルのレイアウトに取り組んでいます。
多くの情報は、「条件 X がこれとあれを行う場合、それ以外の場合は別のことを行う」というタイプのものです。現在のケースでは、次の XML があります。
<crewDrill>
<case>
<caseCond>Hot inside:</caseCond>
<if>
<caseCond>Yes</caseCond>
<crewDrillStep>
<para>Adjust thermostat</para>
</crewDrillStep>
<crewDrillStep>
<para>Open the window</para>
</crewDrillStep>
</if>
</case>
<crewDrillStep>
<para>Enjoy life</para>
</crewDrillStep>
</crewDrill>
この XML の望ましい出力は次のようになります。
編集:私の懸念は、XSLTを使用してXMLをXSL-FO(アンテナハウスフォーマッターの機能を含む)に変換することで目的の出力が実現可能かどうかです。そうであれば、問題にアプローチする適切な方法は何でしょうか? XSL-FO についての知識があれば、これを行う唯一の方法は、テーブルを使用することです。おそらくもっと良い方法があります。
編集 2: @Tomalak が指摘しているように、XSL-FO 構造がどのように見えるか、および XSLT 変換がどのように見えるかという 2 つの質問があります。私の主な関心事は、目的の出力を表す XSL-FO 構造がどのように見えるかということです。ターゲット構造が与えられれば、おそらく変換を理解できるでしょう。不明確な最初の質問で申し訳ありません。私の懸念を明確にしてくれた @Tomalak に感謝します。
使用される XML スキーマは、S1000D 4.1 Crew スキーマに由来します