ID即時参照要素型

ID即時参照要素型

[1] SGML 一般体系ID 即時参照要素型 (ID immediate referent element type) (ireftype) 属性形式を使うと、 ID 参照の直接の参照先の要素型を制御できます。 この属性形式ではID 即時参照要素型 (ID immediate referent element type) (ireftype) 属性だけが定義されています。

[2] 仕様書:

[3]

属性形式規格参照具象構文名
ireftype
属性形式の完全名
ID 即時参照要素型 (ID immediate referent element type)
属性の規格参照具象構文名
ireftype
属性の完全名
ID 即時参照要素型 (ID immediate referent element type)
属性型
CDATA
字句型
(("#ALL", (GI | modelgroup | "#ANY"))?, (ATTORCON, (GI | modelgroup | "#ANY"))*) (ある ATTNAME#CONTENT は一度のみ使用可能)
既定値
#ALL #ANY

[4] 属性値は、制約の適用対象である ID 参照を書く場所と制約の組の並びを記述します。

ここで ID 参照とは IDREFIDREFS で宣言された属性か、 字句型制約によって ID 参照を含んでいると宣言された属性やデータ内容です。 属性の場合は属性名を指定します。内容の場合は #CONTENT と指定します。 #ALL を指定するとそれらすべてを意味します。 なお、属性名や #CONTENT は高々1回しか使えません。

制約は参照される側の要素型を指定します。 要素型は、共通識別子1つか、共通識別子による模型群か、 何でもよいことを表す #ANY を指定します。 (共通識別子1つの後には出現標識がついていても構いません。)

一般体系の選択肢 irefmodel (一般体系宣言の項を参照。) に対応していれば、 模型群として任意の妥当な SGML 模型群を記述できます。 出現標識なしの共通識別子だけの指定や繰り返し OR 群以外の模型群が指定された場合は、参照先が指定された要素型のどれか1つに限られます。 対応していない時には、共通識別子だけの指定 (繰り返し可能でも構いません。) か繰り返し可能・繰り返し不能の OR 群しか指定できません。

[5] #ALL による指定は、他の指定によって上書きできます。

[6] 要素型の制約は直接の参照対象にのみ適用されます。 参照が位置経路の場合は、制約は経路全体によって番地付けされる物体ではなく、 経路中の最初の位置番地にのみ適用されます。