X 0138-1:2004 (ISO/IEC 15475-1:2002)
(1)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
まえがき
この規格は,工業標準化法に基づき,日本工業標準調査会の審議を経て,経済産業大臣が制定した日本
工業規格である。
制定に当たっては,日本工業規格と国際規格との対比,国際規格に一致した日本工業規格の作成及び日
本工業規格を基礎にした国際規格原案の提案を容易にするため,ISO/IEC 15475-1:2002,Information
technology−CDIF transfer format−Part 1: General rules for syntaxes and encodingsを基礎として用いた。この
規格の一部が,技術的性質をもつ特許権,出願公開後の特許出願,実用新案権,又は出願公開後の実用新
案登録出願に抵触する可能性があることに注意を喚起する。経済産業大臣及び日本工業標準調査会は,こ
のような技術的性質をもつ特許権,出願公開後の特許出願,実用新案権,又は出願公開後の実用新案登録
出願にかかわる確認について,責任はもたない。
JIS X 0138-1には,次に示す附属書がある。
附属書A(規定) 転送ヘッダ形式文法
附属書B(参考) SQL BNF規則
JIS X 0138の規格群は,次に示す部編成からなる。
JIS X 0138-1 第1部:構文及び符号化の一般規則
JIS X 0138-2 第2部:構文SYNTAX.1
JIS X 0138-3 第3部:符号化ENCODING.1
X 0138-1:2004 (ISO/IEC 15475-1:2002)
(2)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
目 次
ページ
序文 ··································································································································· 1
1. 適用範囲 ························································································································ 1
2. 適合性 ··························································································································· 2
3. 引用規格 ························································································································ 3
4. 定義 ······························································································································ 3
4.1 他の規格からの定義 ······································································································· 3
4.1.1 JIS X 0137-1からの定義 ································································································ 3
4.1.2 ISO/IEC 13238-1からの定義 ·························································································· 4
4.2 (削除) ······················································································································ 4
5. 記号 ······························································································································ 4
5.1 命名法及び図式記法 ······································································································· 4
5.2 BNFの規則 ··················································································································· 4
5.3 略語 ···························································································································· 5
6. CDIF転送の概念及び機能 ································································································· 5
6.1 構文及び符号化の分離 ···································································································· 5
6.2 アーキテクチャ構成要素の独立性······················································································ 5
6.3 データ型 ······················································································································ 5
6.4 文字集合 ······················································································································ 5
7. CDIF転送の一般構造 ······································································································· 6
7.1 導入 ···························································································································· 6
7.2 転送ヘッダ ··················································································································· 6
7.2.1 導入 ·························································································································· 6
7.2.2 CDIF署名 ·················································································································· 7
7.2.3 構文識別子 ················································································································· 7
7.2.4 符号化識別子 ·············································································································· 7
7.2.5 文字集合識別子 ··········································································································· 8
7.2.6 転送ヘッダの例 ··········································································································· 8
7.3 転送内容 ······················································································································ 8
7.3.1 導入 ·························································································································· 8
7.3.2 ヘッダ部 ···················································································································· 8
7.3.3 メタモデル部 ·············································································································· 9
7.3.4 モデル部 ··················································································································· 10
附属書A(規定)転送ヘッダ形式文法 ····················································································· 11
附属書B(参考)SQL BNF規則 ····························································································· 13
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
日本工業規格 JIS
X 0138-1:2004
(ISO/IEC 15475-1:2002)
CASEデータ交換形式−CDIF転送形式−
第1部:構文及び符号化の一般規則
CASE data interchange format−CDIF transfer format−
Part 1: General rules for syntaxes and encodings
序文 この規格は,2002年に第1版として発行されたISO/IEC 15475-1:2002, Information technology−
CDIF transfer format―Part 1: General rules for syntaxes and encodingsを翻訳し,技術的内容及び規格票の様式
を変更することなく作成した日本工業規格である。
なお,この規格で点線の下線を施してある“参考”は,原国際規格にはない事項である。
1. 適用範囲 CDIF規格群は,主としてモデル化ツール間の情報転送のための機構を記述するように設
計された。CDIFを用いれば,移入側と移出側との双方のツールの開発者が,CDIFに適合するという合意
以外には何も共有しないときでも,容易に転送を成功させる。転送形式を規定するための言語は,リポジ
トリの移入/移出のための一般言語として用いることもできる。モデル化ツールを規定するためのCDIF
意味メタモデルは,リポジトリで用いられる標準記述の基礎として利用できる。
完全なCDIF規格を構成する規格群は,JIS X 0137-1(CASEデータ交換形式−CDIFフレームワーク−
第1部:概要)に示されている。これらの規格群は全体的なフレームワーク,転送形式及びCDIF意味メ
タモデルを網羅する。
CDIF意味メタモデル (ISO/IEC 15476)
CDIFフレームワーク (JIS X 0137)
第1部:概要 (JIS X 0137-1)
第2部:モデル化及び拡張性
(JIS X 0137-2)
第1部:基盤 (ISO/IEC 15476-1)
第2部:共通 (ISO/IEC 15476-2)
第3部:データ定義
(ISO/IEC 15476-3)
第4部:データモデル
(ISO/IEC 15476-4)
第5部:データ流れモデル
(ISO/IEC 15476-5)
第6部:状態事象モデル
(ISO/IEC 15476-6)
CDIF転送形式 (JIS X 0138)
第1部:構文及び符号化の一般規則
(JIS X 0138-1)
第2部:構文SYNTAX.1
(JIS X 0138-2)
第3部:符号化ENCODING.1
(JIS X 0138-3)
図 1 CDIF規格群
2
X 0138-1:2004 (ISO/IEC 15475-1:2002)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
図1は,CDIF規格群を構成する種々の規格を示す。網掛け部分は,この規格のCDIF規格群の中での位
置を示す。
この規格は,CDIFメタモデルが転送において具体的に記述する方法及びCDIFが複数の交換構文と複数
の交換符号化とを支援する方法を規定する。この規格は,特定の交換構文又は交換符号化を規定しない。
JIS X 0138-2(CASEデータ交換形式−CDIF転送形式−第2部:構文SYNTAX.1)とJIS X 0138-3(CASE
データ交換形式−CDIF転送形式−第3部:符号化ENCODING.1)とが特定のCDIF構文とCDIF符号化と
をそれぞれ規定している。
この規格は,CDIFを理解し及び/又は使用したいと希望する人に使われることを意図している。この
規格は,CDIF転送規格群全体への導入部を提供し,次の人々の利用に適している。
− CDIFを評価する人
− CDIF転送の概念及び原理を理解したいと希望する人
− CDIF移入ツール及びCDIF移出ツールを開発する人
JIS X 0137-1及びJIS X 0137-2(CASEデータ交換形式−CDIFフレームワーク−第2部:モデル化及び拡
張性)は,CDIF規格群を最初に調査するとき,他のCDIF規格を読む前に最初に読むことが望ましい。
この規格を読むに当たっては,特定の前提知識を必要としないが,次の各事項を理解することが読者の
助けになる。
− 実体関係属性モデル化(Entity-Relationship-Attribute modelling)
− モデル化(CASE)ツール
− 情報リポジトリ
− データ辞書
− 多重メタ階層モデル化
− 形式文法
− 転送形式
備考 この規格の対応国際規格を,次に示す。
なお,対応の程度を表す記号は,ISO/IEC Guide 21に基づき,IDT(一致している),MOD
(修正している),NEQ(同等でない)とする。
ISO/IEC 15475-1:2002,Information technology−CDIF transfer format−Part 1: General rules for
syntaxes and encodings (IDT)
2. 適合性 ある製品がこの規格の附属書Aに示すすべての規定及び規則に従い,JIS X 0137-1の2.で規
定するCDIFアーキテクチャに適合する場合に限り,その製品は,CDIF転送形式一般規則の規格に適合す
る。製品は,転送形式一般規則の規格への適合性あり又は適合性なしのいずれかとなる。CDIF転送形式
一般規則の一部を規定する規格に対する部分規格適合は,規定しない。
ある製品がJIS X 0138-3の附属書Aに規格適合し,かつ,JIS X 0138-2にも適合する場合に限り,その
製品は,CDIF符号化規格に規格適合する。ある製品がJIS X 0138-2の附属書Aに適合する場合に限り,
その製品は,CDIF構文規格に適合する。
3
X 0138-1:2004 (ISO/IEC 15475-1:2002)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
3. 引用規格 次に掲げる規格は,この規格に引用されることによって,この規格の規定の一部を構成す
る。これらの引用規格は,発効年又は発行年を付記してあるものは,記載の年の版だけがこの規格を構成
するものであって,その後の改正版・追補には適用しない。発効年を付記していない引用規格は,その最新
版を適用する。
JIS X 0137-1:2003 CASEデータ交換形式−CDIFフレームワーク−第1部:概要
備考 ISO/IEC 15474-1:2002 Information technology−CDIF framework−Part 1:Overview が,この規
格と一致している。
JIS X 0137-2:2003 CASEデータ交換形式−CDIFフレームワーク−第2部:モデル化及び拡張性
備考 ISO/IEC 15474-2:2002 Information technology−CDIF framework−Part 2:Modelling and
extensibility が,この規格と一致している。
ISO/IEC 9075:1992, Information technology−Database languages−SQL
備考 JIS X 3005-1:1995 データベース言語SQL 第1部:枠組(SQL/Framework)データベース言
語SQL が,この規格と一致しているが,IS及びJISともに新しい版が出版済みである。
ISO/IEC 10646-1:1993/Amd.2:1996, Information technology−Universal Multiple−Octet Coded Character
Set(UCS)−Part 1:Architecture and Basic Multilingual Plane.Amendment 2:UCS Transformation Format
8(UTF-8)
備考 JIS X 0221-1:1995 国際符号化文字集合(UCS)−第1部:体系及び基本多言語面が,この規
格と一致しているが,IS及びJISともに新しい版が出版済みである。
ISO/IEC 13238-1* Information technology−Data management export/import facilities−Part 1:
Standardization framework
注*
この規格は,国際の場で現在審議中である。
4. 定義 この規格で用いる主な用語の定義は,次による。
4.1
他の規格からの定義
4.1.1
JIS X 0137-1からの定義 この規格は,JIS X 0137-1で定義された次の用語を使用する。
CDIF (CASE Data Interchange Format)
CDIF規格群 (CASE family of standards)
CDIF図記法 (CDIF graphical notation)
CDIF識別子 (CDIF identifier)
CDIF意味メタモデル (CDIF semantic metamodel)
CDIFメタメタモデル (CDIF meta-metamodel)
CDIF転送 (CDIF transfer)
CDIF転送ファイル (CDIF transfer file)
CDIF転送形式 (CDIF transfer format)
文字集合 (character set)
符号化 (encoding)
ENCODING.1 (ENCODING.1)
インスタンス (instance)
メタ属性 (meta-attribute)
メタ実体 (meta-entity)
4
X 0138-1:2004 (ISO/IEC 15475-1:2002)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
メタモデル (metamodel)
メタオブジェクト (meta-object)
メタ関係 (meta-relationship)
モデル (model)
非終端記号 (non-terminal symbol)
生成規則 (production rule)
対象分野 (subject area)
構文 (syntax)
SYNTAX.1 (SYNTAX.1)
終端記号 (terminal symbol)
転送 (transfer)
転送形式 (transfer format)
4.1.2
ISO/IEC 13238-1からの定義 この規格は,ISO/IEC 13238-1で定義された次の用語を使用する。
転送ファイル (transfer file)
移出者 (exporter)
移入者 (importer)
4.2 (削除)
参考 原国際規格では,この規格に対する新規用語をここで定義すると規定しているが,この規格で
は新規用語を定義していないので,この項目を削除した。
5. 記号
5.1
命名法及び図式記法 CDIFにおけるすべてのメタオブジェクト及びメタメタオブジェクトの名称
は,メタオブジェクト及びメタメタオブジェクトを構成する単語をつなげたものとする。そして,各単語
の最初の文字を大文字とし,残りの文字を小文字とする(例えば,MetaAttribute,AttributeDerivation,
IsDrawnUsing,IsOptional)。
参考 この命名記法は,次期国際規格見直し時に,多バイト文字に対応する修正を実施する予定であ
る。
メタモデル及びメタメタモデルで用いられるCDIF図記法は,フレームワーク規格(JIS X 0137-2)で規
定する。
5.2
BNFの規則 転送ファイル内のデータの構造を規定し,データの並びを規定するため,拡張バッカ
スナウア形式(Backus Naur Form)(BNF)を使用する。
次に示す記号及び空白類文字は,JIS X 3005-1の6.1で規定するとおりに使用する。
シンボル
< >
::=
[ ]
{ }
|
...
!!
5
X 0138-1:2004 (ISO/IEC 15475-1:2002)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
(空白)
参考 空白類文字は,JIS X 0138-3 の6.3 で規定するように,空白,水平タブ,垂直タブ,復帰,改
行及び頁送りがあり,ここで決められたものだけを対象とする。
次に示す規則は,この規格に限定する。
<TokenName>
非終端記号を表す。太字を使用し,山括弧で囲まれた任意の文字列(ここでは
TokenName)は,構文要素であり,構文の中で規定されていないBNF非終端記号を表す。
この構文要素の詳細な表現は,符号化で規定する。
Terminal
終端記号を表す。太字を使用し,山括弧で囲まれていない任意の文字列(ここでは
Terminal)は,リテラル値(すなわち,文字列そのものを表現する。)とする。
x .. y
範囲演算子を表す。xからyまでの範囲の任意の記号を参照する。例えば,0..255は,0
以上255以下のすべての整数を参照する。
5.3
略語 この規格で用いる略語を次に示す。
BNF バッカスナウア形式 (Backus Naur Form)
CDIF CASEデータ交換形式 (CASE Data Interchange Format)
6. CDIF転送の概念及び機能
6.1
構文及び符号化の分離 CDIF転送は,異なる伝送機構(例えば,ファイル,プロセス間リンクなど)
によって扱われることを意図しているので,転送形式の構文の規定と構文の符号化との規定を分離する。
構文は,文法及び交換形式の構造を規定する。符号化は,構文を物理的にどのように表現するかを示す記
述とする。この分離は,共通の構文の使用を許すとともに,使用する伝送機構に対して最適な符号化の選
択を許す。構文と符号化との境界は,任意性が存在するため,一方の設計が他方の設計に影響を与えても
よい。
6.2
アーキテクチャ構成要素の独立性 CDIF規格群は,各転送形式が一つの構文とそれに対応する符号
化からなる多重転送形式の概念を支援する。一つの転送構文に対して,複数の符号化を使用できる。意味
(すなわち,メタモデル)は,転送形式の規定から完全に分離されている。メタモデルは,メタメタモデ
ル内で規定した概念を使用することによってだけ規定する。一般的に,メタメタモデルによって規定する
モデル化の概念のすべてを表現することができる任意の転送形式は,メタモデル内で規定するすべての情
報を交換することができ,メタモデルに適合する任意のモデルを転送できる。
CDIF規格群は,少なくとも一つの転送構文とその構文に対する一つの符号化とを与える。この規格は,
あるCDIF転送に対して規定され得る任意の構文と符号化のための一般規則とを規定する。
6.3
データ型 メタ属性は,与えられたデータ型の値をもつ。関係するメタ実体又はメタ関係のメタモ
デル記述は,そのメタ属性各々に対するデータ型を規定する。
CDIF内にはメタ属性データ型のある決められた集合が存在する。これらの型は,JIS X 0137-2の中で規
定する。CDIF転送を支援する任意の構文及び符号化は,これらのデータ型の各々が転送中にいかに現わ
れるかに対する規定を与える。
6.4
文字集合 任意の構文解析系で解釈可能とするため,転送ヘッダ(後述する7.2で規定する構文要素
<TransferHeader>)は,JIS X 0221-1の表1に示す文字だけを含む。個々の構文は,ある転送の中の文字
列又はテキストメタ属性の値に対して,転送ヘッダ内で指定された文字集合(CODESET)に含まれる文字
の使用を支援する。転送ヘッダ内に文字集合の規定がない場合は,JIS X 0221-1の基本多言語面(BMP)
の使用を前提とし,JIS X 0221-1のUCS-2符号化を文字コードとして用いる。
6
X 0138-1:2004 (ISO/IEC 15475-1:2002)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
7. CDIF転送の一般構造
7.1
導入 CDIF転送は,次に示す項目の転送を支援することを目的とする。
− 転送で使用するCDIF対象分野に対する参照
− 転送で使用するCDIFメタモデルに対する拡張
− 転送のメタモデル部の中で規定するメタ実体,メタ関係及びメタ属性
すべての転送は,一つの構文及び一つの符号化を使用して表現する。
図2にすべてのCDIF転送(CDIF transfers)の一般構造を示す。CDIF転送(CDIF transfer)は,次に示
すとおりに転送ヘッダ及び転送内容からなる。
転送ヘッダ
転送内容
ヘッダ部
メタモデル部
モデル部
CDIF
転送
図 2 CDIF転送の一般構造
CDIF転送の一般構文を次に示す。
<CDIFTransfer> ::=
<TransferHeader>
<TransferContents>
7.2
転送ヘッダ
7.2.1
導入 転送ヘッダは,CDIF署名,構文識別子,符号化識別子及び任意選択の文字集合識別子から
なる。転送ヘッダの構文を次に示す。
<TransferHeader> ::=
<CDIFSignature> <TransferHeaderComma> <SyntaxIdentifier>
<TransferHeaderComma> <EncodingIdentifier>
[ <TransferHeaderComma> <CharacterSetIdentifier> ]
転送ヘッダは,CDIF転送構文,符号化及び文字集合のすべての組合せに対して全く同一の形式をもつ
唯一の部分とする。転送ヘッダは,転送の残りの部分の中で使われる構文,符号化及び文字集合を識別す
るために使用する。転送ヘッダの形式は,例えば,転送ヘッダの中のいかなるところにも空白類文字を置
くことが許されないというように規定され,制限されている。転送ヘッダの形式を図3に示す。
7
X 0138-1:2004 (ISO/IEC 15475-1:2002)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
CDIF署名
転送ヘッダ
構文識別子
符号化識別子
文字集合識別子
図 3 転送ヘッダ
7.2.2
CDIF署名 CDIF署名は,その転送がCDIF転送であることを識別するための目印とする。CDIF
署名の構文を次に示す。
<CDIFSignature> ::=
CDIF
7.2.3
構文識別子 構文識別子の構文を次に示す。
<SyntaxIdentifier> ::=
SYNTAX <TransferHeaderSpace> <SyntaxID> <TransferHeaderSpace>
<SyntaxVersion>
<SyntaxID> ::=
<TransferHeaderString>
<SyntaxVersion> ::=
<TransferHeaderString>
<TransferHeaderString> ::= <TransferHeaderSingleQuote>
[ <TransferHeaderPrintableCharacter> ] ...
<TransferHeaderSingleQuote>
<TransferHeaderComma> ::= ,
!! A comma character defined in ISO 10646-1 Table 1 as row C column 002.
<TransferHeaderSpace> ::=
!! A space character defined in ISO 10646-1 Table 1 as row 0 column 002.
<TransferHeaderSingleQuote> ::=
'
!! A single quote defined in ISO 10646-1 Table 1 as row 7 column 002.
<TransferHeaderPrintableCharacter> ::=
0|1|2|3|4|5|6|7|8|9|-|.|:
|A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z
!! These characters are as defined in ISO 10646-1 Table 1.
構文識別子の例を次に示す。
SYNTAX 'SYNTAX.1' '15475-2:2002'
7.2.4
符号化識別子 符号化識別子の構文を次に示す。
<EncodingIdentifier> ::= ENCODING <TransferHeaderSpace> <EncodingID>
8
X 0138-1:2004 (ISO/IEC 15475-1:2002)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
<TransferHeaderSpace> <EncodingVersion>
<EncodingID> ::=
<TransferHeaderString>
<EncodingVersion> ::=
<TransferHeaderString>
符号化識別子の例を次に示す。
ENCODING 'ENCODING.1' '15475-3:2002'
7.2.5
文字集合識別子 文字集合識別子の構文を次に示す。
<CharacterSetIdentifier> ::= CODESET <TransferHeaderSpace> <CharacterSetID>
<CharacterSetID> ::=
<TransferHeaderString>
文字集合識別子の例を次に示す。
CODESET 'ISO-8859-1'
CODESET 'ISO-2022-JP'
転送ヘッダに続く転送内容は,指定した構文,符号化及び文字集合に従って符号化する。各転送構文は,
複数の符号化をもつことができる。符号化は,転送ヘッダ中の符号化識別子と文字集合識別子とによって
一意に決定する。転送構文と符号化との対は,複数の文字集合をもつことができる。
7.2.6
転送ヘッダの例 ここまでで規定した構文規則を使った完全なヘッダ記述の例を,次に示す。
CDIF,SYNTAX 'SYNTAX.1' '15475-2:2002',ENCODING 'ENCODING.1' '15475-3:2002',CODESET 'ISO-2022-JP'
参考 転送ヘッダは,一行で記述しなければならない(改行してはならない。)。また,構文に示すと
おりに必要な箇所には空白(<TransferHeaderSpace>)を挿入する(SYNTAXと'SYNTAX.1'との
間,'SYNTAX.1'と'15475-2:2002'との間など)。
7.3
転送内容
7.3.1
導入
ヘッダ部
転送内容
メタモデル部
モデル部
図 4 転送内容
転送内容は,ヘッダ部,メタモデル部及びモデル部からなる。図4に転送内容を示す。転送内容の構文
は,すべての構文規定に対して同一でなければならない。
<TransferContents> ::=
<HeaderSectionClause>
<MetaModelSectionClause>
[ <ModelSectionClause> ]
7.3.2
ヘッダ部 ヘッダ部は,転送についての情報を含む。たとえ次の情報を転送することが必す(須)
ではなくても,すべての構文規定は,少なくとも次の情報を表現するための機構を備えなければならない。
− CDIF移出ツールを識別する名称及び版
9
X 0138-1:2004 (ISO/IEC 15475-1:2002)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
− 最少でも発行者及び移出日時を含む構成管理情報
各構文規定は,CDIF移出ツールが上記のタイプの付加情報を表現できるようにしなければならない。
CDIF規格群は, 例えば,JIS X 0138-2のような,少なくとも一つの転送構文を提供する。図5に転送内
容のヘッダ部を示す。
ヘッダ部
転送内容
メタモデル部
モデル部
要約
図 5 転送内容のヘッダ部
7.3.3
メタモデル部
7.3.3.1
導入 メタモデル部は,転送で使用するメタモデルを規定する。メタモデル部は,転送で使用す
る規格化されたCDIF対象分野に対する参照を含む。また,メタモデル部は,CDIF意味メタモデルに対す
る拡張を含んでよい。CDIF規格群は, JIS X 0138-2という少なくとも一つの転送構文を提供する。メタ
モデル部の一般構造を図6に示す。
ヘッダ部
転送内容
メタモデル部
モデル部
CDIF対象分野参照
メタモデル拡張
図 6 転送内容のメタモデル部
7.3.3.2
CDIF対象分野参照 この部分は,モデルデータを解釈する際に移入者によって使用する規格化
されたCDIF対象分野を特定する。また,(関連する対象分野規格,ISO/IEC 15476の一部で規定している
ように)これらの各対象分野の適切な版を特定する。
7.3.3.3 メタモデル拡張 この部分は,モデルデータの前に移入者に伝達するメタモデル拡張情報とする。
移入者及び移出者が規格化されたCDIF対象分野だけを使用する場合,この部分は,空でなければならな
い。
10
X 0138-1:2004 (ISO/IEC 15475-1:2002)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
移出者が規格化されたCDIFメタモデルを拡張する必要がある場合又は移出者自身のメタモデル規定を
与える場合,移出者は,これらの拡張をこの部分に配置する。すべての構文は,拡張のための機構を与え
なければならない。
支援すべき拡張性の形態及び各メタオブジェクト規定について伝達すべき詳細な情報をCDIFメタメタ
モデルによって規定する。この情報の完全な記述については,JIS X 0137-2を参照する。
一つの転送のメタモデル拡張部における前方参照は,認めない。これは,参照するすべてのメタモデル
オブジェクトが規格化された対象分野,又はその転送内のこれまでの拡張の中で規定する必要があること
を意味する。
メタモデル部内で出現するすべてのメタ実体,メタ属性及びメタ関係は,単独の転送の中で一意に識別
する。この識別は,転送内のすべてのメタオブジェクトに対してCDIFメタ識別子という一意な識別子を
与えることで達成される。各々の識別子自体に移出者から移入者へ伝達する特定の意味をもたせてはなら
ない。したがって,移入者は,これらの識別子を変更することもできる。数字で始まるメタ識別子は,衝
突を避けるためにCDIF意味メタモデル内の使用に対して予約している。
7.3.4
モデル部 メタモデル部で規定するように,モデル部は,関連するメタ属性とともにメタ実体及び
メタ関係のインスタンスを含む。CDIF規格群は,JIS X 0138-2という少なくとも一つの転送構文を与える。
図7に転送内容のモデル部の構造を示す。
ヘッダ部
転送内容
メタモデル部
モデル部
メタ実体及びメタ
関係インスタンス
図 7 転送内容のモデル部
モデル部内で出現するすべてのメタ実体及びメタ関係のインスタンスは,単独の転送の中で一意に識別
する。この識別は,転送内のすべてのメタ実体及びメタ関係のインスタンスに対してCDIF識別子という
一意な識別子を与えることで達成される。各々の識別子自体に移出者から移入者へ伝達する特定の意味を
もたせてはならない。したがって,移入者は,これらの識別子を変更することもできる。
モデル部には暗黙又は明示の前方参照は,存在してはならない。CDIF転送のモデル部は,メタモデル
情報だけを転送する場合,省略してもよい。メタ属性値は,値がヌルでないときに限り転送の中で存在す
る。
11
X 0138-1:2004 (ISO/IEC 15475-1:2002)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書A(規定)転送ヘッダ形式文法
ここでは,本体7.で示す構文をまとめて規定している。転送ヘッダ内の情報の正確な表現を次に示す文
法で記述する。
<CDIFTransfer> ::=
<TransferHeader>
<TransferContents>
<TransferContents> ::=
<HeaderSectionClause>
<MetaModelSectionClause>
[ <ModelSectionClause> ]
<TransferHeader> ::=
<CDIFSignature> <TransferHeaderComma> <SyntaxIdentifier>
<TransferHeaderComma> <EncodingIdentifier>
[ <TransferHeaderComma> <CharacterSetIdentifier> ]
<CDIFSignature> ::=
CDIF
<SyntaxIdentifier> ::=
SYNTAX <TransferHeaderSpace> <SyntaxID> <TransferHeaderSpace>
<SyntaxVersion>
<EncodingIdentifier> ::= ENCODING <TransferHeaderSpace> <EncodingID>
<TransferHeaderSpace> <EncodingVersion>
<CharacterSetIdentifier> ::= CODESET <TransferHeaderSpace> <CharacterSetID>
<SyntaxID> ::=
<TransferHeaderString>
<SyntaxVersion> ::=
<TransferHeaderString>
<EncodingID> ::=
<TransferHeaderString>
<EncodingVersion> ::=
<TransferHeaderString>
<CharacterSetID> ::=
<TransferHeaderString>
<TransferHeaderString> ::= <TransferHeaderSingleQuote>
[ <TransferHeaderPrintableCharacter> ] ...
<TransferHeaderSingleQuote>
<TransferHeaderComma> ::= ,
!! A comma character defined in ISO 10646-1 Table 1 as row C
column 002.
<TransferHeaderSpace> ::=
!! A space character defined in ISO 10646-1 Table 1 as row 0
column 002.
<TransferHeaderSingleQuote> ::=
'
!! A single quote defined in ISO 10646-1 Table 1 as row 7 column
002.
<TransferHeaderPrintableCharacter> ::=
0|1|2|3|4|5|6|7|8|9|-|.|:
12
X 0138-1:2004 (ISO/IEC 15475-1:2002)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
|A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z
!! These characters are as defined in ISO 10646-1 Table 1.
ヘッダは,厳格な形式とし,余分な空白類の使用を認めない。
13
X 0138-1:2004 (ISO/IEC 15475-1:2002)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書B(参考)SQL BNF規則
ISO/IEC 9075:1992 の 3.2表記法からの引用を参考として次に記述する。
参考 ISO/IEC 9075:1992は,ISO/IEC 9075:1999 Information technology−Database languages−SQL−が
1999-12-16に発行されたことによって廃止された。これに伴い,JIS X 3005:1995も,JIS X
3005:2002(データベース言語SQL)が2002-10-20に制定されたことによって廃止された。し
かし,JIS X 3005:2002は要約JISのため,JIS X 3005:1995の3.2 表記法に対応する箇条が日本
語訳されていない。このため,次に附属書Bをそのまま記述する。
Text from Clause 3.2 Notation of ISO/IEC 9075:1992, given for reference.
The syntactic notation used in this International Standard is an extended version of BNF ("Backus Normal
Form" or "Backus Naur Form").
In BNF, each syntactic element of the language is defined by means of a production rule. This defines the
element in terms of a formula consisting of the characters, character strings, and syntactic elements that can be
used to form an instance of it.
The version of BNF used in this International Standard makes use of the following symbols:
Symbol Meaning
< > Angle brackets delimit character strings that are the names of syntactic
elements, the non-terminal symbols of the SQL language.
::= The definition operator. This is used in a production rule to separate the
element defined by the rule from its definition.
The element being defined appears to the left of the operator and the
formula that defines the element appears to the right.
[ ] Square brackets indicate optional elements in a formula. The portion of the
formula within the brackets may be explicitly specified or may be omitted.
{ } Braces group elements in a formula. The portion of the formula within the
braces must be explicitly specified.
| The alternative operator. The vertical bar indicates that the portion of the
formula following the bar is an alternative to the portion preceding the bar.If
the vertical bar appears at a position where it is not enclosed in braces or
square brackets, it specifies a complete alternative for the element defined
by the production rule. If the vertical bar appears in a portion of a formula
enclosed in braces or square brackets, it specifies alternatives for the
contents of the innermost pair of such braces or brackets.
… The ellipsis indicates that the element to which it applies in a formula may be
14
X 0138-1:2004 (ISO/IEC 15475-1:2002)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
repeated any number of times. If the ellipsis appears immediately after a
closing brace "}", then it applies to the portion of the formula enclosed
between that closing brace and the corresponding opening brace "{".
If an ellipsis appears after any other element, then it applies only to that
element.
!! Introduces normal English text. This is used when the definition of a
syntactic element is not expressed in BNF.
Spaces are used to separate syntactic elements. Multiple spaces and line
breaks are treated as a single space. Apart from those symbols to which
special functions were given above, other characters and character strings in
a formula stand for themselves. In addition, if the symbols to the right of the
definition operator in a production consist entirely of BNF symbols, then
those symbols stand for themselves and do not take on their special
meaning.
Pairs of braces and square brackets may be nested to any depth, and the alternative operator may appear at
any depth within such a nest.
A character string that forms an instance of any syntactic element may be generated from the BNF definition of
that syntactic element by application of the following steps:
a) Select any one option from those defined in the right hand side of a production rule for the
element, and replace the element with this option.
b) Replace each ellipsis and the object to which it applies with one or more instances of that object.
c) For every portion of the string enclosed in square brackets, either delete the brackets and their
contents or change the brackets to braces.
d) For every portion of the string enclosed in braces, apply steps a) through e) to the substring
between the braces, then remove the braces.
e) Apply steps a) through e) to any non-terminal syntactic element (i.e., name enclosed in angle
brackets) that remains in the string.
The expansion or production is complete when no further non-terminal symbols remain in the character string.