* 字句型 (SGML 拡張機能)
[1] [DFN[[RUBYB[字句型] [lexical type]]]]は、
[[文字列]]が適合する(べき)文字の[[パターン]]です。
このパターンのことを[DFN[[[字句模型]]]]といいます。

[3] 仕様書:
- [[ISO/IEC 10744]]:1997
-- [CSECTION[A.2 Lexical Type Definition Requirements (LTDR)]]
<http://www.y12.doe.gov/sgml/wg8/docs/n1920/html/clause-A.2.html>

と言われると字句型 = 字句模型のように思ってしまいますが、
字句模型を使って定義された型が字句型ということです。


[2]
字句型は、[[字句型集合]] ([[字句型宣言集合]]) 
の中の[[字句型宣言]]で宣言します。

[8] '''適合性''': 字句型は単体で使えるものではないためか、
特に適合性の規定がありません。ただし、 [[SGML拡張機能]]としての適合性要件
[SRC[ISO/IEC 10744:1997 A.1]] が適用されます。

[[#comment]]

* 字句型 ([CODE(SGMLa)[lextype]]) 属性 (SGML 一般体系)

[4] [[SGML]] [[一般体系]]の[[字句型付け属性]]
([CODE(SGML)[[[lextype]]]]) 
[[属性形式]]の[DFN[[RUBYB[字句型][lexical types]] ([CODE(SGMLa)[[[lextype]]]]) [[属性]]]]は、
[[要素]]の[[内容]]や[[属性値]]が満足するべき[[字句型]]を指定します。

[5] 仕様書:
- [[ISO/IEC 10744]]:1997
--[CSECTION[A.5.4 Lexical types]] <http://www.y12.doe.gov/sgml/wg8/docs/n1920/html/clause-A.5.4.html>

[6]
:所属[[属性形式]]:[[字句型付け属性]] ([CODE(SGML)[[[lextype]]]])
:[[参照具象構文名]]:[CODE(SGMLa)[[[lextype]]]]
:[[完全名]]:[RUBYB[字句型][lexical types]]
:[[属性型]]:[CODE(SGML)[[[CDATA]]]]
:[[字句型]]:[CODE(SGML)[([[ATTORCON]], [[NAME]])*]]
(ある [CODE(SGML)[[[ATTNAME]]]] や [CODE(SGML)[#[[CONTENT]]]]
は、一度のみ出現可能)
:[[既定値]]:字句型なし

属性値は、属性名 (または要素の内容を表す
[CODE(SGML)[#CONTENT]]) と[[字句型名]]の組の[[並び]]です。

[[#comment]]

** 関連

[7] [[ISO/IEC 10744]] では [[DTD]] の[[注釈]]として字句型の制約を記述していますが、
字句型 ([CODE(SGMLa)[lextype]]) 
[[属性]]を指定する時はその制約をも満たせるように注意する必要があります。
[SRC[ISO/IEC 10744:1997 A.5.4 NOTE 475]] 
そうしないと適切な[[属性値]]を記述できないことになってしまいます。

[8] 似た意味の[[属性]]として、 [[XML Schema]]
の [CODE(XMLa)[[VAR[xsi:]][[type]]]] [[属性]]があります。

[[#comment]]

** メモ

[9] 普通一々[[文書実現値]]で字句型 ([CODE(SGMLa)[lextype]])
[[属性]]を付けるのはまことに阿呆らしいことですから、
[[DTD]] において[[既定値]]または[[固定属性]]として記述することになるのでしょう。

[[#comment]]

* メモ