* dfn 要素型 (HTML, XHTML 1)
[1] [DFN[[CODE(HTMLe)[dfn]] [[要素型]]]]は、それがその囲まれた用語の[DFN[定義実現値]]である
([Q[this is the defining instance of the encoded term]]) ことを示します。
[[HTML4]] では を参照。
[2]
:[[開始タグ]]:必須
:[[終了タグ]]:必須
:[[内容モデル]]:[CODE(SGML)[(%[[inline]];)*]]
:[[属性]]:
,[CODE(HTMLa)[[[class]]]] , , ,[[級]] ,[HTML4] %[[coreattr]]
,[CODE(HTMLa)[[[dir]]]] , , ,[[書字方向]] ,[HTML4] %[[i18n]]
,[CODE(HTMLa)[[[id]]]] , , ,一意識別子 ,[HTML4] %coreattr
,[CODE(HTMLa)[[[lang]]]] , , ,[[自然言語]] ,[HTML4] %i18n
,[CODE(HTMLa)[[[xml]]:lang]] , , ,自然言語 ,[XHTML1]
,[CODE(HTMLa)[[[onclick]]]] , , , ,[HTML4] %[[events]]
,[CODE(HTMLa)[[[ondblclick]]]] , , , ,[HTML4] %events
,[CODE(HTMLa)[[[onkeydown]]]] , , , ,[HTML4] %events
,[CODE(HTMLa)[[[onkeypress]]]] , , , ,[HTML4] %events
,[CODE(HTMLa)[[[onkeyup]]]] , , , ,[HTML4] %events
,[CODE(HTMLa)[[[onmousedown]]]] , , , ,[HTML4] %events
,[CODE(HTMLa)[[[onmouseout]]]] , , , ,[HTML4] %events
,[CODE(HTMLa)[[[onmouseover]]]] , , , ,[HTML4] %events
,[CODE(HTMLa)[[[onmouseup]]]] , , , ,[HTML4] %events
,[CODE(HTMLa)[[[style]]]] , , ,スタイル情報 ,[HTML4] %coreattr
,[CODE(HTMLa)[[[title]]]] , , ,注釈的題 ,[HTML4] %coreattr
- [7] [[Strictスレ]]で書かれていましたが、 でなるほど色々面白いものがでてきます。
- [9] ''DFN'' 曰く[Q[このエレメントはブロックエレメントである]]。
正気?
- [10] [[ClassicMozilla]] は未対応。 [[Gecko]] はもちろん対応。
- [11] [[WinIE]] は 2+ で対応。
[18] ''Dictionaries''
は、 [CODE(HTMLa)[[[cite]]]] 属性を導入して説明にリンクすることを提案しています。
[22] どんなときに [CODE(HTMLe)[dfn]]
でマーク付けすればよいのか、噛み砕いて説明するとしたら?
[Q[よく、教科書などで初出の重要単語が太字になっているでしょ? そんな感じの語句を [CODE(HTMLe)[dfn]] でマーク付けすればいいのですよ。]]
てなのはいかが?
一部の [[Stricter]] には、
[[表現と構造の分離]]の原則に反するよくない説明だと批判されるかもしれませんが、構造・意味はなんらかの形で表現に現れているはずです。
だから表現を手がかりに構造・意味を探るという手法は悪くないでしょう。
[WEAK[(批判されるべきは、表現に気を取られて構造・意味を見失うことです。)]]
[[#comment]]
** 応用
[3] HTML 4 仕様書は特に典型的[[レンダリング]]例を挙げていません。
実際の[[視覚]] UA は[[斜体]] ([[italic]]) で表されることがあります。
仮名漢字混じりの出版物 (特に教科書や専門書) を考えると、
[[太字]]で表示するのも適当でしょう。
[5] 用語の[[索引]]を作るときに、 [CODE(HTMLe)[dfn]] 要素を全部抜き出すのはいい考えだと思われます。
[17] ''man 1 "4 Aug 2000"''
このプログラムを使うと、たとえば[SAMP(HTML)[なんたらかんたらをほげといいます。どうたらこうたらなのです。そんなわけで、ほげはこうたらどうたらとでも申しましょうか。]]
を[SAMP(HTML)[なんたらかんたらをほげといいます。どうたらこうたらなのです。そんなわけで、ほげはこうたらどうたらとでも申しましょうか。]]
にしてくれます。
[23]
よくある誤解
'''定義文?'''
よく、[CODE(HTMLe)@en[[[dfn]]]]は定義文を[[マーク付け]]するための[[要素型]]だと誤解されます。その目的の[[要素型]]は[[HTML]]にはありません。
'''定義された語?'''
定義された語を何から何まで[CODE(HTMLe)@en[[[dfn]]]]で[[マーク]]すると誤解されることがたまにありますが、普通[CODE(HTMLe)@en[[[dfn]]]]にするのは初出だけです。その用途には[[HTML 5]]の[CODE(HTMLe)@en[[[i]]]][[要素型]]が当たります。
([[名無しさん]] [sage])
[24]
'''定義との関連付け'''
折角被定義語が[[マーク付け]]できるのだから、定義文を[[マーク]]する方法と、両者を関連付ける方法があれば、例えば用語定義一覧を自動生成するとかの便利な使い方ができるのに、と考える人がよくいますが、[[HTML]]だけでは今のところ実現できません。
;;
実際にやるとなると、はじめから考えて[[文章]]を書かないと、定義文だけを抜き出しても意味が通じなくなったりして、あまりうまくいかなかったりもしますが。。。
[[W3C]]の[[XML]]関連の仕様書などでは、定義の部分が[CODE(char)['''[''']]と[CODE(char)[''']''']]で囲まれていたり[CODE(HTMLe)@en[[[span]]]]で[[マーク]]されていたりしますが、あれがちょうどこれですね。
([[名無しさん]] [sage])
[[#comment]]
** 参考文献
[15] ''Highlighting in HTML''
> The defining instance of a term. Typically bold or bold italic.
用語の定義的実現値。典型的には太字または太字斜体 (イタリック)。
[20] ''Hypertext Markup Language - 2.0 - Footnotes''
> It is used to indicate the defining instance of a term, and it is typically rendered in italic or bold italic.
[21] [[HTML+]] ''Logical Emphasis''
> defining instance of a term
[19] [[HTML3.0]] 原案 ''Information Type Elements''
> The element indicates the defining instance of a term.
[14] ''HTML 3.2 Reference Specification''
> defining instance of the enclosed term
囲まれた用語の定義的実現値
[12] ''W3C Journal - What's New in HTML 3.2''
抜粋すると:
> This tag defines the enclosed text to be the defining instance of a word or phrase. Browsers may choose to place such a term in italics or some other distinctive text. In additional, it might be useful for the browser to collect such terms and create a dynamic glossary, with hyperlinks, of all the terms defined in a document.
このタグは、囲まれた文を語または語句の定義的実現値として定義します。
ブラウザはその用語を斜体 (イタリック) その他の差別化した文にすることを選ぶかもしれません。
加えて、ブラウザがその用語を集めて、文書中で定義されたすべての用語のハイパーリンク付き動的用語集を作るのに有用かもしれません。
[13] [[HTMKL4]] :
> Indicates that this is the defining instance of the encoded term.
これが囲まれた用語の定義的実現値であることを示します。
[16] [[XHTML2.0]] [[WD]]
''- XHTML Inline Text Module''
> The dfn element contains the defining instance of the enclosed term.
dfn 要素は囲まれた用語の定義的実現値を含めます。
[25]
[[Ian Hickson]] @ [[Google]]の例の研究によれば、
[CODE(HTMLe)@en[[[dfn]]]]は[[Web]]全体のおよそ0.1%で使われており、
[CODE(HTMLe)@en[[[ins]]]], [CODE(HTMLe)@en[[[del]]]],
[CODE(HTMLe)@en[[[var]]]], [CODE(HTMLe)@en[[[samp]]]],
[CODE(HTMLe)@en[[[bdo]]]]などよりは上ですが、
[CODE(HTMLe)@en[[[blink]]]], [CODE(HTMLe)@en[[[bgsound]]]],
[CODE(HTMLe)@en[[[marquee]]]], [CODE(HTMLe)@en[[[spacer]]]]よりは下だそうです。
;; [CITE@en[Re: XHTML 2.0 - dfn : Content model and usability (PR#7832)]]
([[名無しさん]] [sage])
[26]
[CITE[A Beginner's Guide to HTML]] ([TIME[2003-08-15 22:48:58 +09:00]] 版)
>
-Other (the following special tag currently does not display in NCSA Mosaic)
-- text displays a definition in italics
([[名無しさん]])
[[#comment]]
* @dfn{[VAR[term]]} (GNU Texinfo)
[6] [CODE[@dfn]] 命令は用語の導入・定義のために使うことができます。
ろくに使い方も示していない HTML 仕様書とは違って、
Texinfo マニュアル は結構実践的です:
> Use the [CODE[@dfn]] command to identify the introductory or defining use of a technical term. Use the command only in passages whose purpose is to introduce a term which will be used again or which the reader ought to know. Mere passing mention of a term for the first time does not deserve [CODE[@dfn]]. The command generates italics in the printed manual, and double quotation marks in the Info file. For example:
技術用語の導入や定義的使用を識別するために
[CODE[@dfn]] 命令を使用してください。
この命令は、再度使われる用語または読者が知るべきである用語を導入することが目的の一節でのみ使ってください。
単に初出の用語に注意を惹くだけであるものは
[CODE[@dfn]] には値しません。この命令で、印刷したマニュアルでは斜体 (イタリック) になり、
Info ファイルでは二重引用符で囲まれます。たとえば、
>
- [SAMP[Getting rid of a file is called @dfn{deleting} it.]]
> produces
- [SAMP[ Getting rid of a file is called [DFN[deleting]] it.]]
- [SAMP[ファイルを取り除くことを@dfn{削除}といいます。]]
は
- [SAMP[ファイルを取り除くことを[DFN[削除]]といいます。]]
となります。
> As a general rule, a sentence containing the defining occurrence of a term should be a definition of the term. The sentence does not need to say explicitly that it is a definition, but it should contain the information of a definition--it should make the meaning clear.
一般的な規則として、用語の定義的出現を含む文はその用語の定義であるべきです。
その文は陽にそれが定義であると言う必要はありませんが、
定義の情報を含むべき (意味を明確にするべき) です。
[INS[
注: 他分野での訳語を考えると [CODE[defining]] は[CODE[規定的]]とした方がいいかもしれませんけど、全部[CODE[定義]]で統一しました。
]INS]
- [8] [[Mule]] では Texinfo に言語指定命令がありまして、日本語だと[[ゴシック]]での表示になるそうです。 ([[Emacs20]] でその機能も併合されたのかな?)
[[#comment]]
* メモ