* code 要素型 (HTML, XHTML 1) [1] [DFN[[CODE(HTMLe)[code]] [[要素型]]]]は、計算機[RUBY[符号] [コード]]の[[素片]]を示します。 仕様書: - [[HTML 2]] -- [[HTML 2.0]] [[RFC 1866]] - [[HTML 4]] -- - [[XHTML 1.0]] -- DTD - [[XHTML m12n]] -- 抽象モジュール -- DTD 実装 [2] :[[開始タグ]]:必須 :[[終了タグ]]:必須 :[[内容模型]] (HTML 2):[CODE(SGML)[(%[[text]];)*]] :内容模型 (HTML 4):[CODE(SGML)[(%[[inline]];)*]] :内容模型 (XHTML 1.0):[CODE(SGML)[%[[Inline]];]] :[[最小内容模型]] (XHTML m12n):[CODE[([CODE(XML)[[[PCDATA]]]] | [VAR[[[Inline]]]])*]] :出現できる文脈 (HTML 2):[CODE(SGML)[%[[phrase]]]] ⊂ [CODE(SGML)[%text]] が出現できる文脈 :出現できる文脈 (HTML 4):[CODE(SGML)[%phrase]] ⊂ [CODE(SGML)[%inline]] が出現できる文脈 :出現できる文脈 (ISO-HTML):[CODE(SGML)[%[[logical.styles]]]] ⊂ [CODE(SGML)[%text]] (ISO-HTML) が出現できる文脈 :所属内容集合:([CODE(XML)[[[InlPhras.class]]]]) ⊂ ([CODE(XML)[[[Inline.class]]]]) ⊂ Inline ([CODE(XML)[[[Inline.mix]]]]) :モジュール (XHTML m12n):[[Inline Phrasal]] ⊂ [[Text]] :[[属性]]: ,[CODE(HTMLa)[[[class]]]] , , ,[[級]] ,"[HTML3.0] %[[attrs]], [HTML4] %[[coreattr]], [ISO-HTML] %[[core]]" ,[CODE(HTMLa)[[[dir]]]] , , ,[[書字方向]] ,"[HTML4] %[[i18n]], [ISO-HTML] %i18n" ,[CODE(HTMLa)[[[id]]]] , , ,一意識別子 ,"[HTML3.0] %attrs, [HTML4] %coreattr, [ISO-HTML] %core" ,[CODE(HTMLa)[[[lang]]]] , , ,[[自然言語]] ,"[HTML3.0] %attrs, [HTML4] %i18n, [ISO-HTML] %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)[[[onmousemove]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[onmouseout]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[onmouseover]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[onmouseup]]]] , , , ,[HTML4] %events ,[CODE(SGMLa)[[[SDAFORM]]]] ,[CODE[Lit]] (固定) ,== , ,[HTML2] ,[CODE(HTMLa)[[[style]]]] , , ,スタイル情報 ,[HTML4] %coreattr ,[CODE(HTMLa)[[[title]]]] , , ,注釈的題 ,"[HTML4] %coreattr, [ISO-HTML] %core" [[#comment]] ** 応用 [13] RFC 1866 (HTML 2.0) は、典型的に固定幅のフォントでレンダリングされると述べています。 >>11 [3] HTML 4 仕様書は特に典型的[[レンダリング]]例を挙げていません。 [[#comment]] ** 仕様書から [16] [[HTML 1.0]]: > :CODE:Example of code. typically monospaced font. (Do not confuse with PRE ) > :[CODE(HTMLe)[code]]:符号の例。典型的に単一幅フォント。 ([CODE(HTMLe)[[[pre]]]] と混同しないように。) [11] [[RFC 1866]] ([[HTML 2.0]]): > 5.7.1.2. Code: CODE > The element indicates an example of code, typically rendered in a mono-spaced font. The element is intended for short words or phrases of code; the
 block structuring
element (5.5.2, "Preformatted Text: PRE") is more appropriate
for multiple-line listings. For example:

> [CODE(HTMLe)[code]] 要素は符号の例を示し、
典型的に単一幅のフォントでレンダリングします。
[CODE(HTMLe)[code]] 要素は符号の短い語や語句を想定しています。
複数行の並びには [CODE(HTMLe)[pre]]
ブロック構造化要素がより適切です。例:

> The expression x += 1
is short for x = x + 1.

> 式 x += 1x = x + 1 の略です。

[14] HTML 2 ([[RFC 1866]], [[RFC 2070]]) DTD 注釈:

>      Source code phrase

> [CODE(HTMLe)[code]] 原始符号語句

[19] [[HTML+]] 議論文書
:

>
:code:code example - usually shown in fixed pitch font

>
:[CODE(HTMLe)[code]]:符号例 ― 通常固定幅フォントで

[18] [[HTML 3.0]] I-D :

> The  element indicates an example of code; typically rendered in a mono-spaced font. Do not confuse with PRE.

> [CODE(HTMLe)[code]] 要素は符号の例を示します。
典型的に単一幅フォントでレンダリングされます。
[CODE(HTMLe)[pre]] と混同しないように。

[8] HTML 4 仕様書  いわく:

> Phrase elements add structural information to text fragments. The usual meanings of phrase elements are following:
> [INS[(略)]]
>
:CODE:Designates a fragment of computer code.

> 語句要素は文素片に構造的情報を追加します。
語句要素の通常の意味は次の通りです。 [INS[(略)]]
:[CODE(HTMLe)[code]]:計算機符号の素片を示す。

[15] [[ISO-HTML利用者の指針]]
:

>   [W3C 9.2.1]―Program code

> [CODE(HTMLe)[code]] プログラム符号

[9] [[XHTML 1.0]] [[DTD]] 注釈
:

> program code

> プログラム符号


** 歴史

[20] [CODE(HTMLe)[code]] 要素型は、
[CODE(HTMLe)[[[em]]]] など他の語句要素型と共に、
1993年1月6日版の HTML 仕様書で初めて正式に導入されました。


しかし、それ以前の 1992年12月8日に [[Dan Conolly]] は
[Q[As I was adding phrase-level elements]] 云々と言っています。


彼の [DEL[DTD や]] [[libHTML]] で実装していたのかもしれませんが、
当時のものが残っていないので詳しくは分かりません。
(Dan の [CODE(file)[html.dtd]] は1993年1月7日版で [CODE(HTMLe)[code]] などが追加されています。)

[21] 当時の HTML には、 [CODE(HTMLe)[[[hp[VAR[n]]]]]]
要素型群が用意されてはいましたが、誰も実装していないし使ってもいない状況でした。
代わりに他の要素型群を用意しようという話になり、
語彙の案として [[Texinfo]], [[DocBook]],
[[MIME]] ([CODE(MIME)[[[text/richtext]]]])
などが挙げられましたが、余り深くない議論の末に Texinfo
のものが採用されたようです。 
(DocBook は要素型名が長いし分類が細かい、
MIME は物理的というのが良く思われなかった。)

[23]
>>20 Dan の最初の DTD は1月7日と書いていますが、時差の関係で6日でもあります。 (Dan が当時どこにいたのか、何日だったのかわかりませんが。) 

[24]
この時に texinfo から Dan の html.dtd に輸入されたのは 
[CODE(HTMLe)[code]], [CODE(HTMLe)[[[samp]]]],
[CODE(HTMLe)[[[kbd]]]], [CODE(HTMLe)[[[key]]]], [CODE(HTMLe)[[[var]]]], [CODE(HTMLe)[[[dfn]]]], 
[CODE(HTMLe)[[[cite]]]] です。
そのうちの [CODE(HTMLe)[dfn]] と [CODE(HTMLe)[key]] は数奇な運命をたどっております。 
(それぞれの説明を参照されたし。)

[34]
1992年12月3日 → 1993年1月6日で
[CODE(SGML)@en[%[[inline]];]] として追加されたのは:
[CODE(HTMLe)@en[[[em]]]], [CODE(HTMLe)@en[[[tt]]]],
[CODE(HTMLe)@en[[[strong]]]], [CODE(HTMLe)@en[[[b]]]],
[CODE(HTMLe)@en[[[i]]]], [CODE(HTMLe)@en[[[u]]]],
[CODE(HTMLe)@en[[[code]]]], [CODE(HTMLe)@en[[[samp]]]],
[CODE(HTMLe)@en[[[kbd]]]], [CODE(HTMLe)@en[[[key]]]],
[CODE(HTMLe)@en[[[var]]]], [CODE(HTMLe)@en[[[var]]]],
[CODE(HTMLe)@en[[[dfn]]]], [CODE(HTMLe)@en[[[cite]]]]。
([[名無しさん]])

[35]
>>34
1993年5月の [[GNU]] [[Texinfo]] 3.1 のマニュアルの[[語句要素]]相当の部分と比較すると:
- [CODE@en[[[emph]]]] が [[HTML]] では [CODE(HTMLe)@en[[[em]]]]
- [CODE@en[[[t]]]] が [[HTML]] では [CODE(HTMLe)@en[[[tt]]]]
- [[Texinfo]] にはない [CODE(HTMLe)@en[[[u]]]]
- [[HTML]] にはない [CODE@en[[[file]]]] と
[CODE@en[[[ctrl]]]] (ただし [[Texinfo]] [[マニュアル]]では非表示になっている)
と [CODE@en[[[r]]]] と [CODE@en[[[sc]]]]

という違いがあります。 [CODE@en[[[ctrl]]]] は [[HTML]]
には相応しくなかろうと [[Dan Connolly]] が発言しています。
[CODE@en[[[r]]]] と [CODE@en[[[sc]]]] は
[[Texinfo]] 2 の新機能と [CODE(file)@en[[[NEWS]]]]
に書いてあるので、もしかすると Dan
が参照した版には入っていなかったのかもしれません
(し、入っていたけど[[フォント]]を直接指定するものはあえて除外したのかもしれません)。
([[名無しさん]])

[36]
予想ですが、 [CODE(HTMLe)@en[[[em]]]] は
[CODE@en[[[emph]]]] では長すぎるから 
([[LaTeX]] より拝借)、 [CODE(HTMLe)@en[[[tt]]]] は
[CODE@en[[[t]]]] では短すぎるから (それほど使わなそうな割に)、
[CODE(HTMLe)@en[[[u]]]] は [[Microsoft Word]]
に [CODE(HTMLe)@en[[[b]]]] と [CODE(HTMLe)@en[[[i]]]]
と一緒にあるから、というような理由ではないでしょうか。
([[名無しさん]])

[37]
んー、でも [[RTF 1.0]] に含まれているのは [CODE@en[\u]] ではなく
[CODE@en[\[[ul]]]] だ。。。
([[名無しさん]])

[38]
[CODE(HTMLe)@en[[[em]]]] が略されて [CODE(HTMLe)@en[[[strong]]]]
が略されなかったのはなぜでしょう。 [[LaTeX]]
になかったから?
([[名無しさん]])

[[#comment]]


** 例

[17] [SAMP(HTML)[It was made using the EM element.]]
(HTML 1.0 I-D, HTML 3.0 I-D より)

[12] >>11 の RFC 1866 (HTML 2.0) の例を参照。

[10]
[PRE(HTML example)[
<[CODE(HTMLe)[p]]>
  This is text that uses our 
  <[CODE(HTMLe)[code]]>internal stylesheet.

]PRE]

出典: 

この例で [CODE(HTMLe)[code]] にはどういう意味があるのでしょう。
よくわかりません。

[30] 

> [SAMP(HTML)[<[CODE(HTMLe)[p]]>Examples in this document that use the namespace prefix "<[CODE(HTMLe)[code]]>ev" all assume an <[CODE(HTMLe)[code]]>xmlns declaration <[CODE(HTMLe)[code]]>xmlns:ev="http://www.w3.org/2001/xml-events" somewhere suitable in the document involved. All examples are informative.]]

出典: [CITE[XML Events]] 


[32]
[PRE(HTML example code)[
'''length''' of type '''unsigned long''', readonly
]PRE] 出典: [CITE[Document Object Model Core]] [[DOM]] の仕様書の [[HTML]] 版では、定義する[[属性]]の名前の部分にこの例のようなマークがなされており、 [[スタイル・シート]]で背景が黄色に指定されています。 同様に定義する[[メソッド]]や[[定数]]は別の色になっています。 [CODE(HTMLa)[[[class]]]] 属性と[[スタイル・シート]]を効果的に利用した例であると言えるでしょう。 この例のように [CODE(HTMLe)[[[code]]]] でマークする内容が実際にどのような種類の[Q[コード]]であるのか [CODE(HTMLa)[[[class]]]] で記述しておくと、 [[スタイル・シート]]や[[スクリプト]]で利用する時に便利です。 ([[名無しさん]] [sage]) [33] [CITE@en[SPARQL Protocol for RDF]] この[[文書]]では[[スタイル・シート]]により[CODE(HTMLe)@en[[[code]]]][[要素]]に[[下線]]を引いています。 ([[名無しさん]] [sage]) [[#comment]] ** メモ [22] 最近の W3C の Note を見ていると、マーク付け文書の素片が [CODE(HTMLe)[code]] でマークされていたりします。 Texinfo は [CODE[@code]] をプログラムに限定していますし、 HTML の仕様書でも半分くらいはプログラムと限定していますけど、 マークにも応用するくらいは許されてもよさそうなものです。 同様にプロトコル要素の素片 (たとえば HTTP のメッセージの一部、 [[言語札]]、[[媒体型]]、更に言えば [[URI参照]]や[[ファイル名]]) にも適用するのも良いかもしれませんが、 これは議論の余地があるかもしれません。 [[#comment]] * @code 命令 (GNU Texinfo) [5] GNU Texinfo の [DFN[[CODE[@code]]]] 命令は、 [[プログラム]]片 (構文的字句全体) を示します。 [CODE[@code]] が相応しい例: - プログラムの[[式]] - プログラムの[[変数名]] - プログラムの[[関数名]] - [[プログラム言語]]の[[鍵語]] - プログラム言語風の言語 (例: Texinfo) の[[命令]] [CODE[@code]] が相応しくない例: - [[シェル]]の命令名 → [CODE[@[[command]]]] - シェルのオプション (単独) → [CODE[@[[option]]]] - シェル命令全体は [CODE[@code]] より [CODE[@[[samp]]]] の方が良いこともある。 - [[環境変数]] → [CODE[@[[env]]]] - 構文的字句より小さな単位の文字列片・文字 → [CODE[@[[samp]]]] - 打鍵文字列 → [CODE[@[[kbd]]]] 使用例: - [SAMP[@code{@@code}]] - [SAMP[The function returns @code{nil}.]] [6] 印刷版では[[タイプライター]]風に出力します。 Info では[[単引用符]]で括って出力します。 [7] [CODE[@[[command]]]], [CODE[@[[option]]]], [CODE[@[[env]]]] は新しい命令で、以前は [CODE[@code]] や [CODE[@samp]] が使われていました。 [39] hoped2217012.info/258.html xxl mega titty titty milking mom fuck push it hoped2217012.info/258.html push here watch here hoped2217012.info/258.html denise austin s titty closeups hoped2217012.info/258.html [url=http://hoped2217012.info/258.html]hoped2217012.info/258.html[/url] titty milking mom fuck hoped2217012.info/258.html hoped2217012.info/258.html watch here push here push it denise austin s titty closeups hoped2217012.info/258.html xxl mega titty hoped2217012.info/640.html sexxxy porn curves hoped2217012.info/640.html push it enter here httpwww amateur curves hoped2217012.info/640.html corinna curves movies try this sexxxy porn curves [url=http://hoped2217012.info/640.html]sexxxy porn curves[/url] hop ([[Kyla]] ]] [mars@myself.com ]) [[#comment]] * applet 要素 code 属性 (HTML, XHTML 1) [25] [[HTML]] の [CODE(HTMLe)[[[applet]]]] 要素の [DFN[[CODE(HTMLa)[code]] 属性]]は、 applet が従う applet [RUBYB[部分級] [subclass]]の級ファイルの名前またはその級を得るための経路 (級ファイル自体を含みます。) を指定します。 [26] 仕様書: - [[HTML 4]] -- [CODE(HTMLe)[applet]] 要素 [CODE(HTMLa)[code]] 属性 [31] HTML 4 DTD の[[注釈]] (参考) には [Q[applet class file]] と書かれています。 ([[名無しさん]] [sage]) [[#comment]] ** 代替 [27] HTML 4 では、この属性は要素型ごと'''非推奨'''です。 代わりに、 [CODE(HTMLe)[[[object]]]] 要素と [CODE(HTMLa)[[[classid]]]] 属性を使えます。 (ただし、 [CODE(HTMLa)[classid]] 属性の値は [CODE(SGML)[%[[URI]]]] なので注意が必要です。もっとも、多くの場合は [CODE(HTMLa)[code]] 値をそのまま使えます。) [41] www likenu reabilitacijos centras lt [url=http://miguelblog.fr33webhost.com]www likenu reabilitacijos centras lt[/url] www likenu reabilitacijos centras lt www oriental rooms com [url=http ([[Troy ]] [mimi@earthling.net ]) [[#comment]] ** 属性値 [28] この属性の値は [CODE(SGML)[[[CDATA]]]] で、 ファイル名 (または[RUBYB[経路] [path]] + ファイル名) を指定します。大文字・小文字を区別します。 相対値は [CODE(HTMLa)[[[codebase]]]] によって解釈されます。 [29] この属性は省略できますが、その場合は [CODE(HTMLa)[[[object]]]] 属性が必須となります。 [[#comment]] ** メモ [[#comment]] * メモ [40] [CITE@en[Exception Codes - WHATWG Wiki]] ([CODE[2007-09-25 18:06:18 +09:00]] 版) ([[名無しさん]])