JIS X 4177-2:2005 文書スキーマ定義言語(DSDL)―第2部:正規文法に基づく妥当性検証―RELAX NG | ページ 2

                                                                                              3
X 4177-2 : 2005 (ISO/IEC 19757-2 : 2003)
3.2 統一資源識別子(URI) 簡潔な文字列であって,IETF RFC 2396に定義されている構文を用いて,抽
象的又は具体的な資源を参照するもの。
3.3 URI参照(URI reference) 素片識別子がつくこともあるURI又は相対URI。
3.4 相対URI(relative URI) RI参照の形式であって,基底URIに基づいて解決すると別のURIを生成
するもの。
3.5 基底URI(base URI) 相対URIを解決するために用いられるURI。
3.6 素片識別子(fragment identifier) RI参照に含まれる付加的な情報であって,URIに基づく取出し動
作が成功した後で利用者エージェントが利用するもの。
3.7 インスタンス(instance) ELAX NGスキーマに照らして妥当かどうか検証中のXML文書。
3.8 スペース文字(space character) #x20の符号位置をもつ文字。
3.9 空白文字(whitespace character) #x20, #x9, #xA又は#xDの符号位置をもつ文字。
3.10 名前(name) RIと局所名との対。
3.11 名前空間URI(namespace URI) 名前の一部であるURI。
3.12 局所名(local name) 名前の一部であるNCName。
3.13 NCName W3C XML-NamesにあるNCName生成規則とマッチする文字列。
3.14 名前クラス(name class) スキーマの一部であって,名前にマッチするもの。
3.15 パターン(pattern) スキーマの一部であって,属性の集合並びに要素及び文字列からなる列とマッ
チするもの。
3.16 外来の属性(foreign attribute) 名前空間URIが空文字列でもRELAX NG名前空間URIでもない属性。
3.17 外来の要素(foreign element) 名前空間URIがRELAX NG名前空間URIではない要素。
3.18 完全な構文(full syntax) 単純化の前のRELAX NG文法の構文。
3.19 単純な構文(simple syntax) 単純化の後のRELAX NG文法の構文。
3.20 単純化(simplification) 完全な構文のRELAX NGスキーマを単純な構文のスキーマに変換すること。
3.21 データ型ライブラリ(datatype library) 局所名からデータ型への対応付け。
備考 データ型ライブラリは,URIによって特定される。
3.22 データ型(datatype) 文字列の集合であって,同値関係をもつもの。
3.23 公理(axiom) 無条件に証明可能とみなす命題。
3.24 推論規則(inference rule) 一つ以上の肯定的又は否定的な前提条件と,必ず一つの結論とをもつ規則
であって,すべての肯定的な前提条件が証明可能で,かつ,どの否定的な前提条件も証明可能でない場合,
結論を証明可能とするもの。
3.25 スキーマに照らして妥当(valid with respect to a schema) スキーマによって記述されるXML文書の
集合に属すること。
3.26 スキーマ(schema) ML文書集合の指定。
3.27 文法(grammar) CNameからパターンへの対応付けを伴う開始パターン。
3.28 正しいスキーマ(correct schema) この規格の要求をすべて満たすスキーマ。
3.29 妥当性検証器(validator) スキーマが正しいかどうか決定し,インスタンスがスキーマに照らして妥
当であるかどうか決定するソフトウェアモジュール。
3.30 パス(path) / 又は // で区切られたNCNameのリスト。
3.31 情報集合(infoset) 3C XML-Infosetによって定義されたXML文書の抽象化。
3.32 情報項目(information item) 情報集合の構成要素。

――――― [JIS X 4177-2 pdf 6] ―――――

4
X 4177-2 : 2005 (ISO/IEC 19757-2 : 2003)
3.33 データモデル(data model) この規格によって定義されるXML文書の抽象表現。
3.34 XML文書(XML document) IS X 4159によって定義される整形式XML文書である文字列。
3.35 拡張BNF(EBNF) 文脈自由文法を記述するために用いられる表記。
3.36 弱い意味でのマッチ(weak matching) マッチの種類の一つで,9.3.7に規定するもの。
3.37 直上の文法(in-scope grammar) 最も近い祖先であるような文法要素。
3.38 内容種別(content-type) 三つの値empty,complex又はsimpleのうちの一つ。
3.39 混在列(mixed sequence) 要素及び文字列のどちらも含んでよい列。

4. 記法

4.1 拡張BNF

 この規格は,拡張BNF(EBNF)を用いてRELAX NGの完全な構文及び単純な構文を記述
する。EBNFによる文法の記述は,一つ以上の生成規則から成る。各生成規則は,非終端記号名,その次
に ::=,その次に選択肢を | で区切って並べたものとする。一つの選択肢の中では,イタリック体は非終
端記号を参照するために用い,連結はその順番で出現することを示し,[ ] は任意選択を示し,+ は一回以
上の繰返しを示し,* は0回以上の繰返しを示し,これら以外の文字が普通の字体で書かれたときはそれ
自体を示す。

4.2 推論規則

4.2.1  変数 変数に用いる記号は,変数のとる値の範囲を次のとおりに示す。
a) は,名前を値とする。
b) cは,名前クラスを値とする。
c) nは,局所名を値とする。ここで局所名とは文字列であって,W3C XML-NAMESのNCName生成規
則にマッチするものとする(すなわちコロンを含まない名前とする。)。
d) は,URIを値とする。
e) xは,文脈(5.で定義した。)を値とする。
f) は,属性の集合を値とする。一つの属性しか含まない集合は,その属性と同一視する。
g) は,要素及び文字列から成る列を値とする。一つの要素又は文字列しか含まない列は,その要素又
は文字列と同一視する。mの値である列は,文字列が連続したものを含んでもよく,空の文字列を含
んでもよい。
備考 mの値である列であって,要素の子としては出現できないものがある。
h) は,パターン(pattern生成規則にマッチする要素とする。)を値とする。
i) sは,文字列を値とする。
j) sは,空白だけから構成される文字列又は空列を値とする。
k) aramsは,パラメタの列を値とする。
l) eは,要素を値とする。
m) tは,内容種別を値とする。
4.2.2 命題 次の表記は,命題を示す。
a) in nc
nが名前クラスncに属することを意味する。
b) x |- a; m =~ p
文脈cxにおいて,(複数の)属性a並びに要素及び文字列からなる列mがパターンpにマッチするこ
とを意味する。

――――― [JIS X 4177-2 pdf 7] ―――――

                                                                                              5
X 4177-2 : 2005 (ISO/IEC 19757-2 : 2003)
c) isjoint(a1, a2)
a1にある属性の名前であって,しかもa2にある属性の名前であるものは存在しないことを意味する。
d) 1 interleaves m2; m3
m1がm2及びm3のインタリーブ(適当に重ねたもの。9.3.6を参照。)であることを意味する。
e) x |- a; m =~weak p
文脈cxにおいて,属性a並びに要素及び文字からなる列mがパターンpと弱い意味でマッチするこ
とを意味する。
f) okAsChildren(m)
混在列mが,要素の子として出現できることを示す。すなわち,空の文字列が現れることはなく,二
つの文字列が連続して現れることはない。
g) eref(ln) = <element> nc p </element>
文法が <define name="ln"> <element> nc p </element> </define>を含むことを意味する。
h) atatypeAllows(u, ln, params, s, cx)
URI uが示すデータ型ライブラリで,文脈cxにおいて解釈される文字列sは,パラメタparamsをもつ
データ型lnの合法的な値であることを意味する。
i) datatypeEqual(u, ln, s1, cx1, s2, cx2)
URI uが示すデータ型ライブラリで,文脈cx1において解釈される文字列s1と文脈cx2において解釈さ
れる文字列s2とは,データ型lnの同じ値をもつことを意味する。
j) 1 = s2
s1及びs2が同一であることを意味する。
k) alid(e)
要素eが文法に照らして妥当であることを意味する。
l) start() = p
文法が <start> p </start> を含むことを意味する。
m) roupable(ct1, ct2)
内容種別ct1及びct2が,“グループ化可能”であることを意味する。
n) :c ct
パターンpは,内容種別cをもつことを意味する。
o) ncorrectSchema()
スキーマが正しくないことを意味する。
4.2.3 式 次の表記は,命題中の式を示す。
a) ame(u, ln)
URI u及び局所名lnをもつ名前を返す。
b) 1, m2
列m 1及び列m2を連結したものを返す。
c) 1 + a2
a1及びa2の和集合を返す。
d) ( )
空の列を返す。
e) [{}]

――――― [JIS X 4177-2 pdf 8] ―――――

6
X 4177-2 : 2005 (ISO/IEC 19757-2 : 2003)
空の集合を返す。
f) ""
空の文字列を返す。
g) ttribute(n, s)
名前n及び値sをもつ属性を返す。
h) lement(n, cx, a, m)
名前がnで,文脈がcxで,(一般に複数の)属性がaで,(一般に複数の)子が混在列mである要素
を返す。
i) max(ct1, ct2)
ct1及びct2の大きい方を返す。ここで,内容種別はempty( ), complex( ), simple( )の順に大きいとす
る。
j) normalizeWhiteSpace(s)
文字列sの先頭及び末尾にある空白文字を取り除き, それ以外の空白文字の列を単一のスペース文字
に置き換えたものを返す。
k) plit(s)
空白によってsを幾つかのトークンに区切り,それらのトークン(文字列)からなる列を返す。返さ
れた列に含まれる各文字列は,空ではなく空白を含まない。
l) context(u, cx)
cxと同一だが,デフォルトの名前空間がuである点だけが異なる文脈を返す。uが空文字列の場合は,
構築された文脈はデフォルト名前空間をもたない。
m) mpty( )
empty内容種別を返す。
n) omplex( )
complex内容種別を返す。
o) imple( )
simple内容種別を返す。
p) パターンを表す開始タグの中の[cx]
そのパターン要素の文脈を返す。

5. データモデル

 RELAX NGでは,スキーマ及びインスタンスのどちらを表現するXML文書も抽象デ
ータモデルによって扱う。スキーマ及びインスタンスを表現するXML文書は,JIS X 4159に適合する整
形式でなければならず,W3C XML-Namesの制約に適合しなければならない。
XML文書は,要素によって表現される。要素は,次のものから成る。
a) 名前
b) 文脈
c) 属性の集合
d) 0個以上の子の順序付き並び。どの子も,要素又は空でない文字列のどちらかとし,並びの中に二つ
の文字列が続いて現れてはならない。
名前は,次のものから成る。
a) 名前空間URIを表す文字列。空文字列は,特別な意味をもち,名前空間がないことを表す。

――――― [JIS X 4177-2 pdf 9] ―――――

                                                                                              7
X 4177-2 : 2005 (ISO/IEC 19757-2 : 2003)
b) 局所名を表す文字列。この文字列は,W3C XML-NamesのNCName生成規則とマッチする。
文脈は,次のものから成る。
a) 基底URI
b) 名前空間対応付け。これは,接頭辞を名前空間URIに対応付ける。さらにデフォルト名前空間URI
(xmlns属性によって宣言されるもの。)を指定してもよい。
属性は,次のものから成る。
a) 名前
b) 値を表す文字列
文字列は0個以上の文字の並びから成り,文字はJIS X 4159において定義される。
XML文書のための要素は,次に示すとおりにW3C XML-Infosetのインスタンスから構成される。情報
項目の x特性の値を参照するために,記法 [x]を用いる。要素を文書情報項目から構成するには,[document
element]から要素を構成する。要素を要素情報項目から構成するには,名前を[namespace name]及び[local
name]から構成し,文脈を[base URI]及び[in-scope namespaces]から構成し,(一般に複数の)属性を[attributes]
から構成し,(一般に複数の)子を [children]から構成する。要素の(一般に複数の)属性を属性情報項目
の順序なし集合から構成するには,各属性情報項目から属性を構成することを繰り返す。要素の(一般に
複数の)子を子情報項目のリストから構成するには,まず要素情報項目及び文字情報項目以外の情報項目
を削除し,次にリストの中の各要素情報項目から要素を構築し, 連続する文字情報項目をできるだけ連結
することによって文字列を構成する。属性を属性情報項目から構成するには,名前を[namespace name]及び
[local name]から構成し,値を[normalized value]から構成する。 要素及び属性の名前を[namespace name]及
び[local name]から構成するとき,[namespace name]特性が存在しない場合には,空の文字列及び[local name]
から構成する。文字列を文字情報項目の並びから構成するには,各文字情報項目の[character code]から文字
を構成することを繰り返す。
単一のXML文書について複数の異なる情報集合が存在する可能性がある。これは,すべてのDTD宣言
を処理し,すべての外部解析対象実体を展開することが,XMLパーサに義務付けられていないことによる。
これらの複数の情報集合の中には,[all declarations processed]が真であって,未拡張実体参照情報項目を全
く含まない情報集合が正確に一つだけ存在する。この情報集合を,RELAX NGデータモデルを定義するた
めの基礎とする。

6. 完全な構文

 拡張BNFで書かれた次の文法は,RELAX NGの構文を要約する。ここでの記法は,
RELAX NGスキーマをXMLで表現したものを,文字の並びとして扱う。しかし,文法はデータモデルレ
ベルのものとする。例えば,ここでの構文は<text/>を用いているが,インスタンス又はスキーマでは
<text></text>を代わりに使用できる。これは,データモデルレベルでは,どちらも同じ要素を表すことに
よる。この文法に示されるすべての要素は,次に示す名前空間URIで修飾される。
http://relaxng.org/ns/structure/1.0
記号QName及びNCNameは,W3C XML-NAMESにおいて定義される。anyURI記号は,文字列であっ
て,許可されない値を W3C XLINKの5.4 に示すとおりに別扱いすると,IETF RFC 2396(これはIETF
RFC 2732によって修正されている。)において定義されるURI参照となるものを示す。記号stringは,ど
んな文字列ともマッチする。

――――― [JIS X 4177-2 pdf 10] ―――――

次のページ PDF 11

JIS X 4177-2:2005の引用国際規格 ISO 一覧

  • ISO/IEC 19757-2:2003(IDT)

JIS X 4177-2:2005の国際規格 ICS 分類一覧

JIS X 4177-2:2005の関連規格と引用規格一覧

規格番号
規格名称