/
488.txt
79 lines (54 loc) · 3.67 KB
/
488.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
[1] [[要素]]の終わりを識別する[[記述的マーク]]。
End‐tag。 ([[JISX4151]]‐1992 定義 (121), 6.5 参照。)
[[#comment]]
* 終了タグの構文
[11]
- [CODE(ABNF)[[DFN[終了タグ]] := 完全な終了タグ / 空終了タグ / 閉じない終了タグ / 簡略終了タグ ;; (19), (20)]]
- [CODE(ABNF)[[DFN[完全な終了タグ]] := [CODE(SGML)[[[etago]]]] [[文書型指定]] [[共通識別子指定]] *[[s]] [CODE(SGML)[[[tagc]]]] ;; (19)]]
- [CODE(ABNF)[[DFN[空終了タグ]] := [CODE(SGML)[etago]] [CODE(SGML)[tagc]] ;; (21)]]
- [CODE(ABNF)[[DFN[閉じない終了タグ]] := [CODE(SGML)[etago]] 文書型指定 共通識別子指定 *s [CODE(regex)[(?= [CODE(SGML)[[[stago]]]] / [CODE(SGML)[etago]])]] ;; (22)]]
- [CODE(ABNF)[[DFN[簡略終了タグ]] ([[net]]) := [CODE(SGML)[net]] ;; (23)]]
[12] [CODE(SGML)[[[SHORTTAG]] YES]] の場合は完全な終了タグ以外の構文が使えます。
空終了タグと簡略終了タグが使えるのは[[基本文書型]]の要素の終了タグの場合のみです。
閉じない終了タグが使えるのは、直後に [CODE(SGML)[stago]]
又は [CODE(SGML)[etago]] に相当する文字列が来る場合のみです。
但し、それらの文字列が実際にマークとして認知されるかは無関係です。
([SAMP(SGML)[</element<何か要素型名ではないもの。]] とか。)
[13] 空終了タグの[[要素型名]]は、基本文書型の直近の[[開いている要素]]の要素型です。
それが存在しない場合 (どんな場合?) は[[誤り]]とします。
[14] net は、基本文書型の開いている要素のうちで直近の
[[net可能開始タグ]]により開始されたものを終わらせます。
(該当要素がなければ、マークとして認知されません。)
[[#comment]]
* 終了タグの省略
[10]
終了タグが省略できる条件
([[JISX4151]]‐1992 6.3.1.2 参照) :
= [4] [タグの省略が許されていること]
[[SGML宣言]]で [CODE(SGML)[[[OMITTAG]] YES]] になっていることが大前提として必要です。
= [5] [終了タグの省略が許されていること]
当該[[要素型]]の[[要素型宣言]]において、
終了タグの省略が許されている ([CODE(SGML)[o]] である)
ことが必要です。
= [6] 次のいずれかの直前に終了タグが位置すること :
-- [7] [文書実体の最後]
[[SGML文書実体]]又は[[SGML部分文書実体]]の末尾
-- [8] [先祖要素の最後]
他の[[開いている要素]]の終了タグ
-- [9] [内容モデル不適合文字列]
その要素の[[内容]]となりえない[[要素]]又は [[SGML文字]]
--- [[排除要素]]も出現し得ないのでこれに含まれます。
[[#comment]]
** 強制空要素の終了タグ
[15] 素の SGML 及び Web SGML で [CODE(SGML)[[[EMPTYNRM]] NO]] の場合においては、
- [[強制空要素]]の終了タグは、[[マーク最小化機能]]の使用の有無にかかわらず、また[[要素型宣言]]のマーク最小化引数の指定にかかわらず、必ず省略しなければなりません。
- 要素型宣言のマーク最小化引数が指定できる場合には、[CODE(SGML)[- o]] とすることが推奨されますが、
この引数は強制空要素については無視されます。
Web SGML で [CODE(SGML)[EMPTYNRM YES]] になっている場合には、
強制空要素の終了タグも一般の要素の終了タグと同じ扱いを受けます。
([[WebSGML]] K.3.6 参照。)
[[#comment]]
* メモ
[16]
[CITE[[whatwg] Empty elements]] <http://listserver.dreamhost.com/pipermail/whatwg-whatwg.org/2006-February/005831.html>
([[名無しさん]] [WEAK[2006-02-16 02:54:41 +00:00]])