[1] SGML宣言における命名規則群引数は、 名前に使う文字の種類を指定する部分です。
- (271) 命名方法引数 (naming rules parameter)
- 標準の名前英文字種別への追加の指定並びに英大文字への代替の指定の SGML宣言の引数。 JIS X 4151-1992 3.
[2] JIS X 4051‐1992 で規定されています。 加えて、追補1 (JIS X 4051 : 1998 = ISO 8879:1986/Cor.1:1996) 拡張命名規則 (ENR) で書式が拡張されました。
(ENR の記述法を使うときには、 SGML 宣言の最初の部分の最小表記で ENR 又は WebSGML と宣言していなければなりません。)
1992 では命名方式
と訳されていましたが、 1998 では命名規則
に改訳されています。
-- 命名方式 (1992 [189]) -- NAMING -- 名前文字への追加 -- LCNMSTRT "引数表記" -- 小文字名前開始 -- UCNMSTRT "引数表記" -- 大文字名前開始 -- LCNMCHAR "引数表記" -- 小文字名前 -- UCNMCHAR "引数表記" -- 大文字名前 -- NAMECASE -- 大文字への正規化 -- GENERAL (YES / NO) -- 実体名以外の名前 -- ENTITY (YES / NO) -- 実体名 --
-- 命名規則 (1998 [189]) -- NAMING -- 名前文字への追加 -- LCNMSTRT 1*( 拡張名の値) -- 小文字名前開始 -- UCNMSTRT 1*( 拡張名の値) -- 大文字名前開始 -- [ NAMESTRT 1*( 拡張名の値) ] -- 名前開始 -- LCNMCHAR 1*( 拡張名の値) -- 小文字名前 -- UCNMCHAR 1*( 拡張名の値) -- 大文字名前 -- [ NAMECHAR 1*( 拡張名の値) ] -- 名前 -- NAMECASE -- 大文字への正規化 -- GENERAL (YES / NO) -- 実体名以外の名前 -- ENTITY (YES / NO) -- 実体名 --
[4] 引数表記は、それに含まれる各文字を名前(開始)文字とすることを意味します (文字の解釈は規格参照具象構文による)。 文字番号は、構文参照文字集合でその番号で表現される文字を名前(開始)文字とすることを意味します。 文字範囲は、文字番号の範囲の指定です。
大文字・小文字の指定では、大文字と小文字でそれぞれ対応するような順序で指定します。例えば、
LCNMSTRT "あいうえお" UCNMSTRT "アイウエオ"とすれば、
あ
が小文字、ア
が大文字で対応する組になります。大文字・小文字の別がない文字を追加する時は、同じ文字を順番的に同じ位置に両方共に追加します。例 :
LCNMSTRT "あいうえお、。" UCNMSTRT "アイウエオ、。"しかし、 ENR 以降は大文字・小文字から独立した指定ができるので、
LCNMSTRT "あいうえお" UCNMSTRT "アイウエオ" NAMESTRT "、。"とできます。
(注 : 例示では便宜上適当な文字を使っていますが、実際には規格参照具象構文の範囲で書かないといけません。それで表現できない文字は、文字参照を使うか、 ENR で追加された文字番号による指定を使わないといけません。)
LCNMSTRT
などでは、該当がなくても空引数表記で LCNMSTRT "" のようにしておかないといけません。ALPHA / DIGIT
に含まれる文字 (既に含まれている。) を追加することはできません。 (例えば、数字を名前開始文字に入れるようなことも、残念ながらできません。)[8] SGML の委員会では次の改訂 (いつだよ?) で Digit
集合への追加を可能にすることに合意していたそうです。