[1] XSLT では、雛形規則の実現値化に際してモード (mode) というものがあります。 これを使うと、原始木中の同じ節を複数回使って、 例えばあるときは見出しだけを出力して目次に、 あるときは全体を出力して本文に、 ということが出来ます。 http://www.w3.org/TR/xslt#modes
[2] XSLT 1.0 では、 xslt:template
要素型及び xslt:apply-templates
要素型に mode
属性があります。
この属性は QName を値に取るか、または属性の指定を省略します。
xslt:apply-templates
の側でモードが指定されていると、
実現値化に使う雛形規則の選定の際に、同じ名前のモードの
xslt:template
のみを選定対象とします。属性なしは属性なしとのみ一致します。
[3] ですから、モードの継承のようなものはありません。モード M の雛形規則の中で単に <xslt:apply-templates/>
としたのでは、名前なしの (既定の) モードを指定したことになります。
[4] xslt:template
要素に
mode
属性を指定する場合は、
必ず match
属性が必要です。
つまり、モードは一致する節の実現値化に使われる雛形規則にのみ有効で、
名前 (name
) により呼び出される雛形規則には適用されないのです。