-
Notifications
You must be signed in to change notification settings - Fork 4
/
343.txt
156 lines (117 loc) · 6.6 KB
/
343.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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
[2]
>
:(18) [DFN[SGML部分文書実体]] ([DFN@en[SGML subdocument entity]]):
独自の[[文書型宣言]]及び[[連結型宣言]]に従う[[SGML実体]]であって、
それに先行する[[SGML文書実体]]の[[SGML宣言]]に従うもの。
少なくとも[[基本文書型宣言]]及び[[基本文書要素]]の[[開始]]及び[[終了]]を含む。
;; 出典: [[JIS X 4151]]‐1992 3.
[1]
>
:[DFN[SGML [RUBY[部分文書実体] [ぶぶんぶんしょじったい] @en[subdocument entity]]]], [DFN@en[SUBDOC]]:
[[SGML文書実体]]の [[SGML宣言]]に[[適合]]し、
自身の[[文書型宣言]]と[[連結型宣言]]にも[[適合]]する [[SGML実体]]。
少なくても[[基底文書型宣言]]と[[基底文書要素]]の[[開始]]と[[終了]]を含む。
出典:
- [[ISO/IEC 10744]]:1997
-- 3.115
<http://y12web2.y12.doe.gov/sgml/wg8/docs/n1920/html/clause-3.html#def-3.115>
[3]
> [CODE[[DFN[SGML部分文書実体]] = [[前書き]], [[文書実現値集合]], [[Ee]] —(3)]]
;; 出典: [[JIS X 4151]]‐1992 5.2
([[名無しさん]] [sage])
[4]
'''公開文種別''':
[[素のSGML]]における[[公式公開識別子]]で、[[SGML部分文書実体]]の[[公開文種別]]は[CODE(SGML)@en[[[SUBDOC]]]]でなければなりません[SRC@en[JIS 9.2.2.1]]。
([[名無しさん]] [sage])
[5]
'''実体型''':
[[外部実体指定]] [WEAK[([[実体宣言]]の一部を構成しています。)]]
では、[[外部識別子]]の後に[[実体型]]として[[鍵語]][CODE(SGML)@en[[[SUBDOC]]]]を指定できます。
この指定がある場合、その[[参照]] ([[宣言]]) されている[[実体]]が[[SGML部分文書実体]]であることを表します。
[SRC@en[JIS 9.5.5]]
([[名無しさん]] [sage])
[6]
>>5 の[[実体型]]として[CODE(SGML)@en[[[SUBDOC]]]]が指定できる場合というのは、
[[SGML宣言]]で[CODE(SGML)@en[[[SUBDOC]] [[YES]]]]としてある時だけです。[SRC@en[JIS 9.5.5]]
([[名無しさん]] [sage])
[7]
'''実体属性''':
[[属性型]]が[CODE(SGML)@en[[[ENTITY]]]]または[CODE(SGML)@en[[[ENTITIES]]]]の[[属性値]]中の[[名前]]は、[[データ実体]]または[[SGML部分文書実体]]の[[名前]]でなければなりません。しかも、[[名前群]]なしの[[一般実体参照]]で使える[[実体]]と同様に[[宣言]]していなければなりません。[SRC@en[JIS 6.9.4.3]]
([[名無しさん]] [sage])
[8]
'''SGML宣言''':
[[SGML宣言]]の[[他機能]]の部分には、[CODE(SGML block)@en[[[SUBDOC]] [[YES]] [VAR[n]]]]または[CODE(SGML block)@en[[[SUBDOC]] [[NO]]]]と指定する部分があります。
これは、[Q[同時に複数の[[SGML部分文書実体]]が開いておける[[機構]]]]を意味しています。[VAR@en[n]]は最大の個数 (1[[以上]])
を指定します。
[SRC@en[JIS 12.5.3]]
([[名無しさん]] [sage])
[9]
'''基本SGML文書では使用できない''':
[[基本SGML文書]]の[[SGML宣言]]では[CODE(SGML)@en[[[SUBDOC]] [[NO]]]]なので、[[SGML部分文書実体]]は使用できません。
[SRC@en[JIS 表8]]
([[名無しさん]] [sage])
[10]
>>7 すなわち、[[基底文書型定義]]およびその[[開始タグ]]の[[文書型指定]]で指定されている''すべて''の[[活性文書型]]の[[文書型定義]]で
(その[[名前]]で、または[[既定実体]]が)
[[宣言]]されている[[一般実体]]でなければなりません。
[SRC@en[JIS 8.4.4.1]]
([[名無しさん]] [sage])
[11]
[[SGML部分文書実体]]は、[[SGML宣言]]''以外''は完全に[[参照]]元の[[文書]]とは独立に解釈されます。
例えば、[[参照]]元の[[文書型]]や[[実体宣言]]は[[部分文書実体]]には適用され''ません''し、
[[現在番号]]や[[識別子属性]]も別の空間にあるものとして解釈されます。
[SRC@en[JIS 参考4 4.2]]
([[名無しさん]] [sage])
[12]
[[SGML部分文書実体]]は、[[非SGMLデータ実体]]同様、
[[一般実体参照]]として[[参照]]します。[[一般実体参照]]は[[混合内容]]や[[置換可能文字データ]]などで使えます。
[[実体属性]]としても使えます。
[PRE(SGML example code)[
<!ENTITY art1 SYSTEM SUBDOC>
<!ELEMENT article - - EMPTY>
<!ATTLIST article file ENTITY #REQUIRED>
[INS[:]]
<p>この点に関しては、次の記事に詳しい。</p>
<article file=art1>
]PRE]
[SRC@en[JIS 参考4 4.2]]
([[名無しさん]] [sage])
[13]
[[SGML部分文書実体]]は、別々に作られた[[文書型]]が様々な[[文書]]群を取り込んで一つの[[文書]] (例えば[[選集]])
を作るために使うことができます。[SRC@en[JIS 参考4 4.2]]
([[名無しさん]] [sage])
[14]
仕様書:
- [[JIS X 4151]]‐1992
-- 3.
-- [CSECTION[5.2 SGML実体]]
-- [CSECTION[6.9.4.3 一般実体名]]
-- [CSECTION[8.4.4.1 適用可能な実体宣言]]
-- [CSECTION[9.2.2.1 公開文種別]]
-- [CSECTION[9.5.5 外部実体指定]]
-- [CSECTION[12.5.3 他機構]]
-- [CSECTION[14.1.1 基本SGML文書]]
-- [CSECTION[表8 基本SGML文書に対するSGML宣言の例]]
-- 参考4 [CSECTION[4.2 SUBDOC—入れ子の部分文書実体]]
- [[Web SGML]]
-- [CSECTION[K.3.8 その他の機能]]
([[名無しさん]] [sage])
[15]
[CSECTION[8.1 置換可能文字データ]]より:
[[置換可能文字データ]]内の[[一般実体参照]]の[[参照]]する[[実体]]が[[SGML部分文書実体]]であってはなりません。
([[名無しさん]])
[16]
[CSECTION[8.4.2 SGML部分実体の量的制限]]より:
[[開いているSGML部分実体]]の個数は[CODE(SGML)@en[[[SUBDOC]]]]で指定した[[数]] (>>8) [[以下]]でなければなりません。
([[名無しさん]])
[17]
[CSECTION[8.4 実体参照]]より:
>[[実体参照]]の[[置換文]]は、その[[参照]]の[[文脈]]での[[構文]]及び[[意味]]についての[[要件]]に従っていなければならない。[[SGML部分文書実体]]又は[[非SGMLデータ実体]]への[[参照]]は、[[データ文字]]への[[参照]]として扱う。
- [18] [CODE(ABNF)[[DFN[SGML 部分文書実体]] := [ *[[s]] [[SGML宣言]] ] [[前書き]] [[文書実現値集合]] [CODE(SGML)[[[Ee]]]] ;; [[WebSGML]] [3] ]]
* SUBDOC (SGML 宣言の引数である見出し語)
[19] [CODE(SGML)[SUBDOC YES]] だと、
[[実体文]]の実体型の指定で [CODE(SGML)[SUBDOC]] と書けます。
* SUBDOC (実体宣言の引数である見出し語)
[20] [[実体文]]の実体型の指定で使って、
宣言する実体 (外部実体。) が[[SGML部分文書実体]]であることを示します。
* メモ