
[1]

>
:(50) [DFN[記法属性]] ([DFN@en[notation attribute]]):
[[要素]]の[[内容]]の[[データ内容記法]]を[[識別]]する[[記法名]]を[[値]]とする[[属性]]。
- '''備考''' [[明示的]]な[[内容参照]]がある場合には、
[[要素]]の[[内容]]が[[空]]となるので、[[記法属性]]を用いてはならない。 
[SRC@en[JIS 3.]]

[4] 仕様書:
- [JIS] [[JIS X 4151]]‐1992 ([[SGML]])
-- [CSECTION[3. 用語の定義]]
-- [CSECTION[6.9.4.4 記法名]]
-- [CSECTION[9.1.3 群]]
-- [CSECTION[10.3.3 宣言値]]
-- [CSECTION[10.4.1 データ属性]]
-- [CSECTION[11.1.4.2 連結属性]]
- [[Web SGML]]
-- [CSECTION[K.4.4.2]]
- [AFDR] [[ISO/IEC 10744]]:1997
-- [CSECTION@en[A.3.6.4]]
<http://www.y12.doe.gov/sgml/wg8/docs/n1920/html/clause-A.3.6.html#clause-A.3.6.4>

[5] '''記法属性値が宣言されていること''':
[[記法属性]]の[[属性値]]は、
その[[要素]]の[[文書型宣言]]で[[宣言]]されている[[記法名]]でなければなりません。
[SRC@en[JIS 6.9.4.4]]

[7] '''属性型指定[CODE(SGML)@en[NOTATION]]''':
[[属性定義]]で[[属性型]]として[CODE(SGML)@en[[[NOTATION]]]]と指定すると、
その[[属性]]が[Q[[[要素]]の[[内容]]に対する[[データ内容記法]]を[[識別]]する[[記法名]]]]であることを表します。
[SRC@en[JIS 10.3.3]]

[9] '''記法属性値に関する名前群''':
[[記法属性]]に関する[[属性定義]]では[[鍵語]][CODE(SGML)@en[[[NOTATION]]]]の後に[[名前群]]を指定しますが、
これが[[記法名]]として許容する[[名前]]の[[集合]]となります。
[SRC@en[JIS 10.3.3]]

[10]
[[SGML]]では[[名前群]]の[[接続子]]の種類には意味はありません (3種類のいずれでも構いません)。
[SRC@en[JIS 9.1.3]]
[[XML]]では[CODE(char)[|]]でなければなりません。

[11]
1つの[[名前群]]の中に同じ[[名前]]を複数個入れてはなりません。
[SRC@en[JIS 9.1.3]]

@@ 妥当性制約?

[12]
[[素のSGML]]では、1つの[[属性定義並び]]の中の[[群]] 
[WEAK[([[列挙型属性]]または[[記法属性]]の[[属性値]]の候補)]]
すべての中で、ある値が2回以上現れてはなりません。
[SRC@en[JIS 9.1.3]]

[[Web SGML]]および[[XML]]では、この制限がなく、
1つの[[属性定義並び]]の複数の[[属性定義]]が同じ値を含んでいても構いません。
[WEAK[(依然 >>11 の制約はあります。)]]
ただし、重複がある場合その[[属性値]]で[[属性名]]を[[省略]]する[[最小化]]機能が使えなくなります。
[SRC@en[Web SGML K.4.4.2]]

@@ 
[13]
名前群中の記法名は宣言されていなければならないのかどうか?

[8] '''記法属性が固有であること''':
[[属性型]][CODE(SGML)@en[[[NOTATION]]]]は、
一つの[[属性定義並び]]の中で1度だけ指定できます。
[SRC@en[JIS 10.3.3]]

@@ [[Web SGML]]で修正されておらず、違う[[属性定義並び宣言]]では複数[[記法属性]]が存在できてしまう?

[9] '''強制空要素と記法属性''':
[[属性型]][CODE(SGML)@en[[[NOTATION]]]]は、
[[宣言内容]]が[CODE(SGML)@en[[[EMPTY]]]]の[[要素型]]
([[強制空要素型]]) にしていしてはなりません。
[SRC@en[JIS 10.3.3]]

;; [[記法属性]]は[[データ内容記法]]を[[識別]]するためのものなので、
[[強制空要素]]には使えないのです。

[6] '''内容参照属性と記法属性''':
[[内容参照属性]]が同じ[[要素]]で[[明示的]]な[[値]]を持っている場合は、
[[記法属性]]が[[属性値]]を持つと[[誤り]]です。
[SRC@en[JIS 3., 6.9.4.4]]

;; [[内容参照属性]]が[[宣言]]されている[[要素]]は、
[[属性値]]があれば[[空要素]]、なければ非[[空要素]]の扱いになります。
[[記法属性]]は[[データ内容記法]]を[[識別]]するためのものなので、
[[内容参照属性]]が[[属性値]]を持つ時には使えないのです。

[7] '''データ属性と記法属性''':
[[データ属性]]の[[属性型]]を[CODE(SGML)@en[[[NOTATION]]]]と[[宣言]]してはなりません。
[SRC@en[JIS 10.4.1]]

;; [[記法属性]]は[[要素]]の[[内容]]に関するものですが、
[[データ属性]]は[[要素]]に関するものではないからです。

[8] '''連結属性と記法属性''':
[[連結属性]]の[[属性型]]を[CODE(SGML)@en[[[NOTATION]]]]と[[宣言]]してはなりません。
[SRC@en[JIS 11.1.4.2]]

[2] 記法属性である[[基底属性]]に対応する[[クライアント属性]]は、
その値が[[体系DTD]] で宣言された記法名であり、
基底属性の[[属性定義]]で認められているか、または体系 DTD
で宣言された記法から派生した記法の名前であり基底属性で認められているなら、
基底属性を満足します。
[SRC@en[AFDR A.3.6.4]]

@@ 
[3]
[[AFDR]] [[DTD]]記法における[[記法属性]]の扱いは??


[14]

@@ 記法属性の実例: [[HTML 3]]とか
([[名無しさん]])

