-
Notifications
You must be signed in to change notification settings - Fork 4
/
848.txt
52 lines (38 loc) · 3.53 KB
/
848.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
#?SuikaWiki/0.9
[1] [DFN[原始要素指定]]は、
連結処理の元々の要素(型)を指定します。
[[暗示連結]]では[[連結集合宣言]]の直接の部分として、
[[明示連結]]では連結集合宣言を構成する[[明示連結規則]]の一部として使います。
- [3] [CODE(ABNF)[[DFN[原始要素指定]] := [[原始要素型]] [連結集合使用指定] [事後連結集合指定] [ [[連結属性指定]] ] ;; (165) より]]
- [4] [CODE(ABNF)[[DFN[連結集合使用指定]] := 1*[CODE(SGML)[[[ps]]]] [CODE(SGML)[[[rni]]]] [[USELINK]] 1*[CODE(SGML)[ps]] ([[連結集合名]] / [CODE(SGML)[rni]] [[EMPTY]]) ;; (165) より]]
- [4] [CODE(ABNF)[[DFN[事後連結集合指定]] := 1*[CODE(SGML)[ps]] [CODE(SGML)[rni]] [[POSTLINK]] 1*[CODE(SGML)[ps]] ([[連結集合名]] / [CODE(SGML)[rni]] EMPTY / [CODE(SGML)[rni]] [[RESTORE]]) ;; (165), (170) より]]
-[2] [CODE(ABNF)[[DFN[連結属性指定]] := 1*[CODE(SGML)[ps]] [CODE(SGML)[[[dso]]]] [[属性指定並び]] *[CODE(SGML)[[[s]]]] [CODE(SGML)[[[dsc]]]] ;; (166)]]
仕様書:
- [[JIS X 4151]]‐1992 11.2.1 原始要素指定
- [[CNS 13854]]‐86 (1992) 11.2.1 原始元素規格
[7] 原始要素型は、同じ[[連結集合宣言]]中の他の連結規則とは異なるものでなければなりません。
ただし、[Q[その連結規則すべてに連結属性指定を指定する場合は、この限りでない]]とされています。
(連結集合宣言中の全要素型に、ではなく、重複のある要素型に、か?
→ おそらく [[ISO 8879]] の原文では [Q[, except]] になっていたのでしょうが、
日本語訳した時に意味が取りづらくなったのでしょう。
[Q[ある要素型は、連結属性指定がある場合を除いて、一度しか使えない。 (連結属性指定があれば、その要素型は複数回使える。)]] と解釈するのが適切だと思います。)
そのような重複がある場合にどれを選ぶかを応用は決めなければなりません。
仕様書には、連結属性 [SAMP(SGMLa)[usage]]
を用意して、そこに [[XPath]] のようなものでも書いておいて、
その値で選択するということが想定されているようなことが書いてあります。
[3] [CODE(SGML)[USELINK]] による指定は、
当該要素型の要素が[[現在要素]]となった時に[[現在連結集合]]として使われる
(つまり当該要素型の要素の[[内容]]に適用される)
連結集合です。
[CODE(SGML)[USELINK]] の指定は、
連結集合宣言を[[開始タグ]]の直後に書いたのと同じ働きをします。
[4] [CODE(SGML)[POSTLINK]] による指定は、
当該要素型の要素が終わった時に現在連結集合として使われる
(つまり当該要素型の要素の弟に適用される) 連結集合です。
[CODE(SGML)[POSTLINK]] の指定は、
連結集合宣言を[[終了タグ]]の直後に書いたのと同じ働きをします。
[5] 連結集合名は、同じ[[連結型宣言]]中の連結集合宣言で定義したものでなければなりません。
[6] 連結属性指定は、同じ[[連結型宣言]]の、
この原始要素指定よりも前にある[[属性定義並び宣言]]で[[原始要素型]]について宣言された[[連結属性]]を指定します。
連結属性指定は、[[属性指定並び]]が空になるときは、省略しなければなりません。
つまり [SAMP(SGML)[ [ ] ]] のような指定を含めることはできません。