JIS X 4177-7:2011 文書スキーマ定義言語(DSDL)―第7部:文字レパートリ記述言語(CREPDL) | ページ 3

                                                                                              9
X 4177-7 : 2011 (ISO/IEC 19757-7 : 2009)
1) n(x, <repertoire> ... </repertoire>) は,kernel要素の内容として指定した正規表現にxが合致する場合
に成立する。
2) ot-in(x, <repertoire> ... </repertoire>)は決して成立しない。
3) nknown(x, <repertoire> ... </repertoire>)は,kernel要素の内容として指定した正規表現にxが合致し
ない場合に成立する。
c) 場合3 : 与えられたrepertoire 要素はhull要素をもつが,kernel要素をもたない。
1) n(x, <repertoire> ... </repertoire>)は決して成立しない。
2) ot-in(x, <repertoire> ... </repertoire>)は,hull要素の内容として指定した正規表現にxが合致しない場
合に成立する。
3) nknown (x, <repertoire> ... </repertoire>)は,hull要素の内容として指定した正規表現にxが合致する
場合に成立する。
d) 場合4 : 与えられたrepertoire 要素はhull要素及びkernel要素をもつ。
1) n(x, <repertoire> ... </repertoire>)は,kernel要素の内容として指定した正規表現にxが合致する場合
に成立する。
2) ot-in(x, <repertoire> ... </repertoire>) は,kernel要素の内容として指定した正規表現にxが合致せず,
hull要素の内容として指定された正規表現にxが合致しない場合に成立する。
3) nknown(x, <repertoire> ... </repertoire>)は,kernel要素の内容として指定した正規表現にxが合致せ
ず,hull要素の内容として指定された正規表現にxが合致する場合に成立する。
正規表現の意味は,Unicode標準の版に依存する。CREPDLスキーマの作成者は,minUcsVersion属性及
びmaxUcsVersion属性を指定して,どの版を意図しているかを示すことができる。
例 <repertoire minUcsVersion="4.0" maxUcsVersion="4.0">\p[{Nd}]<repertoire>は,Unicode Version 4.0に
おけるカテゴリNdの文字からなる集合を表す。
注記2 この二つの属性値の間の全ての版が,全ての文字について同一の特性を指定しているという
保証はない。しかし,スキーマ作成者は,相違を受け入れるものとみなされる。
CREPDLプロセサがこの二つの間の版を使用することができない場合,エラーを報告することが望まし
く,正常な処理を止めてもよい。
char要素が明示的にminUcsVersion属性を指定しない場合,この属性をもつ最も近い祖先要素を探索す
る。見つかる場合は,その属性値を使用する。見つからない場合,Unicode標準の版についての下限はな
い。同じ手続がmaxUcsVersionにも当てはまる。

7.3 union

  最初に,子要素A及びBを含む<union>A B</union>の意味を規定する。文字がこのunion要素によって
記述されるレパートリに存在するのは,Aによって記述されるレパートリに存在するとき,又はBによっ
て記述されるレパートリに存在するときとする。文字がこのunion要素によって記述されるレパートリに
存在しないのは,Aによって記述されるレパートリにもBによって記述されるレパートリにも存在しない
ときとする。
a) n(x, <union>A B</union>)が成立するのは,in(x, A)又はin(x, B)が成立するときとする。
b) ot-in(x, <union>A B</union>)が成立するのは,not-in(x, A)及びnot-in(x, B)が成立するときとする。
c) nknown(x, <union>A B</union>)が成立するのは,それ以外のときとする。

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

10
X 4177-7 : 2011 (ISO/IEC 19757-7 : 2009)
union要素がただ一つの子要素をもつ場合,子要素と同じ意味をもつ。union要素が三つ以上の子要素を
もつ場合,<union>A B</union>と同一の意味をもつ。ここで,Aは最初の子要素であり,Bは他の子要素
全てをunionでまとめたものとする。

7.4 intersection

  最初に,子要素A及びBを含む<intersection>A B</intersection>の意味を規定する。文字がこのintersection
要素によって記述されるレパートリに存在するのは, Aによって記述されるレパートリに存在し,かつ,
Bによって記述されるレパートリにも存在するときとする。文字がこのintersection要素によって記述され
るレパートリに存在しないのは,Aによって記述されるレパートリに存在しないとき,又はBによって記
述されるレパートリに存在しないときとする。
a) n(x, <intersection>A B</intersection>)が成立するのは,in(x, A)及びin(x, B)が成立するときとする。
b) ot-in(x, <intersection>A B</intersection>) が成立するのは,not-in(x, A)又はnot-in(x, B)が成立するとき
とする。
c) nknown(x, < intersection >A B</ intersection >)が成立するのは,それ以外のときとする。
intersection 要素がただ一つの子要素をもつ場合は,子要素と同じ意味をこのintersection 要素はもつ。
intersection要素が三つ以上の子要素をもつ場合,<intersection>A B</intersection>と同一の意味をもつ。ここ
で,Aは最初の子要素であり,Bは他の子要素全てをintersectionでまとめたものとする。

7.5 difference

  最初に,子要素A及びBを含む<difference>A B </difference>の意味を規定する。文字がこのdifference
要素によって記述されるレパートリに存在するのは,Aによって記述されるレパートリには存在するが,
Bによって記述されるレパートリには存在しないときとする。文字がこのdifference要素によって記述され
るレパートリに存在するのは,Aによって記述されるレパートリに存在しないとき,又はBによって記述
されるレパートリに存在するときとする。
a) n(x, <difference>A B</difference>)が成立するのは,in(x, A)及びnot-in(x, B)が成立するときとする。
b) ot-in(x, <difference>A B</difference>)が成立するのは,not-in(x, A)又はin(x, B)が成立するときとする。
c) nknown(x, <difference>A B</difference>)が成立するのは,それ以外のときとする。
difference要素がただ一つの子要素をもつ場合,子要素と同じ意味をもつ。difference要素が三つ以上の
子要素をもつ場合,<difference>A B </difference>と同一の意味をもつ。ここで,Aは最初の子要素であり,
Bは他の子要素全てをunionでまとめたものとする。

7.6 ref

  <ref href="iri"/>の意味を定義する。ここでiriは,IETF RFC 3987で規定されるIRIとする。最初に,iri
を参照してCREPDLスキーマSを得るものとする。iriによる参照が成功しない場合(例えば,ネットワ
ークの誤り。),CREPDLプロセサは誤りを報告することが望ましい。正常な処理を終了してもよく,
"unknown"が成立すると仮定して正常な処理を継続してもよい。iriによる参照が成功する場合,意味を次
のとおりに定義する。
a) n(x,<ref href=" iri "/>)が成立するのは,in(x,S)が成立するときとする。
b) ot-in(x,<ref href=" iri "/>)が成立するのは,not-in(x,S)が成立するときとする。
c) nknown(x,<ref href=" iri "/>)が成立するのは,unknown(x,S)が成立するときとする。

7.7 repertoire

  repertoire要素は,何らかの登録簿にあるレパートリを参照する。registry属性は,登録簿を指定する。name
属性又はnumber属性は,それぞれ名前又は数によってレパートリを指定する。

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

                                                                                             11
X 4177-7 : 2011 (ISO/IEC 19757-7 : 2009)
a) egistry属性の値が"10646"である場合,ISO/IEC 10646の附属書Aで指定された組を参照する。
b) egistry属性の値が"CLDR"である場合,CLDR登録簿のロケールを参照する。version属性が存在すれ
ば,その値(例えば"1.6")がCLDR登録簿の版を指定する。どのロケールについても,CLDRから生
成されたPOSIXソースファイルが存在する。そのLCCTYPEフィールドに,このロケールにおける
全ての文字の一覧がある。number属性は無視される。
c) egistry属性の値が"IANA"である場合,IANAのcharset登録簿(IANA Charsets)に登録されたcharsetを
参照する。name属性は名前(name)又は別名(alias)を指定し,number属性はMIBenumを指定する。
d) そうでない場合,この規格は,意味を定義しない。
CREPDLプロセサは,repertoire要素によって指定されたレパートリを認識する必要はない。しかし,指
定されたレパートリをCREPDLプロセサが認識しない場合,エラーを報告することが望ましい。正常な処
理を中止してもよく,"unknown"が成立すると仮定して正常な処理を継続してもよい。
注記 repertoire要素によって指定されたレパートリが認識される場合にも,登録簿は常に変わり続け
るため,CREPDLプロセサによって報告結果が異なることがある。

8 検証

  CREPDLプロセサは,CREPDLスキーマに照らして文字を検証する計算機プログラムとする。
CREPDLスキーマが正しくない場合,CREPDLプロセサは誤りを報告して停止しなければならない。
文字及び正確なCREPDLスキーマを与えられて,CREPDLプロセサは"in","not-in",又は"unknown"を
報告しなければならない。
文字列及び正確なCREPDLスキーマを与えられて,CREPDLプロセサは,最初に文字列を文字の並びへ
と分解し,次に文字を順に検査し,"in","not-in",又は"unknown"を報告しなければならない。

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

12
X 4177-7 : 2011 (ISO/IEC 19757-7 : 2009)
附属書A
(参考)
適合するプロセサの差異
適合するCREPDLプロセサであっても,プロセサごとに結果が違うのは次の場合に限る。
a) 場合1 : IRIによる参照は失敗するかもしれない。しかし,適合するCREPDLプロセサの処理結果は
この失敗によって安全な方にしか変わらないことを意図してCREPDLの意味は定義されている。言い
換えれば,失敗することなく"not-in"又は"unknown"が報告される場合,失敗のために"in"が報告される
ことはない。同様に,失敗することなく"in"又は"unknown"が報告される場合,失敗のために"not-in"
が報告されることはない。
b) 場合2 : 正規表現の意味はUnicodeバージョンによって変わる。したがって,適合するCREPDLプロ
セサによっては,全く異なった動作をするかもしれない。例えば,あるプロセサは"in"を報告し,別
のプロセサは"not-in"を報告するかもしれない。
c) 場合3 : repertoire要素によって指定されたレパートリは,CREPDLプロセサによっては認識されない
かもしれない。さらに,レパートリが認識される場合にも,CREPDLプロセサによってはレパートリ
の解釈が異なるかもしれない。
d) 場合4 : CREPDLプロセサがCREPDLスキーマ及び文字又は文字の並びを受け取る前に,文字正規化
(UAX #15[8]参照)が適用されることがある。文字正規化によって,適合する二つのCREPDLプロセ
サが著しく異なる振る舞いを示すことがある。

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

                                                                                             13
X 4177-7 : 2011 (ISO/IEC 19757-7 : 2009)
附属書B
(参考)
CREPDLスキーマの例
B.1 ISO/IEC 8859-6
ISO/IEC 8859-6[1]のレパートリは,次のCREPDLスキーマで表現される。
<union xmlns="http://purl.oclc.org/dsdl/crepdl/ns/structure/1.0">
<char>\p[{IsBasicLatin}]</char>
<char
>[&#xA0;&#xA4;&#xAD;&#x60C;&#x61B;&#x61F;&#x621;-&#x63A;&#x640;-&#x652;]</char>
</union>
注記 \p[{IsBasicLatin}]は,W3C XML Schema Part 2によって指定されたブロックエスケープであ
る。
等価なスキーマを次に示す。
<union xmlns="http://purl.oclc.org/dsdl/crepdl/ns/structure/1.0">
<char>\p[{IsBasicLatin}]</char>
<char>[&#xA0;]</char>
<char>[&#xA4;]</char>
<char>[&#xAD;]</char>
<char>[&#x60C;]</char>
<char>[&#x61B;]</char>
<char>[&#x61F;]</char>
<char>[&#x621;-&#x63A;]</char>
<char>[&#x640;-&#x652;]</char>
</union>
もう一つの方法は,IANA登録簿を利用することである。
<repertoire xmlns="http://purl.oclc.org/dsdl/crepdl/ns/structure/1.0"
registry="IANA" name="ISO8859-6:1987" />
B.2 ISO/IEC 8859-15
ISO/IEC 8859-15[2]は,次のCREPDLスキーマで表現される。
<union xmlns="http://purl.oclc.org/dsdl/crepdl/ns/structure/1.0">

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

次のページ PDF 16

JIS X 4177-7:2011の引用国際規格 ISO 一覧

  • ISO/IEC 19757-7:2009(IDT)

JIS X 4177-7:2011の国際規格 ICS 分類一覧

JIS X 4177-7:2011の関連規格と引用規格一覧