#?SuikaWiki/0.9 page-icon="HTTP" * meta 要素型 (HTML, XHTML 1) [40] [[HTML]] で[[メタ情報]]を扱う方法は2通りあります。 情報が文書内にあれば [CODE(HTMLe)[meta]] 要素型を、 文書内外の参照であれば [CODE(HTMLe)[[[link]]]] 要素型を使うことができます。 参照。 [39] :[[開始タグ]]:必須 :[[終了タグ]]:禁止 :[[内容]]:[[強制空要素]]。 :[[属性]]: ,[CODE(HTMLa)[[[content]]]] ,[CODE(SGML)[[[CDATA]]]] ,(必須) ,メタ情報 ,"[HTML4], [XHTML1]" ,[CODE(HTMLa)[[[dir]]]] , , ,[[書字方向]] ,"[HTML4], [XHTML1]" ,[CODE(HTMLa)[[[http-equiv]]]] ,[CODE(ABNF)[[[field-name]]]] ([CODE(SGML)[[[NAME]]]]) ,(選択必須) ,[[HTTP]] [[応答]]の[[頭欄名]] ,"[HTML4], [XHTML1]" ,[CODE(HTMLa)[[[lang]]]] ,[[言語札]],(継承),[[自然言語]],"[HTML4], [XHTML1]" ,[CODE(HTMLa)[[[xml]]:lang]] ,言語札,(継承),自然言語,"[XHTML1]" ,[CODE(HTMLa)[[[name]]]] ,[CODE(SGML)[NAME]] ,(選択必須) ,メタ情報名 ,"[HTML4], [XHTML1]" ,[CODE(HTMLa)[[[scheme]]]] ,[CODE(SGML)[CDATA]] ,(なし) ,内容の書式 ,"[HTML4], [XHTML1]" [CODE(HTMLa)[dir]] 属性も [CODE(HTMLa)[lang]] 属性も、 [CODE(HTMLa)[content]] に適用されます。 [41] メタ情報の特性の名前と値として妥当なものの集合を、 HTML 4 仕様書はまったく規定していません。 そのようなものは[[プロファイル]]によって定義されます。 ですから [CODE(HTMLe)[meta]] 要素を使うときには、 ([CODE(HTMLa)[http-equiv]] 属性を使ったものだけである場合を除いて) 必ず [CODE(HTMLe)[[[head]]]] 要素の [CODE(HTMLa)[[[profile]]]] 属性が要ることになります。 とは言っても実際にはプロファイルなしで種々の値が実際にほとんど標準化せずに使われてきました。 プロファイルの使用はこのまま標準化せずにいくのは流石にまずいだろうということから設けられた努力目標のようなものでしょう。 - -[1] ''META 要素あれこれ'' - [2] [[http-equiv属性]]はあまり使わないほうがいいと思うんです。。。 - [3] [[ISO15924]] は ''[[name]]''属性の値として [CODE[Content-Script]] を提案しています。 [[content]]属性の値は[[読点]] (及び *[[WSP]]) で区切った1つ以上の[[用字系]]符号です。 - [4] ''HTML META Tags'' - [5] ''META Tag Dictionary - Admiral Online'' >>4 と同じものっぽい - [6] かつては [CODE[meta]] 要素そのものが [[HTTP]] 頭の代替のように考えられていたようです。例えば [[HTTP+]] の [[DTD]] の注釈にははっきり、 HTTP サーバーは [CODE[meta]] 要素を読んで[[頭欄]]に出来るとしています。 ([CODE[http-equiv]] 属性はまだありません!) - [7] >>6 また、 [CODE[meta]] 要素は HTTP 頭で代替すべきであって廃止しようという考えもあったらしいです。 - [8] ''Google ページの削除'' - [9] [[http-equiv]] 属性を使っても実際に [[HTTP]] [[頭欄]]として反映させてくれるサーバーは少ないですが、例えば [[Apache]] と ''Embperl'' を使うとそうしてくれるらしいです。 - [32] ''DAISY 2.0 Specification'' : [CODE(HTML)[DC.[VAR[foo]]]] のようなのより [[XML名前空間]]的な [CODE(HTML)[DC:[VAR[foo]]]] がいい☆と言っている。 - [33] >>32 はほかに [CODE(HTML)[NCC:[VAR[foo]]]] を一杯定義しています。 - [42] [CODE(HTMLa)[name]] 属性と [CODE(HTMLa)[http-equiv]] 属性のいずれかが必ず存在しないといけません。 HTML 4 仕様書にはそう明記してないのですが、説明を読んでいくと当然そうだとしないと話になりません。 [CODE(HTMLa)[http-equiv]] は [CODE[in place of [CODE(HTMLa)[name]]]] で使えると書かれているので、これら両方を指定できないことは明記されているといえるでしょう。やや曖昧かもしれなくはありませんが。 [[#comment]] **meta 要素の name 属性の値をとにかく例示するスレ -[1] [[abstract]] -[2] [[author]] -[3] [[classification]] -[4] [[copyright]] -[5] [[description]] ([HTML4]) -[6] [[distribution]] -[7] [[doc-class]] -[8] [[doc-rights]] -[9] [[doc-type]] -[10] [[expires]] -[11] [[generator]] -[12] [[googlebot]] ([[Google]] 向け [CODE(HTML)[ROBOTS]]) -[13] [[keywords]] ([HTML4]) -[14] [[MSSmartTagsPreventParsing]] ([CODE(HTML)[true]] / [CODE(HTML)[false]]) -[15] [[owner]] -[16] [[progid]] -[17] [[rating]] -[18] [[refresh]] ([[Refresh:]] 欄か?) -[19] [[reply-to]] ([[http-equiv]] 使うべし) -[20] [[resource-type]] -[21] [[revisit-after]] -[22] [[robots]] ([HTML4]) -[23] [[rating]] -[24] [[language]] -[25] [[subject]] -[26] [[copyright]] -[28] [[translator]] (W3C Validator にあった。) -[29] [[Microsoft Theme]] ([SAMP(HTML)[blends 011, default]] M$ [[FrontPage]]) -[30] [[Microsoft Border]] ([SAMP(HTML)[tb, default]] 同上) -[31] [[ixihook]] ([CODE(HTML)[xizhere]]) -[34] [[MS-IT-LOC]] ([SAMP(HTML)[Windows Help]] [[HTMLHelp]]) -[35] [[MS.LOCALE]] ([SAMP(HTML)[JA]]) -[36] [[MS-HAID]] ([SAMP(HTML)[a_CF_extract]] (HTMLHelp)) -[37] [[IBM:HPB-Input-Mode]] (mode/flm; pagewidth=750; pageheight=900) -[38] [[Excel Workbook Frameset]] (少なくても [[Excel]] 10 が使用。 [CODE(HTML)[[[content]]]] 属性''存在すらなし''。) [[#form:'%text(label=>"値",description=>"特に推奨が無ければ小文字にすべし。",size=>10,id=>value); %text(label=>参考,size=>20,id=>comment);':'-[%index;] [[%text(source=>value);]]%text(prefix=>" (",suffix=>")",source=>comment);']] **name 属性と http-equiv 属性の等価性 [27] ''Dithered / April 2002'' の19日の記事で、その著者は、 [[WinIE]] では少なくても [[M$]] 独自拡張のものについては等価性が認められるという説を、 [[ImageToolbar:]] 欄で反例を挙げて否定しています。 この結論について異論はありませんが、 WinIE 6.0 で同時に追加された [CODE(HTTP)[ImageToolbar:]] と [[MSThemeCompatible:]] の両欄で実装が異なる (両欄の説明参照。) という実験事実から考察すると、 M$IE のその辺の実装は行き当たりばったりで法則性は無いと考えられます。 [40] [[M$DN]] の記事によると、 [CODE(HTTP)[[[Pragma]]]] とかでは HTML でも HTTP 頭でも認識するけど [CODE(HTTP)[[[Cache-Control]]]] は HTTP 頭じゃないと認識しないようにわざとしているとか。 だからまったく何も考えていないで行き当たりばったりというわけでもない、と。 [[#comment]] * メモ