[2] [ABBR[[[HTML]]] [Hypertext Markup Language]] の 
[DFN[[CODE(HTMLe)[listing]] 要素型]]の要素は、
listing (計算機プログラムのリスト) を表します。

* 仕様書

[REFS[
- [19] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2016-04-24 23:36:04 +09:00]] 版) <https://html.spec.whatwg.org/#htmlelement>
]REFS]

*

[3] 仕様書:
- [[HTML 2.0]] ([[RFC 1866]])
-- [CSECTION[5.5.2.1. Example and Listing: XMP, LISTING]]
- [[SI 4281]]:1998
-- [CSECTION[6.1.1.2 Pre-formatted segments]]
<http://www.qsm.co.il/Hebrew/si4281e.htm>

[4]
:[[開始タグ]]:必須
:[[終了タグ]]:必須
:[[内容模型]]:[[HTML-CDATA]]
:出現できる文脈:[CODE(SGML)[%[[block]];]] な文脈
:[[属性]]:
,属性名	,属性値	,既定値	,説明	,状態	,出典
,[CODE(HTMLa)[[[dir]]]]	,	,	,[[書字方向]]	,国家規格	,[[SI 4281]]

** 代替

[7] [CODE(HTMLe)[listing]] 要素型は [[HTML 2.0]]
で'''非推奨'''とされ、後の版の HTML からは削除されています。
事情は >>4- を参照して下さい。

代わりに [CODE(HTMLe)[[[pre]]]] 要素型が利用できます。
(ただし、構文的に幾分違いがあるので注意が必要です。)

[[#comment]]


** 内容

[4] この要素の内容は [CODE(SGML)[%literal]] です。
[ABBR[[[SGML]]] [標準一般化マーク付け言語]] 
的には [ABBR[[CODE(SGML)[[[CDATA]]]]] [[[文字データ]]]] です。
終了タグ以外の[[マーク]]は認知されません。

[[SGML]] 的には、 [ABBR[[CODE(SGML)[[[etago]]]]] [終了タグ開き]]
が認知されるまで
[WEAK[([CODE(HTML)[</]] + [[名前開始文字]]か、または [CODE(HTML)[</>]] が現れるまで)]]
が内容です。

[6]
しかし、古くから HTML では [CODE(HTML)[</[CODE(HTMLe)[listing]]>]]
全体が現れる前までを内容として扱ってきました。
この扱いは SGML 不適合であるので、 [CODE(HTMLe)[listing]]
は非推奨となり、 [CODE(HTMLe)[[[pre]]]] が新設されました。

[5] HTML 2.0 仕様書は、 
[Q[>>5 だが、以前の仕様書案では >>6 を認めていた。一貫して実装されていないので非推奨]]
と述べています [SRC[RFC 1866 5.5.2.1.]]。一方で
[ABBR[[[DTD]]] [[[文書型定義]]]]
では、[Q[歴史的理由により不適合な構文解析を行う]]と注釈されています。

[[#comment]]


** レンダリング

[8][CODE(HTMLe)[listing]] は [CODE(HTMLe)[[[pre]]]] と同じようにレンダリングされます。

[9] [CODE(HTMLe)[listing]] は一行に最低132文字収まるようにレンダリングするべきです。
[SRC[RFC 1866 5.5.2.1.]]

[10] '''Bidi''':
[[bidi]] に関しては、[[行]]ごとに bidi 算法を適用して各[[文字]]の表示位置を決定します
[SRC[SI 4281 6.1.1.2]]。

* 要素インターフェイス

[18] [CODE(HTMLe)@en[xmp]] [[要素]]の[[要素インターフェイス]]は、
[CODE(DOMi)@en[HTMLPreElement]] [[インターフェイス]]です [SRC[>>19]]。

* 歴史

[11] [[HTML 1991]]

[13]
[[Netscape Navigator]] 4.8も[[Firefox]] 1.5も[[Opera]] 7.54も[[Opera]] 8.5も[[WinIE 6]]も、
[CODE(HTMLe)@en[[[listing]]]]は[CODE(HTMLe)@en[[[pre]]]]と似たような扱いで、[[HTML-[CODE(HTML)@en[CDATA]]]]として[[構文解析]]され''ない''ようです。
([[名無しさん]])

[14]
[[w3m]] 0.3.2.2は[[HTML-[CODE(HTML)@en[CDATA]]]]としているようです。
([[名無しさん]])

[15]
[CODE(HTMLe)@en[[[xmp]]]] は現在でも [CODE(HTML)[</xmp>]]
まで閉じないのに、いつから [CODE(HTMLe)@en[[[listing]]]]
だけ普通の[[要素]]になってしまったのでしょう?
[[NCSA Mosaic]]?

[12]
'''不思議解釈''': [[箇条書き]]を表すと説明されていることがあります。

[16] [CITE[WWW-Talk Jan-Mar 1993: X Mosaic 0.5 status report]]
( ([TIME[2013-03-09 04:11:25 +09:00]] 版))
<http://1997.webhistory.org/www.lists/www-talk.1993q1/0117.html>

[17] [CITE[ncsa-mosaic/CHANGES at master · alandipert/ncsa-mosaic]]
( ([TIME[2014-04-07 05:42:08 +09:00]] 版))
<https://github.com/alandipert/ncsa-mosaic/blob/master/CHANGES#L1308>

** HTML5


- [21] 
[CITE@en['''['''''']''' (0) Define handling of <listing>, <plaintext>, <acronym>, <xmp>, <…]], [[Hixie]], [TIME[2009-07-31 08:21:23 +09:00]], [TIME[2024-09-06T08:25:39.000Z]] <https://github.com/whatwg/html/commit/74c22f9103edfbf4f376bb183f80ee569674217b#diff-41cf6794ba4200b839c53531555f0f3998df4cbb01a4d5cb0b94e3ca5e23947d>




[FIG(data)[ [216] [[HTML要素概説]]

:[F[要素名]]:[CODE[listing]]
:日付:[TIME[2009-07-31]]
:説明:
[TIME[2009-07-31]]、
[CITE[HTML5]]
で
[CODE[listing]]
の処理が規定された。
:出典:
[REFS[

-
[CITE[HTML5 r3502]],
[DATA(.author)[[[Hixie]]]], 
[TIME(.published)[2009-07-31 08:21:23 +09:00]], [TIME[2024-09-06T08:25:39.000Z]] <https://github.com/whatwg/html/commit/74c22f9103edfbf4f376bb183f80ee569674217b>

]REFS]

]FIG]





[1] [CITE@en[Use HTMLPreElement for xmp and listing · whatwg/html@ca31ca2]]
([TIME[2016-04-25 17:09:05 +09:00]] 版)
<https://github.com/whatwg/html/commit/ca31ca2fa10f6205d65db7e81db122237036a736>

[20] [CITE@en[Don't serialize an extra LF in <pre>, <textarea>, <listing>]]
([[zcorpan]]著, [TIME[2016-09-24 18:47:14 +09:00]])
<https://github.com/whatwg/html/commit/2aa0000433f8c34263d29cee31bc95b1efdfef46>