Sections
|
<( タグのカスタマイズ )>
DML2の前のDMLでは, ユーザ定義タグというたった一つの機能に特化していました. タグはHTMLタグと構造や機能は同等ですが任意の文字列を表現できます(他のタグやパラメータを含んでいても構いません). パラメータなしでタグを呼びだすには, 不等号(<), 括弧, タグ名, 閉じ括弧, そして不等号(>)を書けばよいのです. たとえば次のようになります: <(aDML2Tag)>
タグの定義はとても簡単です(特にC形式の文法に慣れていれば). あなたの.dml2ファイル内で, 次のようにすればよいでしょう:
tag nameOfTag { これはタグの中身です. このテキストはタグを呼び出すたびに挿入されます. }
|
テキスト群を囲むHTML/XMLタグを作ることもできます. これらの言語に慣れていない人のために例をあげましょう: ある種の箱で囲みたいテキストブロックがあるとしましょう. ブロックの始めを宣言するタグと終了を示すタグを作ってもよいのですが, テキストを2回書く必要がある場合にはうまくいきません.
この問題を回避するために, DML2には「タグパラメータ」があります. タグ名の後ろにスラッシュをつけることで定義できます. 定義内では, 囲みたいテキストを呼び出すためにアットマーク(@)というDML2タグを使えばよいでしょう. これがその例です:
tag aTagWithATagParameter/ { このタグは以下のテキストを囲みます: <(@)> }
|
最後に, DML2タグはパラメータをとることができます. これらのパラメータはC形式の記法で与えられます. タグ名の後ろ(ただしDML2タグ内)に開く括弧を置きます. 続いて引用符で囲またパラメータを書き, カンマで区切り, 閉じ括弧で終わります. パラメータはアットマーク(@)とパラメータの番号を表す数字とでできたタグにより, タグ定義内でアクセスできます. はじめのパラメータの番号は0です. 以下にパラメータをとるタグの定義と利用の例をあげます:
tag parameterTag { このタグに渡されたはじめのパラメータ: "<(@0)>" 次のパラメータ: "<(@1)>" }
|
せっかくタグを定義したのですから, 呼びだしてみましょう <(parameterTag("Parameter #1", "Parameter #2"))> 上の行でタグが呼び出され, パラメータが適切な個所に埋めこまれたテキストがここに貼りこまれます.
|
! | Note:
タグパラメータは引用符で囲まれているので, パラメータ内で引用符文字(")を使うときには引用符の前にバックスラッシュ(\)を置く必要があります: \". ただし, DML2タグの中では(いつも通り)引用符だけを使うようにしましょう.
|
! | Note:
DMLは「名前つきパラメータ」として知られる別種のパラメータにも対応しています. このタイプのパラメータはパラメータの順番ではなくユーザが定義した名前でデータの位置を指定します. DML2にはこの必要がありません(詳細は後述します).
|
|
|