/
892.txt
118 lines (90 loc) · 5.29 KB
/
892.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
[1] [[XHTML2]] の [DFN[[CODE(HTMLe)@en[[[l]]]] [[要素]]]] (当初は
[DFN[[CODE(HTMLe)@en[[[line]]]] [[要素]]]]) は、 [[HTML4]] の [CODE(HTMLe)@en[[[br]]]]
に代わり[[文書]]中の「[[行]]」を表すものとして提案されていました。
* 歴史
** DTBook [CODE[line]] 要素
[15]
[[DTBook]] に [DFN[[CODE[line]]]] [[要素]]がありました。
- [14] [CITE@en-US[DAISY ANSI/NISO Z39.86-2002 - The DAISY Consortium]], [TIME[2023-11-23T13:52:40.000Z]] <https://daisy.org/info-help/document-archive/archived-projects/daisy-ansi-niso-z39-86-2002-archived/>
[16]
[CODE[line]] [[要素]]は[[ブロック要素]]です。また、
[CODE[address]] [[要素]]でも使えます。
[SRC[>>14]]
[17]
[CODE[line]] [[要素]]の[[内容]]は[[行内要素]]です。
[SRC[>>14]]
[18]
[CODE[line]] [[要素]]は文章の単一の論理行を表します。
[SRC[>>14]]
[19]
[CODE[linenum]] [[要素]]とも併用できます。
[SRC[>>14]]
[20]
[[DTBook]] には [CODE[br]] [[要素]]もありますが、両者の関係は特に説明されていません。
[21]
[[DTBook]] は [[HTMLもどき]]ですが、 [[HTML]] からの影響はあっても [[HTML]]
への直接の影響はないと考えられます。結果的に [[XHTML2]] を先取りした形になりました。
** XHTML2 [CODE[line]] 要素
[2] [CODE(HTMLe)@en[[[line]]]] [[要素]]は [[mimasa]]
氏により追加が検討されている[[要素]]として事前にリークされていましたが、
正式には 2002年8月の最初の [[XHTML2]] [[作業原案]]によって公表されました。
;; [CITE@en[- XHTML Text Module]] ([TIME[2002-08-06 00:20:43 +09:00]] 版) <http://www.w3.org/TR/2002/WD-xhtml2-20020805/mod-text.html#edef_text_line>
[3] [CODE(HTMLe)@en[[[br]]]] [[要素]]も[[非推奨]]ながら残されていました。
[6] 2つ目の[[作業原案]]では [CODE(HTMLe)@en[[[l]]]] [[要素]]に改名されましたが、
なぜか規定が削除されていました。 [CODE(HTMLe)@en[[[br]]]]
[[要素]]も削除されました。
;; [CITE@en[- XHTML Text Module]] ([TIME[2002-12-12 23:58:38 +09:00]] 版) <http://www.w3.org/TR/2002/WD-xhtml2-20021211/mod-text.html>
[7] 3つ目の[[作業原案]]で定義が復活しました。
;; [CITE@en[- XHTML Text Module]] ([TIME[2002-12-18 19:57:57 +09:00]] 版) <http://www.w3.org/TR/2002/WD-xhtml2-20021218/mod-text.html#sec_8.10.>
[4] [CODE(HTMLe)@en[[[l]]]] [[要素]]に対しては、従来 [CODE(HTMLe)@en[[[br]]]]
[[要素]]や [CODE(HTMLe)@en[[[pre]]]] [[要素]]で表していた[[詩]]の[[行]]や[[プログラミング言語]]の[[行]]をより“[[意味的]]”
に記述できると評価する声がある一方で、「[[行]]」という概念自体が[[物理的]]であって
[[XHTML]] には相応しくないとする批判もありました。
[5] 末期の [[XHTML2 WG]] では [CODE(HTMLe)@en[[[l]]]] [[要素]]を廃して
[CODE(HTMLe)@en[[[br]]]] [[要素]]に戻すべきとの意見もありました [要出典]。
[8]
[[XHTML2]] の失敗で [CODE[l]] [[要素]]も消滅しました。
[9]
[CODE[section]] [[要素]]のように [[XHTML2]] の有用なアイデアは [[HTML5]]
に取り込まれましたが、
[CODE[l]] [[要素]]を推す声はほとんどありませんでした。
[10]
[[平成10年代]]前半頃には、[[欧米]]でも[[日本]]でも、
[CODE[br]] 式の[[空要素]]より、
[CODE[l]] 式の[[子供]]を持つ[[要素]]の方が優れているとの考え方がありました。
その背景には
[[CSS]] や [[DOM]]
で
「[[要素]]と[[要素]]の間」
よりも
「[[要素]]とその[[内容]]」
の方が扱いやすいことがあったのでしょう。
[CODE[p]] [[要素]]が[[お尻p]]から[[子供]]を持つようになり、
[CODE[h[VAR[n]]]] の暗示的区切りより [CODE[section]] が望まれ
[CODE[hr]] が敬遠されるといった、
[[言語]]全体の方向性もありました。
[13]
[[HTML4 Strict]]、[[XHTML 1.1]] の流れをついで[[物理要素]]の排除を目指した
[[XHTML2]] にとっては、
[[物理要素]]と疑われがちだった [CODE[br]]
を放置するわけにもいきませんでした。
[11]
しかしあらゆる[[行]]を [CODE[l]] に入れさせるのは現実的でなく、
明示的な [CODE[l]] とそうでない暗示的な行の混在が前提とならざるを得ません
([[XHTML2]] はそれを明確に規定していませんでしたが)。
文書の作成を考えると
[CODE[br]]
や
[CODE[pre]]
の従来方式の方が楽です。
[[CSS]] や [[DOM]] の扱いも、
混在を前提にすると [CODE[l]] を追加したことにより複雑になるだけです。
(一般性が求められず自分の作ったページだけで通用すればいいスクリプトなら、
対象を [CODE[span]] で適宜[[マーク付け]]すればよく、専用の[[要素]]は不要です。)
[12]
むしろ、「行」という表示に密接に関係する[[要素]]を新たに追加しても、
表示調整目的で濫用されるであろうことは [[HTML]]
の歴史から明らかです。
実用性に疑問があり、
言語の意味的な整合性も危うくするようなものを、
敢えて追加する意義は少ないでしょう。