[1] DocBook には EBNF をマークするための optional な語彙があります。
productionset
(共通属性; ((title
, titleabbrev
?)?, (production
| productionrecap
)+)
):
生成規則集合。production
(共通属性;
(lhs
, rhs
, constraint
*)
):
生成規則を表します。lhs
(共通属性; PCDATA
: 非終端記号名):
左辺を記述します。rhs
(共通属性; (#PCDATA | lineannotation
| nonterminal
| sbr
)*
):
右辺を記述します。注釈は lineannotation
で、
非終端記号は nonterminal
で、
改行候補箇所は sbr
で記述します。
それ以外は直接文字データとして記述します。nonterminal
(@def
=URI参照:
必須: 定義への参照, 共通属性; PCDATA
: 非終端記号名):
非終端記号を表します。文法規則外の文章でも使えます。constraint
(@linkend
=IDREF
: 必須, 共通属性; 強制空要素):
文法的に表現できない制約を参照します。productionrecap
(@linkend
=IDREF
: 必須: production
, 共通属性; 強制空要素):
生成規則の複製を挿入します (主として読者の理解のための再掲)。constraintdef
(共通属性; (title
, ブロック系)
):
文法的に表現できない制約を記述します。
文法規則外の文章の一部として記述できます。内容も普通の文章です。