>サイトトップへ >このカテゴリの一覧へ

X 0138-2

:2004 (ISO/IEC 15475-2:2002)

(1)

まえがき

この規格は,工業標準化法の規定に基づき,日本工業標準調査会の審議を経て,経済産業大臣が制定し

た日本工業規格である。

制定に当たっては,日本工業規格と国際規格との対比,国際規格に一致した日本工業規格の作成及び日

本工業規格を基礎にした国際規格原案の提案を容易にするために,ISO/IEC 15475-2:2002,Information

technology-CDIF transfer format-Part2:Syntax SYNTAX.1

を基礎として用いた。この規格の一部が,技術的性

質をもつ特許権,出願公開後の特許出願,実用新案権,又は出願公開後の実用新案登録出願に抵触する可

能性があることに注意を喚起する。経済産業大臣及び日本工業標準調査会は,このような技術的性質をも

つ特許権,出願公開後の特許出願,実用新案権,又は出願公開後の実用新案登録出願にかかわる確認につ

いて,責任はもたない。

JIS X 0138-2

には,次に示す附属書がある。

附属書 A(規定)SYNTAX.1 形式文法

附属書 B(参考)多バイトの例

JIS X 0138

の規格群は,次に示す部編成からなる。

JIS X 0138-1 CASE

データ交換形式―CDIF 転送形式―第 1 部:構文及び符号化の一般規則

JIS X 0138-2 CASE

データ交換形式―CDIF 転送形式―第 2 部:構文 SYNTAX.1

JIS X 0138-3 CASE

データ交換形式―CDIF 転送形式―第 3 部:符号化 ENCODING.1


X 0138-2

:2004 (ISO/IEC 15475-2:2002)

(2)

目  次

ページ

序文 

1

1.

  適用範囲

1

2.

  適合性

2

3.

  引用規格

2

4.

  定義

3

4.1

  他の規格からの定義

3

4.1.1

  JIS X 0137-1 からの定義 

3

4.1.2

  JIS X 0138-1 からの定義 

4

4.1.3

  ISO/IEC FCD 13238-1 からの定義

4

4.2

  (削除) 

4

5.

  記号

4

5.1

  命名法及び図式記法

4

5.2

  BNF の規則 

4

5.3

  略語

4

6.

  CDIF 転送の概念及び機能 

4

6.1

  構文識別子 

4

6.2

  字句分離規則 

5

7.

  CDIF 転送における構文部及び構造

5

7.1

  導入

5

7.2

  CDIF 転送構成要素

5

7.2.1

  導入

5

7.2.2

  転送ヘッダ 

5

7.2.3

  転送内容 

5

7.3

  ヘッダ部 

6

7.3.1

  導入

6

7.3.2

  要約

6

7.4

  メタモデル部 

7

7.4.1

  導入

7

7.4.2

  CDIF 対象分野参照

7

7.4.3

  メタモデル拡張

8

7.4.4

  メタメタ実体インスタンス

8

7.4.5

  メタメタ属性インスタンス

9

7.4.6

  メタメタ関係インスタンス

9

7.4.7

  列挙メタ属性拡張

10

7.5

  モデル部 

11


X 0138-2

:2004 (ISO/IEC 15475-2:2002)

(3)

7.5.1

  導入

11

7.5.2

  メタ実体インスタンス 

11

7.5.3

  メタ関係インスタンス 

12

7.5.4

  メタ属性インスタンス 

13

7.5.5

  メタ属性値 

13

7.6

  コメント 

17

7.7

  構文終端記号 

18

附属書 A(規定)SYNTAX.1 形式文法 

21

附属書 B(参考)多バイトの例 

26


日本工業規格

JIS

 X

0138-2

:2004

(ISO/IEC 15475-2

:2002

)

CASE

データ交換形式―CDIF 転送形式―

第 2 部:構文 SYNTAX.1

Information technology-CDIF transfer format-Part2:Syntax SYNTAX.1

序文  この規格は,2002 年に第 1 版として発行された ISO/IEC 15475-2:2002,Information technology-CDIF

transfer format-Part2:Syntax SYNTAX.1

を翻訳し,技術的内容及び規格票の様式を変更することなく作成し

た日本工業規格である。

なお,この規格で点線の下線を施してある“参考”は,原国際規格にはない事項である。

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)

第 部 :符 号 化 ENCODING.1 

( JIS X 0138-3

  1  CDIF 規格群

図 は,CDIF 規格群を構成する種々の規格を示す。網掛け部分は,この規格の CDIF 規格群の中での

位置を示す。


2

X 0138-2

:2004 (ISO/IEC 15475-2:2002)

この規格は,CDIF 転送構文規格を規定する。この規格は,SYNTAX.1 のための特定の交換符号化を規

定していない。JIS X 0138-3

(CASE データ交換形式-CDIF 転送形式-第 3 部:符号化 ENCODING.1)

は,

この構文のための CDIF 符号化を定義する。

この規格は,CDIF を理解し及び/又は使用したいと希望する人に使われることを意図している。この

規格は,CDIF 規格群全体への導入部を提供し,次の人々の利用に適している。

−  CDIF を評価する人

−  CDIF 転送の概念及び原理を理解したいと希望する人

−  CDIF 移入ツール及び CDIF 移出ツールの開発する人 
JIS X 0137-1 及び JIS X 0137-2

(CASE  データ交換形式−CDIF フレームワーク−第 2 部:モデル化及

び拡張性)

は,CDIF 規格群を最初に調査するとき,他の CDIF 規格を読む前に最初に読むことが望まし

い。

この規格は,JIS X 0138-1

(CASE  データ交換形式−CDIF 転送形式−第 1 部:構文及び符号化の一般

規則)

と併せて読むとよい。

この規格を読むに当たっては,特定の前提知識を必要としないが,次の各事項を理解することが読者の

助けになる。

−  実体関係属性モデル化(Entity-Relationship-Attribute modelling)

−  モデル化(CASE)ツール

−  情報リポジトリ

−  データ辞書

−  多重メタ階層モデル化

−  形式構文

−  転送形式

備考  この規格の対応国際規格を,次に示す。

なお,対応の程度を表す記号は,ISO/IEC Guide21 に基づき,IDT(一致している)

,MOD(修

正している)

,NEQ(同等でない)とする。

ISO/IEC 15475-2:2002, Information technology - CDIF transfer format - Part2: Syntax SYNTAX.1

(IDT)

2. 

適合性  ある製品がこの規格の附属書 に示すすべての規定及び規則に従い,  JIS X0137-1 の 2.で

規定する CDIF アーキテクチャに適合する場合に限り,その製品は,CDIF 転送形式一般規則の規格に適合

する。製品は,転送形式一般規則の規格への適合性あり又は適合性なしのいずれかとなる。CDIF 転送形

式一般規則の一部を規定する規格に対する部分適合は,規定しない。

ある製品が JIS X 0138-3 の附属書 A に適合し,かつ JIS X 0138-2 にも適合する場合に限り,その製品

は,CDIF 符号化規格に適合する。ある製品が JIS X 0138-2 の附属書 A に適合する場合に限り,その製

品は,CDIF 構文規格に適合する。

3. 

引用規格  次に掲げる規格は,この規格に引用されることによって,この規格の規定の一部を構成す

る。これらの引用規格は,発効年(又は発行年)を付記してあるものは,記載の年の版だけがこの規格を構

成するものであって,その後の改正版・追補には適用しない。発効年(又は発行年)を付記していない引用規

格は,その最新版を適用する。


3

X 0138-2

:2004 (ISO/IEC 15475-2:2002)

JIS X 0137-1:2003

  CASE データ交換形式― CDIF フレームワーク−第 1 部:概要

備考  ISO/IEC 15474-1:2002 Information technology−CDIF framework−Part1:Overview  が,この規格

と一致している。

JIS X 0137-2:2003

  CASE データ交換形式― CDIF フレームワーク−第 2 部:モデル化及び拡張性

備考  ISO/IEC 15474-1:2002, Information technology − CDIF framework − Part2:Modeling and

extensibility

が,この規格と一致している。

JIS X 0138-1:2003

  CASE  データ交換形式−CDIF 転送形式−第 1 部:構文及び符号化の一般規則

備考  ISO/IEC 15475-1:2002, Information technology−CDIF transfer format−Part1:General rules for

syntaxes and encodings

が,この規格と一致している。

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)

−Part1:Architecture and Basic Multilingual Plane.Amendment 2:UCS Transformation

Format 8(UTF-8)

備考  JIS X 0221-1:1995  国際符号化文字集合(UCS)  ―  第 1 部:体系及び基本多言語面が,こ

の規格と一致しているが,JIS 及び IS ともに新しい版が発効又は発行済みである。

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 規格群(CDIF family of standards) 
CDIF 図記法  (CDIF graphical notation) 
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)

メタモデル(metamodel)

メタオブジェクト(meta-object)


4

X 0138-2

:2004 (ISO/IEC 15475-2:2002)

メタ関係(meta-relationship)

モデル(model)

非終端記号(non-terminal symbol)

生成規則(production rule)

対象分野(subject area)

構文(syntax)

SYNTAX.1 (SYNTAX.1)

終端記号(terminal symbol)

転送(transfer)

転送形式(transfer format)

4.1.2 

JIS X 0138-1

からの定義  この規格は,  JIS X 0138-1 で定義された次の用語を使用する。

メタモデル部(metamodel section)

転送ヘッダ(transfer header)

4.1.3 ISO/IEC 

13238-1

からの定義  この規格は,  ISO/IEC 13238-1 で定義された次の用語を使用する。

転送ファイル(transfer file)

移出プロセス(export process)

移出者(exporter)

移入プロセス(import process)

移入者(importer)

可読テキストファイル符号化(clear text file encoding)

4.2  (削除)

  参考  原国際規格では,この規格に対する新規用語をここで定義すると規定しているが,この規格では

        新規用語を定義していないので,この項目を削除した。

5.

記号

5.1

命名法及び図式記法  CDIF におけるすべてのメタオブジェクト及びメタメタオブジェクトの名称

は,メタオブジェクト及びメタメタオブジェクトを構成する単語をつなげたものとする。そして,各単語

の最初の文字を大文字と

,残りの文字を小文字とする(例えば,MetaAttribute,AttributeDerivation,

IsDrawnUsing

,IsOptional)

参考  この命名記法は,次期国際規格見直しときに,多バイト文字に対応する修正を実施する予定で

ある。

メタモデル及びメタメタモデルで用いられる CDIF 図記法は,フレームワーク規格(JIS X 0137-2)で

規定する。

5.2 BNF

の規則  転送ファイル内のデータの構造を規定し,データの並びを規定するため,拡張バッカ

スナウア形式(Backus Naur Form)

(BNF)を使用する。

この規格では,  JIS X 0138-1 の 5.2 で規定するとおりに使用する。

5.3 

略語  この規格で用いる略語は,次のとおりとする。

BNF  バッカスナウア形式(Backus Naur Form) 
CDIF CASE データ交換形式(CASE Data Interchange Format) 


5

X 0138-2

:2004 (ISO/IEC 15475-2:2002)

6. CDIF

転送の概念及び機能

6.1 

構文識別子  この規格のこの版で規定する構文は,構文識別子として,識別子を示す“SYNTAX.1”

及び版を示す“15475-2:2002”を用いなければならない。CDIF 転送では,規格化された構文を指定するた

めに,この構文識別子を用いる(JIS X 0138-1 参照)

CDIF 構文の識別子及び版を示す構文は,次のとおりとする。

<SyntaxID> ::=

'SYNTAX.1'

<SyntaxVersion> ::=

'15475-2:2002'

6.2 

字句分離規則  字句(tokens)(又は終端記号)は,構文での原始レベルの要素とする。特定の符号化

で規定するように,字句は,通常一つ以上の空白類文字で分割する。字句の識別の後,これらの空白類文

字は,移入者によって無視される。

終端記号のうちのいくつかは字句分離子の役を務める。これらの終端記号は,前後に空白類文字を置く

必要がない。他のすべての終端記号は,これらの字句分離子の一つか又は一つ以上の空白類文字が後ろに

続かなければならない。字句分離子の役を務める終端記号は,7.7 の構文終端記号に示す。

  参考  空白類文字は,JIS X 0138-3 の 6.3  で規定するように,空白,水平タブ,垂直タブ,復帰,改

及び頁送りがあり,ここで決められたものだけを対象とする。

7. CDIF

転送における構文部及び構造

7.1 

導入  ここでは転送の各々の主要部分の正確な構文を,各々の構成要素の構造の構文と一緒に詳細

に示す。

ここでの転送の例は,JIS X 0138-3 において規定する CDIF 符号化を使用する。

7.2 CDIF

転送構成要素

7.2.1 

導入  CDIF  転送の一般的な構文を次に示す。

<CDIFTransfer> ::=

<TransferHeader>

<TransferContents>

図 2 に CDIF 転送の完全な構造を図示する。

転送には,典型的にはファイルが使用するが,パイプ,メールボックス,共有メモリ又は他の機構も,

バイト列として解釈することができるならば転送手段を使ってもよい。

7.2.2 

転送ヘッダ  転送ヘッダは,CDIF 署名,構文識別子,及び符号化識別子から構成する。転送ヘッ

ダ構文は,どのような CDIF 転送でも同じとなるように,JIS X 0138-1 で規定する。SYNTAX.1 のための構

文識別子は,この規格の 6.1 構文識別子で指定する。

7.2.3 

転送内容  転送内容は,転送内容の文法の第 1 レベルがどのような CDIF 転送でも同じとなるよう

に,JIS X 0138-1 で規定する。しかし,分かりやすくするためにここで繰り返す。

<TransferContents> ::=

<HeaderSectionClause>

<MetaModelSectionClause>

[ <ModelSectionClause> ]

ここに示したレベル以上のことは,次の箇条で詳述する。


6

X 0138-2

:2004 (ISO/IEC 15475-2:2002)

転送ヘッダ

CDIF

署名 

構文識別子

要約

CDIF

対象分野参照

メタモデル拡張

メタメタ実体及び

メタメタ関係インスタンス

及び列挙されたメタ属性拡張

メタ実体及び

メタ関係インスタンス

ヘッダ部

メタモデル

モデル部

転送内容

文字集合識別子

符号化識別子

  2  CDIF 転送

7.3 

ヘッダ部

7.3.1 

導入  ヘッダ部は,転送全体に適用する情報を規定する。

ヘッダの構文は,次のとおり規定する。

<HeaderSectionClause> ::=

<OpenScope>

<HeaderKeyword>

<SummaryClause>

<CloseScope>

すなわち,全体を範囲区切り記号で囲んだ要約を伴う導入のキーワードである。

ヘッダ部の例を次に示す。

(:HEADER <SummaryClause>)

7.3.2 

要約  要約は,多くの項目の形で転送についての要約情報を指定する。各々の項目は,識別子によ

って導入される。この規格では,ある特定の要約識別子のために意味を規定する。他の識別子が要約情報

の他の項目を導入するために使われるかもしれないが,それらの意味は,この規格では規定しない。

要約の構文は,次のとおり規定する。

<SummaryClause> ::=

<OpenScope>

<SummaryKeyword>

[ <IdentifierValuePair> ] ...

<CloseScope>

<IdentifierValuePair> ::=

<OpenScope>

<SummaryIdentifier> <StringValue>

<CloseScope>


7

X 0138-2

:2004 (ISO/IEC 15475-2:2002)

<SummaryIdentifier> ::=

<Identifier>

<StringValue> ::=

<String>

要約識別子は,データ型の識別子の規則に適合しなければならない。

この規格で規定する要約識別子及びそれらの定義を次に示す。

・  ExporterName

−  移出するソフトウェア製品の名称

・  ExporterVersion

−  移出するソフトウェア製品の版

・  ExportDate

−  書式  YYYY / MM /  DDでの移出の開始日付

・  ExportTime

−  書式 HH:MM:SS での移出の開始時間

・  PublisherName

−  移出を行った人(又は機能)の名称

要約の例を次に示す。

(:SUMMARY

(ExporterName

"AutoPal")

(ExporterVersion

"3.2")

(ExportDate

"1991/01/12")

(ExportTime

"13:00:00")

(PublisherName

"Andrew Shilling")

(HardwarePlatform

"Apple MacIntosh")

(VendorCompanyName

"UltraCASE")

7.4 

メタモデル部

7.4.1 

導入  CDIF 転送のメタモデル部は,規格化された対象分野への参照に続いて,そのメタモデルへ

の拡張で構成する。CDIF 転送のためのメタモデルは,作業メタモデル(working metamodel)として知られる。

CDIF

転送のためのメタモデルは,参照する対象分野のいずれかで使用するメタメタ実体及びメタメタ関

係のインスタンス,それに加えて拡張によるそれらのインスタンスの集合によって規定する。

作業メタモデルは,JIS X 0137-2 で規定するように拡張してもよい。

メタモデル部は,メタモデルの転送機構として,メタメタモデルの概念のインスタンスを含んでいる。

JIS X 0137-2 で規定するこれらの概念とこの構文との間のマッピングは,明白であるので簡潔に説明する。

要約の構文は,次のとおり規定する。

<MetaModelSectionClause> ::=

<OpenScope>

<MetaModelKeyword>

<CDIFSubjectAreaReferenceClause>...

[ <MetaModelExtensionClause> ]...

<CloseScope>

メタモデル部の例を次に示す。

(:META-MODEL

<CDIFSubjectAreaReferenceClause>...

[ <MetaModelExtensionClause> ]...

)

7.4.2

CDIF

対象分野参照  CDIF 対象分野参照の構文は,次のとおり規定する。

<CDIFSubjectAreaReferenceClause> ::=

<OpenScope>


8

X 0138-2

:2004 (ISO/IEC 15475-2:2002)

<SubjectAreaReferenceKeyword>

<SubjectAreaName>

<OpenScope>

<VersionNumberKeyword>

<SubjectAreaVersionNumber>

<CloseScope>

<CloseScope>

<SubjectAreaName> ::=

<MetaObjectName>

!!<SubjectAreaName> must be the value of the Name

meta-meta-attribute of the relevant SubjectArea instance.

<SubjectAreaVersionNumber> ::=

<String>

!! <SubjectAreaVersionNumber> must be the value of the

VersionNumber meta-meta-attribute of the relevant SubjectArea

instance. A reference to at least one CDIF Subject Area must be

included in the metamodel section.

CDIF 対象分野参照の例を次に示す。

(:SUBJECTAREAREFERENCE Foundation

(:VERSIONNUMBER "15476-1:2002")

7.4.3

メタモデル拡張  メタモデル拡張の構文は,次のとおり規定する。

<MetaModelExtensionClause> ::=

<MetaMetaEntityInstance>

│ <MetaMetaRelationshipInstance>

│ <EnumeratedMetaAttributeExtension>

構文では,メタメタ実体インスタンス,メタメタ関係インスタンス及び列挙されたメタ属性拡張を任意

の順番に置いてよいが,一つの転送の中では前方参照は許されない。

7.4.4

メタメタ実体インスタンス  メタメタ実体インスタンスは,メタメタ実体の名称(例えば,

MetaEntity  ,  MetaRelationship  ,  MetaAttribute  又は  SubjectArea  )に続き,インスタンスのための

一意の CDIF メタ識別子,メタメタ実体のための他のメタメタ属性の名称及び値によって指定する。

メタメタ実体インスタンスの構文は,次のとおり規定する。

<MetaMetaEntityInstance> ::=

<OpenScope>

<MetaMetaEntityName> <CDIFMetaIdentifier>

[ <MetaMetaAttributeInstance> ] ...

<CloseScope>

<MetaMetaEntityName> ::=

<MetaMetaObjectName>

!! <MetaMetaEntityName> must be the name of a meta-meta-entity,

as defined in ISO/IEC 15474-2, e.g., MetaEntity, MetaRelationship,


9

X 0138-2

:2004 (ISO/IEC 15475-2:2002)

MetaAttribute or SubjectArea.

<CDIFMetaIdentifier> ::=

<Identifier>

!! CDIF meta-identifiers beginning with a numeric character are reserved

for use in the CDIF semantic metamodel.

メタメタ属性インスタンスは,メタメタ実体の各々の(

CDIFMetaIdentifier  メタメタ属性以外の)メ

タメタ属性を表現するために使用する。

< MetaMetaAttributeInstance >は,7.4.5 で規定する。

メタメタ実体インスタンスの幾つかの例を次に示す。

1)

(SubjectArea NEW00001

[ <MetaMetaAttributeInstance> ] ... )

2)

(MetaEntity ME001

[ <MetaMetaAttributeInstance> ] ...

)

3)

(MetaAttribute MA001

[ <MetaMetaAttributeInstance> ] ...

)

4)

(MetaRelationship MR001

[ <MetaMetaAttributeInstance> ] ...

)

7.4.5

メタメタ属性インスタンス  (  CDIFMetaIdentifier  メタメタ属性以外の)メタメタ属性インス

タンスは,メタメタ属性の名称に続き,その値から構成する列によって指定する。

メタメタ属性インスタンスの構文は,次のとおり規定する。

<MetaMetaAttributeInstance> ::=

<OpenScope>

<MetaMetaAttributeName> <MetaMetaAttributeValue>

<CloseScope>

<MetaMetaAttributeName> ::=

<MetaMetaObjectName>

<MetaMetaAttributeValue> ::=

<MetaAttributeValue>

!! <MetaMetaAttributeName> must be the name of a meta-meta-attribute

associated with the meta-meta-entity, as defined in ISO/IEC 15474-2.

< MetaAttributeValue >は,7.5.5 のメタ属性値で規定する。

メタメタ属性インスタンスの幾つかの例を次に示す。

1)

(Name *Function*)

2)

(Description #[This defines a Business Function which is associated with a

particular Process or Processes in a Data Flow Model]#)

3)

(Aliases "Business Function,Activity")

4)

(IsOptional -True-)

7.4.6

メタメタ関係インスタンス  メタメタ関係インスタンスは,メタメタ関係の名称及び関係元及び

関係先のメタメタ実体の CDIF メタ識別子で構成する列によって指定する。


10

X 0138-2

:2004 (ISO/IEC 15475-2:2002)

  CollectableMetaObject.IsUsedIn.SubjectArea  ,

MetaAttribute.IsLocalMetaAttributeOf.AttributableMetaObject  ,

AttributableMetaObject.HasSubtype.AttributableMetaObject  ,

MetaRelationship.HasSource.MetaEntity  ,MetaRelationship.HasDestination.MetaEntity  は,メタメタ

関係の完全名である。

メタモデル部の中で後ろの方に規定するメタメタ実体への前方参照があってはならない。

メタメタ関係インスタンスの構文は,次のとおり規定する。

<MetaMetaRelationshipInstance> ::=

<OpenScope>

<FullMetaMetaRelationshipName>

<SourceMetaMetaEntityCDIFMetaIdentifier>

<DestinationMetaMetaEntityCDIFMetaIdentifier>

<CloseScope>

<FullMetaMetaRelationshipName> ::=

<SourceMetaMetaEntityName> <Dot>

<MetaMetaRelationshipName> <Dot>

<DestinationMetaMetaEntityName>

!! <FullMetaMetaRelationshipName> must be the full name of a

meta-meta-relationship, as defined in ISO/IEC 15474-2.

<SourceMetaMetaEntityName> ::=

<MetaMetaObjectName>

<MetaMetaRelationshipName> ::=

<MetaMetaObjectName>

<DestinationMetaMetaEntityName> ::=

<MetaMetaObjectName>

<SourceMetaMetaEntityCDIFMetaIdentifier> ::=

<CDIFMetaIdentifier>

<DestinationMetaMetaEntityCDIFMetaIdentifier> ::=

<CDIFMetaIdentifier>

<CDIFMetaIdentifier> ::=

<Identifier>

メタメタ関係インスタンスの幾つかの例を次に示す。

1)

(MetaAttribute.IsLocalMetaAttributeOf.AttributableMetaObject

MYID002 XYZ001)

!! This adds a meta-meta-relationship instance to make the MetaAttribute

with CDIFMetaIdentifier MYID002 a local meta-attribute of the MetaEntity

or MetaRelationship with CDIFMetaIdentifier XYZ001.

2)

(CollectableMetaObject.IsUsedIn.SubjectArea

MATT006 SUBJ001)

7.4.7

列挙メタ属性拡張  列挙メタ属性拡張の構文は,次のとおり規定する。

<EnumeratedMetaAttributeExtension> ::=


11

X 0138-2

:2004 (ISO/IEC 15475-2:2002)

<OpenScope>

<ExtendMetaAttributeKeyword> <CDIFMetaIdentifier>

<OpenScope>

<EnumeratedValue>

[ EnumeratedSeparator>

<EnumeratedValue>]...

<CloseScope>

<CloseScope>

<CDIFMetaIdentifier> ::=

<Identifier>

!! <CDIFMetaIdentifier> must identify a MetaAttribute with Enumerated

data type defined in the standardized model or earlier in the metamodel

Extension Clause. The Enumerated Values are appended to those values that

have already been defined for the MetaAttribute.

列挙メタ属性拡張の例を次に示す。

(:EXTENDMETA-ATTRIBUTE MA001 (<Encrypted>,<Nonencrypted>))

7.5 

モデル部

7.5.1 

導入  モデル部は,属性付け可能なメタオブジェクト(つまり,オブジェクトの型)  への参照及び

実際のモデルデータを含む。ここで参照するオブジェクトの型は,CDIF 対象分野参照の部分としてのメ

タモデル部又はメタモデル拡張で規定する

MetaEntity  及び  MetaRelationship  のインスタンスとする。

モデルデータは,メタ実体インスタンス,メタ関係インスタンス及びメタ属性インスタンスの形とする。

モデルの転送機構として,ここではメタモデルの概念のインスタンスを含む。 CDIF 意味メタモデルで

規定するこれらの概念とこの構文との間のマッピングは,明白であるので簡潔に説明する。

モデル部のすべてのメタ実体及びメタ関係インスタンスは,一意に

CDIFIdentifier  メタ属性によって

識別する。  移出者は,これらの識別子の一意性を保証する責任をもつ。移入者は,

(成功又は失敗して)

移入プロセスを完了したとき,それらを維持しなくてもよい。

モデル部の構文は,次のとおり規定する。

<ModelSectionClause> ::=

<OpenScope>

<ModelKeyword> <ObjectClause>...

<CloseScope>

<ObjectClause> ::=

<MetaEntityInstance> │ <MetaRelationshipInstance>

モデル部の例を次に示す。

(:MODEL <ObjectClause> ... )

7.5.2 

メタ実体インスタンス  メタ実体のインスタンスは,(メタモデルで規定する)メタ実体の名称及

びメタ実体インスタンスの一意の識別子から構成する列に続き,

(メタモデルで規定する)メタ実体のメタ

属性の名称と値によって指定する。

メタ実体インスタンスの構文は,次のとおり規定する。

<MetaEntityInstance> ::=

<OpenScope>

<MetaEntityName> <CDIFIdentifier>

[ <MetaAttributeInstance> ] ...


12

X 0138-2

:2004 (ISO/IEC 15475-2:2002)

<CloseScope>

<MetaEntityName> ::=

<MetaObjectName>

<CDIFIdentifier> ::=

<Identifier>

メタ実体インスタンスの例を次に示す。

 (DataModel MOD01

[ <MetaAttributeInstance> ... ] )

7.5.3 

メタ関係インスタンス  メタ関係のインスタンスは,(メタモデルで規定する)MetaRelationship

の名称,そのインスタンスの一意の識別子,関係元のメタ実体識別子,関係先のメタ実体識別子並びに(メ

タモデルで規定する)メタ関係のメタ属性の名称及び値から構成する列によって指定する。

モデル部の中で後に規定するメタメタ属性への前方参照があってはならない。

メタ関係インスタンスの構文は,次のとおり規定する。

<MetaRelationshipInstance> ::=

<OpenScope>

<FullMetaRelationshipName>

<MetaRelationshipCDIFIdentifier>

<SourceMetaEntityCDIFIdentifier>

<DestinationMetaEntityCDIFIdentifier>

[ <MetaAttributeInstance> ] ...

<CloseScope>

<FullMetaRelationshipName> ::=

<SourceMetaEntityName> <Dot>

<MetaRelationshipName> <Dot>

<DestinationMetaEntityName>

<SourceMetaEntityName> ::=<MetaObjectName>

<MetaRelationshipName> ::=<MetaObjectName>

<DestinationMetaEntityName> ::=

<MetaObjectName>

!!<SourceMetaEntityName>, <MetaRelationshipName> and <DestinationMetaEntityName> must be

the names used in the definition of the meta-relationship.

<MetaRelationshipCDIFIdentifier> ::=

<CDIFIdentifier>

<SourceMetaEntityCDIFIdentifier> ::=

<CDIFIdentifier>

<DestinationMetaEntityCDIFIdentifier> ::=

<CDIFIdentifier>

<CDIFIdentifier> ::=

<Identifier>

メタ関係インスタンスの例を次に示す。

(DataModel.IsCollectionOf.DataModelObject R001 MOD01 ENT02)


13

X 0138-2

:2004 (ISO/IEC 15475-2:2002)

7.5.4 

メタ属性インスタンス    (CDIFIdentifier メタ属性以外の)メタ属性のインスタンスは,  (メタモ

デルで規定する)メタ属性の名称及び(それに続く)値との列によって指定する。

メタ属性インスタンスの構文は,次のとおり規定する。

<MetaAttributeInstance> ::=

<OpenScope>

<MetaAttributeName> <MetaAttributeValue>

<CloseScope>

<MetaAttributeName> ::=

<MetaObjectName>

メタ属性インスタンスの例を次に示す。

(Name <MetaAttributeValue>)

7.5.5 

メタ属性値

7.5.5.1

導入  メタ属性値の構文は,次のとおり規定する。

<MetaAttributeValue> ::=

<BitmapValue> │ <BooleanValue> │ <DateValue>

│ <EnumeratedValue> │ <FloatValue> │ <IdentifierValue>

│ <IntegerValue> │ <IntegerListValue> │ <PointValue>

│ <PointListValue> │ <StringValue> │ <TextValue>

│ <TimeValue>

7.5.5.2

ビットマップ値  ビットマップ値は,ビットマップの高さ及び幅の寸法を前に付けたピクセル値

の並びとして規定する。ピクセル値は,それぞれの色の強さを表現した赤・緑・青の三部分から成る。ビ

ットマップ内のピクセル値は,左から右及び上から下の順序となる。

ビットマップ値の構文は,次のとおり規定する。

<BitmapValue> ::=

<BitmapKeyword> <Height> <Width>

<OpenScope>

<Bitmap>

<CloseScope>

<Height> ::=

<HeightKeyword> <PositiveInteger>

<Width> ::=

<WidthKeyword> <PositiveInteger>

<Bitmap> ::=

<PixelValue> [ <ListSeparator> <PixelValue> ] ...

<PixelValue> ::=

<OpenScope>

<PixelRedIntensity> <PixelSeparator>

<PixelGreenIntensity> <PixelSeparator>

<PixelBlueIntensity>

<CloseScope>

<PixelRedIntensity> ::=

<PixelIntensity>

<PixelGreenIntensity> ::=

<PixelIntensity>

<PixelBlueIntensity> ::=

<PixelIntensity>

有効な及び無効なビットマップ値の例を次に示す。

1)

:BITMAP :HEIGHT 2 :WIDTH 2

((120,50,35),(130,80,70),

(100,28,231),(111,255,0))

-

有効

2)

:BITMAP :HEIGHT 1 :WIDTH 2


14

X 0138-2

:2004 (ISO/IEC 15475-2:2002)

((120,50,35),(130,80,70))

-

有効

3)

:BITMAP :HEIGHT 2 :WIDTH 2

((255,255,255),(255,255,255),

(255,255,255),(255,255,255)) -

有効

4)

:BITMAP ((120,50,35),(130,80,70),

(100,28,231),(111,255,0))

-  無効: 高さと幅がない

5)

:HEIGHT 1 :WIDTH 2

((120,50,35),(130,80,70))

-  無効: BITMAP キーワードがない

7.5.5.3

真理値  真理値の構文は,次のとおり規定する。

<BooleanValue> ::=

<TrueValue> │ <FalseValue>

真理値の例を次に示す。

1)

-TRUE-

2)

-FALSE-

7.5.5.4

日付値  日付値の構文は,次のとおり規定する。

<DateValue> ::=

<DateKeyword> <Date> <DateClassValue>

<DateClassValue> ::=

<Absolute> │ <RelativePositive> │ <RelativeNegative>

有効な及び無効な日付値の例を次に示す。

1)

:DATE 1940/12/07 Absolute

-

有効

2)

:DATE 1920/07/20

-

無効

: <DateClassValue> がない

3)

:DATE 0002/10/11 RelativePositive

-

有効

4)

1940/12/07 Absolute

-

無効

: DATE キーワードがない

7.5.5.5

列挙値

<EnumeratedValue> ::=  !! It is a terminal symbol in the syntax. Its representation is

specified in the encoding.

参考  JIS X 0138-3 では,列挙値を 7.2.9 で規定する。

列挙値の例を次に示す。

<Red>

7.5.5.6

浮動小数値  浮動小数値は,10

-1023

∼10

1023

までの範囲の高々10 進 16 けたの値をもつ。

<FloatValue> ::=

!! It is a terminal symbol in the syntax. Its representation is

specified in the encoding.

参考  JIS X 0138-3 では,浮動小数値を 7.2.5 で規定する。

有効な浮動小数値の例を次に示す。

1)

#f4E9

2)

#f123.45E2

3)

#f-123.45E15

4)

#f+0.23E5

5)

#f0.23E-3

6)

#f0.23E+3

7.5.5.7

識別子値

<IdentifierValue> ::=  !! It is a terminal symbol in the syntax. Its representation is


15

X 0138-2

:2004 (ISO/IEC 15475-2:2002)

specified in the encoding.

参考  JIS X 0138-3 では,識別子値を 7.2.8 で規定する。

識別子値の例を次に示す。

*johnBrownsBody*

7.5.5.8

整数値  整数値は,10 進数,2 進数,16 進数又は 8 進数として表現する。

整数値の構文は,次のとおり規定する。

<IntegerValue> ::=

<DecimalIntegerValue> │ <BinaryValue> │ <HexaDecimalValue>

│ <OctalValue>

整数値の例を次に示す。

1)

#d12345

-

正の

10 進数

2)

#d-12345

-

負の

10 進数

3)

#d+12345

-

正の

10 進数

4)

#b10101

-

正の

2 進数

5)

#b-10101

-

負の

2 進数

6)

#o31727

-

正の

8 進数

7)

#o-31727

-

負の

8 進数

8)

#h1e2cf

-

正の

16 進数

9)

#hffffffff

-

正の

16 進数

10)

#h-ffffffff

-

負の

16 進数

7.5.5.9

整数並び値  整数並びは,整数の列とする。

その値,整数並び値の構文は,次のとおり規定する。

<IntegerListValue> ::= <IntegerListKeyword>

<OpenScope>

<IntegerValue> [ <ListSeparator> <IntegerValue> ] ...

<CloseScope>

有効及び無効な整数並び値の例を次に示す。

1)

:INTEGERLIST (#d10,#d20,#d11,#d15,#d26,#d32)

-  有効

2)

:INTEGERLIST (#b10101,#h32fe,#o37712)

-  有効

3)

:INTEGERLIST (#d10,#d2.4)

-  無効: 2.4 は,整数値ではない。

4)

(#d10,#d20,#d11,#d15, #d32)

-  INTEGERLIST キーワードがない。

7.5.5.10

位置値  位置値は,  x,y 及び z 座標を表現する三つの整数値で規定する。

位置値の構文は,次のとおり規定する。

<PointValue> ::=

<PointKeyword> <Point>

<Point> ::=

<OpenScope>

<XValue> <PointSeparator>

<YValue> <PointSeparator>

<ZValue>

<CloseScope>

<XValue>

::=

<Integer>


16

X 0138-2

:2004 (ISO/IEC 15475-2:2002)

<YValue>

::=

<Integer>

<ZValue>

::=

<Integer>

有効及び無効な位置値の例を次に示す。

1)

:POINT(0 0 0)

-

有効

2)

:POINT(1 303 292)

-

有効

3)

:POINT(20 30)

-

無効

: 三つの座標を必要とする。

4)

:POINT(qq eo 50)

-

無効

: 整数値でなければならない。

7.5.5.11

位置並び値  位置並びは,位置の列とする。

その値,位置並び値の構文は,次のとおり規定する。

<PointListValue> ::=

<PointListKeyword>

<OpenScope>

<Point> [ <ListSeparator> <Point> ] ...

<CloseScope>

<Point> ::=

<OpenScope>

<XValue> <PointSeparator>

<YValue> <PointSeparator>

<ZValue>

<CloseScope>

位置並び値の例を次に示す。

1)

:POINTLIST ((0 0 0),(1 1 1),(3 3 3))

-

有効

2)

:POINTLIST ((1 303 292),(321 22 33))

-

有効

3)

:POINTLIST 12)

-

無効

: <OpenScope>がない。

4)

((0 0 0),(1 1 1))

-

無効

:  POINTLIST キーワードがない。

7.5.5.12

文字列値  文字列値は,文字の列として規定する。

文字列値の構文は,次のとおり規定する。

<StringValue> ::=

<String>

文字列値の例を次に示す。

"This is a string"

7.5.5.13

テキスト値  テキストのデータ型は,文字の集りとして表現し,印字可能である必要はなく事前

に決定する最大長も必要ない。テキスト値は,一つ以上のテキスト文字列の列として指定する。つまり,

テキスト値は,個々のテキスト文字列の内容を連結したものとする。

テキスト値の構文は,次のとおり規定する。

<TextValue> ::=

<TextString> [ <ListSeparator> <TextString> ] ...

使用する特定の符号化では,個々のテキスト文字列の最大長を制限してもよい。

テキスト値の例

i)

を次に示す。

1)

#[Program SumIntegers(Input,Output);

var

total,input_integer : Integer;

begin


17

X 0138-2

:2004 (ISO/IEC 15475-2:2002)

while not EOF(Input) do

begin

ReadLn(input_integer);

total:=total+input_integer

end;

WriteLn('Total =',total);

end.]#

-

有効

1)

テキスト値の例は,表記上用いる復帰,改行のような空白類文字を使って示す。<eof>は,

    ファイルの最後を表すために用いる。

7.5.5.14

時間値  時間値の構文は,次のとおり規定する。

<TimeValue> ::=

<TimeKeyword> <Time> <TimeClassValue>

<TimeClassValue> ::=

<AbsoluteUTC> │ <AbsoluteLocal> │ <RelativePositive> │

<RelativeNegative>

有効な及び無効な時間値の例を次に示す。

1)

:TIME 07:20:23 AbsoluteUTC

-

有効

2)

:TIME 29:25:19 AbsoluteLocal

-

無効

: 29 は,不適切な時間の値

3)

:TIME 03:59:59

-

無効

: <TimeClassValue>がない。

4)

:TIME 00:00:00.250 RelativePositive

-

有効

5)

07:20:23 AbsoluteUTC

-

無効

: TIME キーワードがない

7.6 

コメント  コメントは,構文の中のどの二つの終端記号の間に現れてもよい。コメントは,印字可

能文字の列で構成する。埋めこまれた空白類文字の使用は許される。

<Comment>::=

!! It is a terminal symbol in the syntax. Its representation is

specified in the encoding.

参考  JIS X 0138-3 では,コメントを 7.2.12 で規定する。

使用する特定の符号化ではコメントの最大長を制限してもよい。

有効及び無効なコメントの例

ii)

を次に示す。

1)

#│ this is

a multi-line

comment

-

有効

2)

( 1 2 #│ buckle

my shoe │# 3 4)  -

有効

(行内コメント)


18

X 0138-2

:2004 (ISO/IEC 15475-2:2002)

3)

#│ hello ... <eof>

-

無効

 (区切り記号が均衡していない)

2)

これらのコメントの例は,表記上用いる復帰,改行のような空白類文字を使って示す。

      <eof>は,ファイルの最後を表すために用いる。

7.7 

構文終端記号  この構文の終端記号を次に示す。これらの表現は,使用する特定の符号化に依存す

る。この規格の例として JIS X 0138-3 の ENCODING.1 を使用する。

<Absolute>

<AbsoluteUTC>

<AbsoluteLocal>

<BinaryValue>

<BitmapKeyword>

<CloseScope>

<Comment>

<Date>

<DateKeyword>

<DecimalIntegerValue>

<Dot>

<EnumeratedSeparator>

<EnumeratedValue>

<ExtendMetaAttributeKeyword>

<FalseValue>

<FloatValue>

<HeaderKeyword>

<HeightKeyword>

<HexaDecimalValue>

<Identifier>

<IdentifierValue>

<Integer>

<IntegerListKeyword>

<ListSeparator>

<MetaModelKeyword>

<MetaMetaObjectName>

<MetaObjectName>

<ModelKeyword>

<OctalValue>

<OpenScope>

<PixelIntensity>

<PixelSeparator>

<PointKeyword>

<PointListKeyword>


19

X 0138-2

:2004 (ISO/IEC 15475-2:2002)

<PointSeparator>

<PositiveInteger>

<RelativeNegative>

<RelativePositive>

<String>

<SubjectAreaReferenceKeyword>

<SummaryKeyword>

<TextString>

<Time>

<TimeKeyword>

<TrueValue>

<VersionNumberKeyword>

<WidthKeyword> 

次の終端記号は,この構文の文法内のキーワードとして使用する。

<BitmapKeyword>

<DateKeyword>

<ExtendMetaAttributeKeyword>

<HeaderKeyword>

<HeightKeyword>

<IntegerListKeyword>

<MetaModelKeyword>

<ModelKeyword>

<PointKeyword>

<PointListKeyword>

<SubjectAreaReferenceKeyword>

<SummaryKeyword>

<TimeKeyword>

<VersionNumberKeyword>

<WidthKeyword> 

次の終端記号は,この構文の字句分離子として作用する。

<CloseScope>

<Dot>

<EnumeratedSeparator>

<ListSeparator>

<OpenScope>

<PixelSeparator>

<PointSeparator> 


21

X 0138-2

:2004 (ISO/IEC 15475-2:2002)

附属書 A(規定)SYNTAX.1 形式文法

ここでは,

7.  で示す構文をまとめて規定する。BNF 単独で SYNTAX.1 を完全に規定したわけではない。

追加の定義及び制約は,  6.  及び  7.  に規定する。

<TransferContents> ::=

<HeaderSectionClause>

<MetaModelSectionClause>

[ <ModelSectionClause> ]

<HeaderSectionClause> ::=

<OpenScope>

<HeaderKeyword>

<SummaryClause>

<CloseScope>

<SummaryClause> ::=

<OpenScope>

<SummaryKeyword>

[ <IdentifierValuePair> ] ...

<CloseScope>

<IdentifierValuePair> ::=

<OpenScope>

<SummaryIdentifier> <StringValue>

<CloseScope>

<SummaryIdentifier> ::=

<Identifier>

<MetaModelSectionClause> ::=

<OpenScope>

<MetaModelKeyword>

<CDIFSubjectAreaReferenceClause>...

[ <MetaModelExtensionClause> ]...

<CloseScope>

<CDIFSubjectAreaReferenceClause> ::=

<OpenScope>

<SubjectAreaReferenceKeyword>

<SubjectAreaName>

<OpenScope>

<VersionNumberKeyword>

<SubjectAreaVersionNumber>

<CloseScope>

<CloseScope>

<SubjectAreaName> ::=

<MetaObjectName>

!!<SubjectAreaName> must be the value of the Name

meta-meta-attribute of the relevant SubjectArea instance.

<SubjectAreaVersionNumber> ::=

<String>


22

X 0138-2

:2004 (ISO/IEC 15475-2:2002)

!! <SubjectAreaVersionNumber> must be the value of the

VersionNumber meta-meta-attribute of the relevant SubjectArea

instance. A reference to at least one CDIF Subject Area must be

included in the metamodel section Clause.

<MetaModelExtensionClause> ::=

<MetaMetaEntityInstance>

│ <MetaMetaRelationshipInstance>

│ <EnumeratedMetaAttributeExtension>

<MetaMetaEntityInstance> ::=

<OpenScope>

<MetaMetaEntityName> <CDIFMetaIdentifier>

[ <MetaMetaAttributeInstance> ] ...

<CloseScope>

<MetaMetaEntityName> ::=

<MetaMetaObjectName>

!! <MetaMetaEntityName> must be the name of a meta-meta-entity,

as defined in ISO/IEC 15474-2, e.g., MetaEntity,

MetaRelationship, MetaAttribute or SubjectArea.

<MetaMetaAttributeInstance> ::=

<OpenScope>

<MetaMetaAttributeName> <MetaMetaAttributeValue>

<CloseScope>

<MetaMetaAttributeName> ::=

<MetaMetaObjectName>

<MetaMetaAttributeValue> ::=

<MetaAttributeValue>

!! <MetaMetaAttributeName> must be the name of a

meta-meta-attribute associated with the meta-meta-entity,

as defined in ISO/IEC 15474-2.

<MetaMetaRelationshipInstance> ::=

<OpenScope>

<FullMetaMetaRelationshipName>

<SourceMetaMetaEntityCDIFMetaIdentifier>

<DestinationMetaMetaEntityCDIFMetaIdentifier>

<CloseScope>

<FullMetaMetaRelationshipName> ::=

<SourceMetaMetaEntityName> <Dot>

<MetaMetaRelationshipName> <Dot>

<DestinationMetaMetaEntityName>

!! <FullMetaMetaRelationshipName> must be the full name of


23

X 0138-2

:2004 (ISO/IEC 15475-2:2002)

a meta-meta-relationship, as defined in ISO/IEC 15474-2.

<SourceMetaMetaEntityName> ::=

<MetaMetaObjectName>

<MetaMetaRelationshipName> ::=

<MetaMetaObjectName>

<DestinationMetaMetaEntityName> ::=

<MetaMetaObjectName>

<SourceMetaMetaEntityCDIFMetaIdentifier> ::=

<CDIFMetaIdentifier>

<DestinationMetaMetaEntityCDIFMetaIdentifier> ::=

<CDIFMetaIdentifier>

<CDIFMetaIdentifier> ::=

<Identifier>

<EnumeratedMetaAttributeExtension> ::=

<OpenScope>

<ExtendMetaAttributeKeyword> <CDIFMetaIdentifier>

<OpenScope>

<EnumeratedValue>

[ EnumeratedSeparator>

<EnumeratedValue>]...

<CloseScope>

<CloseScope>

<ModelSectionClause> ::=

<OpenScope>

<ModelKeyword> <ObjectClause>...

<CloseScope>

<ObjectClause> ::=

<MetaEntityInstance> │ <MetaRelationshipInstance>

<MetaEntityInstance> ::=

<OpenScope>

<MetaEntityName> <CDIFIdentifier>

[ <MetaAttributeInstance> ] ...

<CloseScope>

<MetaEntityName> ::=

<MetaObjectName>

<MetaRelationshipInstance> ::=

<OpenScope>

<FullMetaRelationshipName>

<MetaRelationshipCDIFIdentifier>

<SourceMetaEntityCDIFIdentifier>

<DestinationMetaEntityCDIFIdentifier>

[ <MetaAttributeInstance> ] ...

<CloseScope>


24

X 0138-2

:2004 (ISO/IEC 15475-2:2002)

<FullMetaRelationshipName> ::=

<SourceMetaEntityName> <Dot>

<MetaRelationshipName> <Dot>

<DestinationMetaEntityName>

<SourceMetaEntityName> ::=

<MetaObjectName>

<MetaRelationshipName> ::=

<MetaObjectName>

<DestinationMetaEntityName> ::=

<MetaObjectName>

!!<SourceMetaEntityName>, <MetaRelationshipName> and

<DestinationMetaEntityName> must be the names used in

the definition of the meta-relationship.

<MetaRelationshipCDIFIdentifier> ::=

<CDIFIdentifier>

<SourceMetaEntityCDIFIdentifier> ::=

<CDIFIdentifier>

<DestinationMetaEntityCDIFIdentifier> ::=

<CDIFIdentifier>

<CDIFIdentifier> ::=

<Identifier>

<MetaAttributeInstance> ::

<OpenScope>

<MetaAttributeName> <MetaAttributeValue>

<CloseScope>

<MetaAttributeName> ::=

<MetaObjectName>

<MetaAttributeValue> ::=

<BitmapValue> │ <BooleanValue> │ <DateValue>

│ <EnumeratedValue> │ <FloatValue> │ <IdentifierValue>

│ <IntegerValue> │ <IntegerListValue> │ <PointValue>

│ <PointListValue> │ <StringValue> │ <TextValue>

│ <TimeValue>

<BitmapValue> ::=

<BitmapKeyword> <Height> <Width>

<OpenScope>

<Bitmap>

<CloseScope>

<Height> ::=

<HeightKeyword> <PositiveInteger>

<Width> ::=

<WidthKeyword> <PositiveInteger>

<Bitmap> ::=

<PixelValue> [ <ListSeparator> <PixelValue> ] ...

<PixelValue> ::=

<OpenScope>

<PixelRedIntensity> <PixelSeparator>

<PixelGreenIntensity> <PixelSeparator>

<PixelBlueIntensity>

<CloseScope>


25

X 0138-2

:2004 (ISO/IEC 15475-2:2002)

<PixelRedIntensity> ::=

<PixelIntensity>

<PixelGreenIntensity> ::=

<PixelIntensity>

<PixelBlueIntensity> ::=

<PixelIntensity>

<BooleanValue> ::=

<TrueValue> │ <FalseValue>

<DateValue> ::=

<DateKeyword> <Date> <DateClassValue>

<DateClassValue> ::=

<Absolute> │ <RelativePositive> │ <RelativeNegative>

<EnumeratedValue> ::=

!! It is a terminal symbol in the syntax. Its representation is

specified in the encoding.

<FloatValue> ::=

!! It is a terminal symbol in the syntax. Its representation is

 specified in the encoding.

<IdentifierValue> ::=

!! It is a terminal symbol in the syntax. Its representation is

specified in the encoding.

<IntegerValue> ::=

<DecimalIntegerValue> │ <BinaryValue> │ <HexaDecimalValue>

│ <OctalValue>

<IntegerListValue> ::=

<IntegerListKeyword>

<OpenScope>

<IntegerValue> [ <ListSeparator> <IntegerValue> ] ...

<CloseScope>

<PointValue> ::=

<PointKeyword> <Point>

<Point> ::=

<OpenScope>

<XValue> <PointSeparator>

<YValue> <PointSeparator>

<ZValue>

<CloseScope>

<XValue>

::=

<Integer>

<YValue>

::=

<Integer>

<ZValue>

::=

<Integer>

<PointListValue> ::=

<PointListKeyword>

<OpenScope>

<Point> [ <ListSeparator> <Point> ] ...

<CloseScope>

<StringValue> ::=

<String>

<TextValue> ::=

<TextString> [ <ListSeparator> <TextString> ] ...

<TimeValue> ::=

<TimeKeyword> <Time> <TimeClassValue>

<TimeClassValue> ::=

<AbsoluteUTC> │ <AbsoluteLocal> │ <RelativePositive>

│ <RelativeNegative>

<Comment> ::=

!! It is a terminal symbol in the syntax. Its representation

is specified in the encoding.

 


26

X 0138-2

:2004 (ISO/IEC 15475-2:2002)

附属書 B(参考)多バイトの例

この附属書(参考)は,本体及び附属書(規定)に関連する事柄を補足するもので,規定の一部ではな

い。

ここでは,CDIF 転送形式のどの部分が多バイト文字を受け入れられるのかを示す例を記載する。各々

の例に対応する本文中の例示を次に示す。

B.1 7.3.2

要約の例  要約の例を次に示す。

(:Summary

(ExporterName

"鈴木商事")

(ExporterVersion

"3.2")

(ExportDate

"1991/01/12")

(ExportTime

"13:00:00")

(PublisherName

"山田 太郎")

(HardwarePlatform

"Apple MacIntosh")

(VendorCompanyName

"UltraCASE")

)

B.2 7.4.5

メタメタ属性インスタンスの例  メタメタ属性インスタンスの幾つかの例を次に示す。

1)

(Name *Function*)

2)

(Description #[データフローモデルの特定のプロセスと複数のプロセスと付随するビジネ

ス機能の定義]#)

3)

(Aliases "ビジネスの機能,活動")

4)

(IsOptional -True- )

B.3 7.5.5.5

列挙値の例  列挙値の例を次に示す。

<赤>

B.4 7.5.5.7

識別子値の例  識別子値の例を次に示す。

*鈴木太郎の体*

B.5 7.5.5.12

文字列値の例  文字列値の例を次に示す。

"文字列です。"

B.6 7.6

コメントの例  有効及び無効なコメントの例

iii)

を次に示す。

1)

#│ これは

複数行の

コメントです。

-

有効

2)

( 1 2 #│ バックル

私の靴 │# 3 4)  -

有効

(行内コメント)

3)

#│ こんにちは ...  <eof> -

無効

(不均衡な区切り記号)


27

X 0138-2

:2004 (ISO/IEC 15475-2:2002)

3)

これらのコメントの例は,表記上用いる復帰,改行のような空白類文字を使って示す。

      <eof>は,ファイルの最後を表すために用いる。