7.4.1. なぜ処理モードが必要か

 ある特定の条件下で文書中の要素に対するスタイルを切り替えたい場合、どのような方法が考えられるでしょうか。おそらく、式言語の条件分岐を用いる方法を真っ先に思い浮かべると思いますが、それだけでは不十分、あるいは指定が非常に複雑になってしまうケースがあります。
 目次の生成はこのケースの端的な例です。通常のコンストラクション・ルール (element e (make foc …)) では、処理の開始点を判断する方法がないために、目次と本文とで別々のスタイルを割り当てるための分岐ができません。次善の策として考えられるのは、目次のためのコンストラクション・ルールに各項目のmake 式をぶら下げる指定方法ですが、この方法では項目のページ番号が本来求めるものとは別なものになってしまい、目次としての役目を果たすことができません。
 そこで必要とされるのが処理モードです。

<<prev      next>>