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

4
X 4177-7 : 2011 (ISO/IEC 19757-7 : 2009)
リを記述する助けとなる。核は,レパートリに確実に含まれている文字を指定するために用
い,殻は外側の境界を指定するために用いる。非確定レパートリの例は,B.4にある。
注記3 この規格は,文字の集合を扱うことはできるが,文字の並びの集合を扱うことはできない。
言い換えれば,CREPDLスキーマは,ある結合文字を特定の基底文字の直後に限って許すと
いう指定はできない。同様に,CREPDLスキーマは名付けられた列(named sequence)を扱
うことはできず,名付けられた列に現れる文字を扱うことしかできない。実装を極めて容易
にするので,この規格にはこの制限が必要であると考えられている。
注記4 核にあるいずれかの文字を許さない殻を指定することは可能であるが推奨はしない。文字が
レパートリ中に存在する条件は,殻に言及していないことに注意されたい。

6 構文

6.1 一般

  CREPDLスキーマは,6.2のRELAX NG(ISO/IEC 19757-2参照)スキーマを参照する6.3のNVDL(JIS
X 4177-4参照)スクリプトに対して妥当なXML文書(W3C XML参照)とする。このRELAX NGスキー
マが許容する要素は,http://purl.oclc.org/dsdl/crepdl/ns/structure/1.0名前空間(W3C XML-NAMES参照)に
属さなければならない。char要素,kernel要素,及びhull要素の文字内容についての更なる制約を6.4に
示す。
注記1 W3C XML 1.1[6]は,CREPDLスキーマを表現するために使用してはならない。
注記2 W3C XML勧告では,XML文書に現れる文字はU+0009(水平タブ),U+000A(改行),U+000D
(復帰),U+0020からU+D7FFまでの範囲の文字,U+E000からU+FFFDまでの範囲の文字,
又はU+10000からU+10FFFFまでの範囲の文字と規定されている。言い換えると,XML文
書はU+0000,U+0001,U+0002,U+0003,U+0004,U+0005,U+0006,U+0007,U+0008,
U+000B,U+000C,U+000E,U+000F,U+0010,U+0011,U+0012,U+0013,U+0014,U+0015,
U+0016,U+0017,U+0018,U+0019,U+001A,U+001B,U+001C,U+001D,U+001E,及び
U+001Fを含むことはできない。CREPDLスキーマはXML文書として表現されるので,これ
らの文字がCREPDLスキーマに直接出現することはできない。

6.2 RELAX NGスキーマ

  #$Id: crepdl.rnc 5 2009-05-02 09:48:49Z makoto $
#
# The following permission notice and disclaimer shall be included in all
# copies of this schema ("the Schema"), and derivations of the Schema:
#
# Permission is hereby granted, free of charge in perpetuity, to any
# person obtaining a copy of the Schema, to use, copy, modify, merge and
# distribute free of charge, copies of the Schema for the purposes of
# developing, implementing, installing and using software based on the
# Schema, and to permit persons to whom the Schema is furnished to do so,
# subject to the following conditions:

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

                                                                                              5
X 4177-7 : 2011 (ISO/IEC 19757-7 : 2009)
#
# THE SCHEMA IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SCHEMA OR THE USE OR
# OTHER DEALINGS IN THE SCHEMA.
#
# In addition, any modified copy of the Schema shall include the following
# notice:
#
# THIS SCHEMA HAS BEEN MODIFIED FROM THE SCHEMA DEFINED IN ISO/IEC 19757-7,
# AND SHOULD NOT BE INTERPRETED AS COMPLYING WITH THAT STANDARD.
default namespace = "http://purl.oclc.org/dsdl/crepdl/ns/structure/1.0"
start = coll
coll =
union | intersection | difference | ref | repertoire | char
union = element union [{ commonAtts, coll+}]
intersection = element intersection [{ commonAtts, coll+}]
difference = element difference [{ commonAtts, coll+}]
ref =
element ref [{
commonAtts,
attribute href [{ xsd:anyURI}]
}]
repertoire =
element repertoire [{
commonAtts,
attribute registry [{ text}],
attribute version [{ text}]・,
(attribute name [{ text}] | attribute number [{xsd:int}]}]
char =
element char [{
commonAtts,
(text
| element kernel [{ commonAtts, text}]
| element hull [{ commonAtts, text}]
| (element kernel [{ commonAtts, text}],

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

6
X 4177-7 : 2011 (ISO/IEC 19757-7 : 2009)
element hull [{ commonAtts, text}]))
}]
commonAtts =
attribute minUcsVersion [{ text}]・,
attribute maxUcsVersion [{ text}]・
# Note that xml:id is allowed, since any foreign attribute is
# allowed by the NVDL script.

6.3 NVDLスクリプト

  <・xml version="1.0" encoding="UTF-8"・>
<!-- $Id: crepdl.nvdl 5 2009-05-02 09:48:49Z makoto $ -->
<!--
The following permission notice and disclaimer shall be included in all
copies of this schema ("the Schema"), and derivations of the Schema:
Permission is hereby granted, free of charge in perpetuity, to any
person obtaining a copy of the Schema, to use, copy, modify, merge and
distribute free of charge, copies of the Schema for the purposes of
developing, implementing, installing and using software based on the
Schema, and to permit persons to whom the Schema is furnished to do so,
subject to the following conditions:
THE SCHEMA IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SCHEMA OR THE USE OR
OTHER DEALINGS IN THE SCHEMA.
In addition, any modified copy of the Schema shall include the following
notice:
THIS SCHEMA HAS BEEN MODIFIED FROM THE SCHEMA DEFINED IN ISO 19757-7,
AND SHOULD NOT BE INTERPRETED AS COMPLYING WITH THAT STANDARD.
-->
<rules xmlns="http://purl.oclc.org/dsdl/crepdl/ns/structure/1.0">
<namespace ns="http://purl.oclc.org/dsdl/crepdl/ns/structure/1.0">
<validate schema="crepdl.rnc"
schemaType="application/relax-ng-compact-syntax">
<mode>
<anyNamespace match="elements">
<allow/>
</anyNamespace>

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

                                                                                              7
X 4177-7 : 2011 (ISO/IEC 19757-7 : 2009)
<namespace ns="" match="attributes">
<attach/>
</namespace>
<anyNamespace match="attributes">
<allow/>
</anyNamespace>
</mode>
</validate>
</namespace>
</rules>
注記 このNVDLスクリプトは,外来の要素及び属性をどの要素にも許す。

6.4 文字クラス

  char要素,kernel要素,及びhull要素の文字内容は,文字の集合を定義する正規表現とする。
この正規表現は,W3C XML Schema Part 2で指定されるcharClassと一致する。
注記1 この規格は,文字列の集合ではなく文字の集合を記述するために正規表現を用いているので,
正規表現はChars 及びcharClassに制限されている。
注記2 次の規則は,W3C XML Schema Part 2から参考として転記したものである。[29][37]の意
味は,Unicodeの版によって変わる。
[10] Char ::= [^.\・*+()|#x5B#x5D]
::= charClassEsc | charClassExpr | WildcardEsc
[11] charClass
[12] charClassExpr ::= '[' charGroup ']'
[13] charGroup ::= posCharGroup | negCharGroup | charClassSub
[14] posCharGroup ::= ( charRange | charClassEsc )+
[15] negCharGroup ::= '^' posCharGroup
[16] charClassSub ::= ( posCharGroup | negCharGroup )
'-' charClassExpr
[17] charRange ::= seRange | XmlCharIncDash
[18] seRange ::= charOrEsc '-' charOrEsc
[20] charOrEsc ::= XmlChar | SingleCharEsc
[21] XmlChar ::= [^\#x2D#x5B#x5D]
[22] XmlCharIncDash ::= [^\#x5B#x5D]
[23] charClassEsc ::= ( SingleCharEsc | MultiCharEsc
| catEsc | complEsc )
[24] SingleCharEsc ::= '\' [nrt\|.・*+()[{}]#x2D#x5B#x5D#x5E]
[25] catEsc ::= '\p[{' charProp '}]'
[26] complEsc ::= '\P[{' charProp '}]'
[27] charProp ::= IsCategory | IsBlock
[28] IsCategory ::= Letters | Marks | Numbers

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

8
X 4177-7 : 2011 (ISO/IEC 19757-7 : 2009)
| Punctuation | Separators | Symbols | Others
[29] Letters ::= 'L' [ultmo]・
[30] Marks ::= 'M' [nce]・
[31] Numbers ::= 'N' [dlo]・
[32] Punctuation ::= 'P' [cdseifo]・
[33] Separators ::= 'Z' [slp]・
[34] Symbols ::= 'S' [mcko]・
[35] Others ::= 'C' [cfon]・
[36] IsBlock ::= 'Is' [a-zA-Z0-9#x2D]+
[37] MultiCharEsc ::= '\' [sSiIcCdDwW]
[37a] WildcardEsc::= '.'
注記3 W3C REC-xpath-functions[4]は,W3C XML Schema Part 2にある正規表現の定義を拡張してい
るため,W3C REC-xpath-functions[4]におけるChars 及びcharClass,並びにW3C XML Schema
Part 2におけるChars及びcharClassは三つの点で異なる。第一に,W3C REC-xpath-functions[4]
におけるcharClassは\^及び\$をSingleCharEscとして許しているが,W3C XML Schema Part
2におけるcharClassは許していない。第二に,W3C XML Schema Part 2におけるCharは$及
び^を許しているが,W3C REC-xpath-functions[4]におけるCharは許していない。第三に,W3C
XML Schema Part 2におけるChar(生成規則[10])は,左中括弧([{)及び右中括弧(}])を
禁止していないという既知の誤りがあるが,W3C REC-xpath-functions[4]におけるCharはこれ
らを禁止している。
W3C REC-xpath-functions[4]の正規表現の実装は,Charとして現れる$(例えば<kernel>$</kernel>)も^も
ない限り,char要素,kernel要素,及びhull要素の内容を安全に扱うことができる。

7 意味

7.1 一般

  箇条7では,CREPDL要素の意味を三つの記法,すなわちin(x, A), not-in(x, A),又はunknown(x, A)を用
いて指定する。ここでxは文字,AはCREPDL要素とする。これらの記法は,箇条4において導入されて
いる。

7.2 char

  最初に,char要素,kernel要素,及びhull要素中に現れる正規表現の意味は,W3C XML Schema Part 2
に規定されているとおりとする。
注記1 W3C XML Schema Part 2の正規表現は,UTS #18[7]にあるLevel-1適合性要件を満たさないの
で,この規格の実装はUTS #18[7]に適合しない。
<char> ...</char>の意味を次に定義する。
a) 場合1 : char要素はkernel要素もhull要素も子要素としてもたない。
この要素の文字内容と同一の内容をもつkernel要素及びhull要素をこの要素はもっているとみなす。
その後は場合4と同様とする。
b) 場合2 : repertoire 要素はkernel要素をもつが,hull要素をもたない。

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

次のページ PDF 11

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

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

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

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