要約
- W3Cは2013年2月14日、HTML Templates の最初の公開草案を出した。HTMLとして解析したDOMの部分木を、不活性なまま保存し、後から複製する仕組みを提案した。
- 2014年のHTML文書に
<template>が入り、現在の標準でもtemplate.contentのDocumentFragmentを複製して文書へ挿入できる。
ニュース一覧には、同じ形の記事カードがずらりと並ぶ。見出し、写真、短い紹介、リンク。中身は変わるが枠は変わらない。かつての動的ページは、この枠を見えない場所に隠したり、文字列から毎回タグを組み立てたりした。ブラウザーはHTMLを読む名人なのに、読んだ部品を「後で使うまで預かる」窓口がはっきりしていなかった。
2013年2月14日のW3C初公開草案は、その窓口を設けた。作者が <template> に書いたHTMLをブラウザーが解析する。できた構造は不活性な状態で保管され、必要になれば複製して使える。カードの枠は先に書いてよい。どの記事を入れるか、いつ画面に載せるかは後で決められる。
保管場所は少し変わっている。2014年2月のHTML 5.1草案によれば、中身は要素の普通の子ではなく、template.content が返す DocumentFragment に入る。その所有文書には閲覧コンテキストがない。しまってある間、スクリプトは走らず、フォームの部品も本番の送信に加わらない。ひな型そのものは画面に描かれない。椅子はもう組み立てたが、客席の照明はまだついていない。
同草案の実例には猫の一覧表が登場する。一行分のセルをひな型として置き、猫ごとに複製し、名前などを書き込み、表へ追加する。記事一覧なら猫の代わりに記事を入れる。複製したカードだけを編集し、元の型は次の一枚のために残す。これなら二十枚目のカードに十九枚目の見出しが紛れ込む悲劇も避けやすい。
2014年10月のHTML5勧告にはこの要素が収められた。W3Cの公開履歴には、2013年の独立した草案と2014年の作業部会ノートが並ぶ。提案書の棚は片づいたが、機構はHTMLの本棚に移った。
現在のHTML標準も、template をスクリプトで複製し文書に挿入できる断片の宣言として扱う。描画上は何も表さず、中身は別の断片として持つ。ここを知らずに要素の普通の子だけ探すと、舞台袖の扉の前で「衣装がない」と騒ぐことになる。扉には content と書いてある。
この仕組みは記事の良し悪しを選ばない。ブラウザーの仕事は、枠を正しく解析し、待機させ、複製できるようにすること。編集者は各カードの内容と登場順を決める。地味な役割分担だが、毎日何十枚も作るページでは、その地味さこそありがたい。
会員向け解説
プロフィールの詳細
適切な会員レベルでログインすると、解説全文と出典メモをご覧いただけます。
Strategic Circle 限定
Strategic Circle
すべての読者に公開されています。参加してログインすると プロフィール解説 を閲覧できます。
Strategic Circle に参加Leadership Alliance 会員限定
Leadership Alliance
対象となる IP 資産の所有者・管理者向けです。ログインすると Leadership Alliance の解説を閲覧できます。
Leadership Alliance に参加





