グラフィカルな拡張BNF表記
XMLの構文は,拡張BNF(Backus-Naur Form)で表記することになっています。構文は,つぎの形式で記号を定義します。
- 記号 ::= 式
記号は,正規表現で定義する場合は大文字で始め,さもなければ小文字で始めます。リテラル文字列は引用符で括ります。右辺では,つぎの式を使用します。
#xN Nは16進の整数
[a-zA-Z], [#xN-#xN] 指定した範囲の値(両端の値を含む。)をもつ任意の文字
[^a-z], [^#xN-#xN] 指定した範囲外の値をもつ任意の文字
[^abc], [^#xN#xN#xN] 指定した文字以外の値をもつ任意の文字
"文字列" 二重引用符で囲むリテラル文字列
'文字列' 一重引用符で囲むリテラル文字列
拡張BNFは、難解な印象を与えるので、以下のようなグラフィカルな表記を考えてみました。
拡張BNF | グラフィカルな拡張BNF | 説明 |
A? |
|
Aは任意 |
A B |
![]() |
AとB |
A | B |
|
AまたはB |
A - B |
|
Aと一致するがBとは一致しない任意の文字列 |
A+ |
|
1回以上のA |
A* |
|
0回以上のA |
なお、AおよびBは式です。
/* ... */ コメント
[ 整形式制約: ... ] 整形式制約。生成規則に関連した,整形式の文書に関する制約を名前によって特定。
[ 妥当性制約: ... ] 妥当性制約。生成規則に関連した,妥当な文書に関する制約を名前によって特定。