[1] Web にはいくつかの雛形 (テンプレート) があります。
[2] Webブラウザーで解釈されるものとしては、 Web Components の機能である HTML
template
要素と、 XSLT の雛形 (xslt:template
) があります。
[3] 歴史的には HTML の一部として IE のデータ束縛、
Web Forms 2.0 の反復雛形 (repeat
属性など)、 HTML5
のデータ雛形 (datatemplate
要素など)、 XBL2 の雛形
(template
要素など) が提案されていましたが、既に破棄されています。
[4] Gecko は XBL1 の雛形を実装しています (これは XBL2 に引き継がれ、 Web Components
の template
へとつながります)。また XUL の雛形
(template
要素など) も実装しています (これはデータ雛形につながりましたが破棄されました)。
[12]
雛形の埋め込みにはXMLデータアイランドや通常の要素、
スクリプトデータブロックなどが使われてきましたが、
現在は template
要素を使うのが普通になっています。
[5] 一方 Webサーバーでは各種言語で実装された様々なテンプレートエンジンを使ってWebアプリケーションを構築するのが一般的になっています。 そのほとんどはテキストベースまたは HTML ベースの独自の言語を使っています。稀に XSLT など XML ベースのこともあります。
[6] 更に、著者によるスクリプトでもサーバー側と同様にテンプレート言語の処理が行われることがあります。
[10] これらとは少し趣が異なりますが、 JavaScript には雛形リテラルがあります。
[11] JavaScriptのライブラリーやWebサーバーなどで、 URI雛形が使われていることもあります。
[7] So you need a template engine.. ( 版) http://garann.github.io/template-chooser/
[8] Using type inference to make web templates robust against XSS ( 版) https://js-quasis-libraries-and-repl.googlecode.com/svn/trunk/safetemplate.html