1 |
wakaba |
1.1 |
|
2 |
|
|
|
3 |
|
|
[1] [DFN[[RUBYB[体系実体宣言] [architecture entity declaration]]]]は、 |
4 |
|
|
[[体系DTD]] を宣言する[[外部実体宣言]]です。 |
5 |
|
|
([[引数実体]]でも[[一般実体]]でも構いません。) |
6 |
|
|
|
7 |
|
|
仕様書: [[ISO/IEC 10744]]:1997 A.3.4.3 |
8 |
|
|
<http://www.y12.doe.gov/sgml/wg8/docs/n1920/html/clause-A.3.4.html#clause-A.3.4.3> |
9 |
|
|
|
10 |
|
|
[2] 体系実体宣言は、[[体系支援宣言]]の一部です。 |
11 |
|
|
体系実体宣言で宣言した[[実体名]]は、 |
12 |
|
|
[[体系支援属性]] ArcDTD ([[体系メタDTD実体]]属性) |
13 |
|
|
の値として指定します。 |
14 |
|
|
|
15 |
|
|
この宣言は、体系を有効化している文書では必須ですが、 |
16 |
|
|
文書そのものの構文解析では基本的に使用されません。 |
17 |
|
|
体系処理で体系 DTD を使用する場合に参照されます。 |
18 |
|
|
(この宣言の参照先も、体系 DTD が使用されない場合には必ずしも参照できる必要はありません。) |
19 |
|
|
|
20 |
|
|
[3] 使用例: |
21 |
|
|
[PRE(SGML)[ |
22 |
|
|
<!-- 体系支援属性 --> |
23 |
|
|
<![[ATTLIST]] Arc1 |
24 |
|
|
-- 中略 -- |
25 |
|
|
ArcDTD CDATA "%ArcDTD"> |
26 |
|
|
<!-- 体系実体宣言で使用する記法 --> |
27 |
|
|
<![[NOTATION]] SGML |
28 |
|
|
[[PUBLIC]] "ISO 8879:1986//NOTATION |
29 |
|
|
Standard Generalized Markup Language//EN"> |
30 |
|
|
<!-- 体系実体宣言 --> |
31 |
|
|
<![[ENTITY]] % ArcDTD |
32 |
|
|
PUBLIC "+//IDN example.org//DTD AFDR Meta-DTD |
33 |
|
|
Arc1 Architecture//EN" |
34 |
|
|
[[CDATA]] [[SGML]]> |
35 |
|
|
]PRE] |
36 |
|
|
|
37 |
|
|
実体 [CODE(SGML)[%ArcDTD]] を DTD 内で別途使用するときには、 |
38 |
|
|
[CODE(SGML)[CDATA SGML]] の部分は省略します。 |
39 |
|
|
(そうしないと DTD として構文解析できなくなります。) |
40 |
|
|
|
41 |
|
|
体系 DTD が ISO/IEC 10744:1997 の拡張を使っているときには、 |
42 |
|
|
[[公開識別子]]が [CODE[ISO/IEC 10744:1997//NOTATION AFDR Meta-DTD Notation//EN]] |
43 |
|
|
の記法を宣言して、体系実体宣言にも指定する必要があります。 |
44 |
|
|
(この場合は DTD ないで別途使用することはできなくなります。) |
45 |
|
|
|
46 |
|
|
[4] >>3 体系 DTD の拡張は [[WebSGML]] |
47 |
|
|
で SGML 本体に取込まれましたけど、 |
48 |
|
|
そのときはどう宣言したらよいのでしょう。 |
49 |
|
|
公開識別子 [CODE[ISO 8879:1986//NOTATION Standard Generalized Markup Language//EN]] |
50 |
|
|
の記法は素の SGML を指していて、 Web SGML |
51 |
|
|
には使えないのかな、やっぱり。 |
52 |
|
|
|
53 |
|
|
|
54 |
|
|
[5] |
55 |
|
|
>>3 に書いてあるとおり、 [CODE(SGMLa)[ArcDTD]] 属性値表記内の引数実体参照に見える部分は DTD の構文解析の時点では展開されませんから、
|
56 |
|
|
体系実体宣言が体系支援宣言の前にある必要はありません。 (ISO/IEC 10744:1997 には明記されていないようですが、 >>3 の例のように体系実体宣言の方が後になっている DTD が用意されていますから、良いのでしょう。) |
57 |
|
|
([[名無しさん]]) |
58 |
|
|
|