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 += 1
は
x = 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]] は数奇な運命をたどっております。
(それぞれの説明を参照されたし。)
[[#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[CODE(HTMLe)[code]]>.
[CODE(HTMLe)[p]]>
]PRE]
出典:
この例で [CODE(HTMLe)[code]] にはどういう意味があるのでしょう。
よくわかりません。
[30]
> [SAMP(HTML)[<[CODE(HTMLe)[p]]>Examples in this document that use the namespace prefix "<[CODE(HTMLe)[code]]>ev[CODE(HTMLe)[code]]>" all assume an <[CODE(HTMLe)[code]]>xmlns[CODE(HTMLe)[code]]> declaration <[CODE(HTMLe)[code]]>xmlns:ev="http://www.w3.org/2001/xml-events"[CODE(HTMLe)[code]]> somewhere suitable in the document involved. All examples are informative.[CODE(HTMLe)[p]]>]]
出典: [CITE[XML Events]]
[[#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]] が使われていました。
[[#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]] 属性
[[#comment]]
** 代替
[27] HTML 4 では、この属性は要素型ごと'''非推奨'''です。
代わりに、 [CODE(HTMLe)[[[object]]]] 要素と
[CODE(HTMLa)[[[classid]]]] 属性を使えます。
(ただし、 [CODE(HTMLa)[classid]] 属性の値は [CODE(SGML)[%[[URI]]]]
なので注意が必要です。もっとも、多くの場合は [CODE(HTMLa)[code]]
値をそのまま使えます。)
[[#comment]]
** 属性値
[28] この属性の値は [CODE(SGML)[[[CDATA]]]] で、
ファイル名 (または[RUBYB[経路][path]] + ファイル名)
を指定します。大文字・小文字を区別します。
相対値は [CODE(HTMLa)[[[codebase]]]] によって解釈されます。
[29] この属性は省略できますが、その場合は [CODE(HTMLa)[[[object]]]]
属性が必須となります。
[[#comment]]
** メモ
[[#comment]]
* メモ