ブロックタグとファンクションタグと書式のこと

Movable Typeのテンプレートタグには「ブロックタグ」と「ファンクションタグ」があり、書式においてファンクションタグではブロックタグとの区別として$マークを使えることになっています。

この$の記述をブロックタグのときに使って、ファンクションタグのときは$を使わないとどうなるのかといいますと、テキトーですが以下のようなテンプレートで試してみます。

$がついたブロックタグでの出力

ブロックタグ、MTEntriesに$をつけた形のテンプレートです。(バージョン、4.24-en)

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head>
<title>TEST MT tag</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<link rel="start" href="./" />
<link rev="made" href="mailto:me@example.org" />
</head><body>
<table summary="Test of Movable Type template tag" border="1"><tbody>
<tr><th abbr="title">Entry Title</th><th abbr="link">Entry Permalink</th></tr>
<$mt:Entries lastn="10"$>
<tr><td><mt:EntryTitle remove_html="1"></td><td><mt:EntryPermaLink></td></tr>    
</mt:Entries>
</tbody>
</table>
</body>
</html>

上に示したテンプレートにおいて、mt:Entriesの終了タグには$を付けずにおこなうとこのテンプレートは正常にビルドできました。

ではここで、終了タグに$を付けてみます

<$mt:Entries lastn="10"$>
do something...
<$/mt:Entries$> 

Movable Typeのハイライト表示でみるとmt:Entriesの終了タグのハイライトが正常におこなわれてないことがわかるかと思います。それを再構築してみると「終了タグがない」と、エラー警告がでてしまいます。

One or more errors were found in this template.
<mt:Entries> with no </mt:Entries> on line 18. 

ということから、ブロックタグには$を使わないほうがよいということは明確でしょう。

自分ルールを決めておきたい

編集のときにMovable Typeの編集画面でのタグのハイライト表示を利用しない、というのもあるのですけれど、自分がテンプレート編集するときに、例えばXMLファイルですと、ブロックタグが他の要素と紛れてわかりにくかったり、<mt:~ />のような空要素タグのような書き方にしても、img要素の近くにこのように空要素タグの書きかたをしたテンプレートタグがいくつかでてくると見分けが付きにくのでないかという感じがします。

ですので、自分が編集していて見やすい書き方を決めておくというのも一つの方法ではないでしょうか。自分以外のひとでもテンプレート編集されるという場合も書式は統一しておいたほうがいいのかもしれません。

ファンクションタグについては、Movable Type テンプレートタグの種類と働き(Movable Type 4 ドキュメント)にて、書式等の説明があります。