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

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

(1) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

まえがき 

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

本工業規格である。 

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

附属書A(規定) ASN.1表記法 

附属書B(規定) テキスト表記法 

附属書C(規定) MHEG-5 API 

附属書D(参考) 基本操作とMHEG-5 AP1演算との対応付け 

附属書E(参考) MHEG-6アプレットとWorld Wide Webアプレットとの関係 

附属書F(参考) 主な特徴 

附属書G(参考) 知的財産権 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

日本工業規格          JIS 

X 4346 : 1999 

(ISO/IEC 13522-6 : 1998) 

情報処理技術ーマルチメディア・ 

ハイパメデイア情報符号化− 

第6部:拡張対話型応用 

Information technology−Coding of multimedia and 

 hypermedia information− 

Part 6 : Support for enhanced interactive applications 

序文 この規格は,1998年に第1版として発行されたISO/IEC 13522-6, Information technology−Coding of 

multimedia and hypermedia information−Part 6 : Support for enhanced interactive applicationsを翻訳し,技術的

内容を変更することなく作成した日本工業規格である。 

1. 適用範囲 

1.1 

適用範囲の背景 この一群の規格“マルチメディア・ハイパメディア情報符号化”は,マルチメデ

ィア・ハイパメディア情報オブジェクト(MHEGオブジェクト)の符号化表現を規定する。この規定によ

ってMHEGオブジェクトは,ローカルエリアネットワーク,広域な通信又は放送ネットワーク,記憶媒体

を通じて,複数のサービス及び応用内,更にこれらをまたがって,最終形式の単位で交換される。MHEG

オブジェクトは,マルチメディアスクリプト言語を用いて設計されたマルチメディア応用のソースプログ

ラムを入力として,計算機ツールによって作り出される。この意味合いからすると,MHEGスクリプト(言

い換えればプログラム)クラスは,他のMHEGクラスと相補いあって,スクリプト言語で広く利用されて

いる機能を表現する。スクリプト(プログラム)オブジェクトは,より強力な制御機構を表現し,MHEG

操作オブジェクト及びリンクオブジェクトだけで表現できる範囲を超えて,MHEGオブジェクト間のより

複雑な関係を記述できる。更に,スクリプト(プログラム)オブジェクトは,実行時環境が提供してくれ

る外界との対話サービスをも表現する。 

JIS X 4345は,情報交換と利用のための基本レベルの応用におけるMHEGオブジェクトクラスを定義す

る。これは,対話的な広帯域サービスを実現するアダプタ(セットトップユニット)など,最小限の端末

で動作することを意図している。 

JIS X 4345は,開かれた方法でプログラムオブジェクトの符号化表現を定義する。 

これは,プログラムオブジェクトが標準化されたか否かを問わず,プログラムコードをカプセル化する

ことを可能とする。 

JIS X 4345は,応用領域で定義されている符号化形式であれば,どの符号化されたプログラムであって

も,プログラムオブジェクトが内蔵又は参照することを可能とする。

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

1.2 

この規格の適用範囲 この規格は,拡張対話型マルチメディア応用を交換する際の最終形式符号化

表現及び意味を定義する。 

これらの応用は,計算機能(データ処理),拡張された通信機能(サーバ,ローカルデバイスなどの外部

環境とのやりとり)などを総合することによって,JIS X 4345によって実現される応用を拡張する。 

これらの応用は,放送形式,クライアントサーバ形式,又は会話形式 (peer-to-peer) などの,どのよう

な通信環境においても利用することができる。しかし,主な対象は,対話型検索(クライアントサーバ)

応用である。これらは,下りチャネルにおける実時間映像音声を伴う非対称データ交換を含む限られた資

源のセットトップユニットで動作する。 

この規格で定義する符号化表現は,JIS X 4345によって定義される符号化表現を特殊化する。特に,こ

の規格は,MHEG-5の交換プログラム (Interchanged Program) クラスにおけるOriginalContent属性のため

の符号化表現を定義する。加えてこの規格は,アプレット (Applet) クラスを定義する。アプレットクラス

は,交換プログラムのサブクラスであっては,エンジンからの委託によって自身の表示及び対話を管理す

る能力をもつ。 

この符号化表現は,次の性質をもつ。 

− JIS X 4345で定義されたものと両立できる。 

− JIS X 4345で示された最小限の資源制約と同じ条件のセットトップユニットで実行するのに適してい

る。 

この規格は,次の事項を規定する。 

− MHEG-5の交換プログラムクラスにおけるOriginalContent属性のための交換様式 

− 符号化表現の意味 

− アプレットクラスの符号化表現及び意味 

− JIS X 4345によるMHEG-5エンジンの振る舞いに対する意味の拡張 

− JIS X 4345によるMHEG-5交換様式の意味の制約 

− 交換プログラムオブジェクトのコードからMHEG-5エンジンの出力機能を呼び出すMHEG-5 API 

− MHEG-5エンジン実行モデルと,プログラム内容交換様式の基礎になる実行モデルとの間の協調動作

の要件 

MHEGエンジンは,MHEGオブジェクトを扱い,解釈し,出力するシステム又は応用の構成要素で

ある。この規格は,MHEG-6符号化表現の意味を規定する。これらの意味は,MHEG-6エンジンの振

る舞いに関する最小限の要件として規定する。 

この規格は,マルチメディア・ハイパメディアの情報を交換するすべての応用に適用できる。 

2. 引用規格及び参照仕様 

2.1 

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

する。これらの引用規格は,その最新版を適用する。 

JIS X 0201 7ビット及び8ビットの情報交換用符号化文字集合 

備考 ISO/IEC 646 : 1991, Information technology−ISO 7-bitcoded character set for information 

interchangeからの引用事項は,この規格の該当事項と同等である。 

JIS X 0221 国際符号化文字集合 (UCS) −第1部 体系及び基本 

備考 ISO/IEC 10646-1 : 1993, Information Technology−Universal Multiple−Octet Coded Character Set 

(UCS) −Part 1 : Architecture and Basic Multilingual Planeがこの規格と一致している。 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

JIS X 4345 情報処理技術−マルチメディア・ハイパメディア情報符号化−第5部 基本レベル対話

型応用 

備考 ISO/IEC 13522-5 : 1997, Information Technlogy−Coding of multimedia and hypermedia 

information−Part 5 : Support for Base-level interactive applicationsがこの規格と一致してい

る。 

JIS X 5605-1 : 1998 情報技術−抽象構文記法1 (ASN.1) 仕様−第1部:基本記法の仕様 

備考 ISO/IEC 8824-1 : 1995, ITU-T Recommendation X.680 (1994), Information Technology−Abstract 

Notation One (ASN.1) : Specification of basic notationからの引用事項は,この規格の該当事

項と同等である。 

JIS X 5606-1 : 1998 情報技術−ASN.1 符号化規則−第1部:基本符号化規則 (BER),標準符号化規

則 (CER) 及び識別符号化規則 (DER) の仕様 

備考 ISO/IEC 8825-1 : 1995, ITU-T Recommendation X.690 (1994), Information technology−ASN.1 

encoding rules : Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) 

and Distinguished Encoding Rules (DER) からの引用事項は,この規格の該当事項と同等で

ある。 

2.2 

参照仕様 ここでは,原国際規格発行の時点で有効であった参照仕様を示す。これらの参照仕様は,

この規格でその一部分だけを参照して用いる。参照仕様そのものは,それ以上のものではない。特に,こ

こに示してあるからといって,国際規格であることにはならない。 

a) Lindholm, Tim and Yellin, Frank (September 1996), The Java Virtual machine specification. ISBN : 

0-201-63452-X, Addison-Wesley Publishing Co. : Reading, Massachusetts. 

b) Gosling, James, Yellin, Frank and the Java team (May 1996), The Java Application Programming Interface, 

Volume 1 : Core Packages. ISBN : 0-201-63453-8, Addison-Wesley Publishing Co. : Reading, Massachusetts. 

3. 定義 この規格で用いる主な用語の定義は,JIS X 4345によるほか,次による。 

3.1 

アプレット (applet)  ホストの枠組みの中でだけ実行することができる自律したプログラム。 

3.2 

アプリケーションクラス (application class)  JVM命令語で書かれ,MHEG-6応用の一部として交

換対象となるJavaのクラス。 

3.3 

API (application programming interface)  応用ソフトウエアからプログラム言語の機能を通してソ

フトウエアサービスを利用するためのインタフェース。 

3.4 

属性 (attribute)  オブジェクトと値との対応。名前と型とが付与され,クラスのインタフェースの

一部として宣言される。属性には,次のものがある。 

a) MHEG-5属性(JIS X 4345参照) 

b) JVMクラスの属性(2.2参照) 

3.5 

クラス (class)  交換対象となる一群の情報オブジェクトに共通するデータ(属性)及び振る舞いを

抽象化した定義。クラスには,次のものがある。 

a) MHEG-5クラス(JIS X 4345参照) 

b) JVMクラス(2.2参照) 

3.6 

例外 (exception)  演算要求の実行中に例外的な条件が生じた場合に発生する信号。特に,JVM例

外がある[2.2a)参照]。 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

3.7 

ハイパメディア (hypermedia)  明示的なリンクを介しての,モノメディア及びマルチメディアの情

報へのアクセスを伴う場合の形容詞。 

3.8 

実体 (instance)   指定されたクラスの属性及び振る舞いをもつオブジェクト。 

3.9 

インタフェース (interface)  クライアントがオブジェクトに対して要求できる一群の演算の記述。 

a) API 

b) JVMインタフェース[2.2b)参照] 

3.10 JVM (Java Virtual Machine)  2.2a)の参照仕様で定義された抽象機械。MHEG-6交換プログラムオ

ブジェクトのOriginalContent属性に対して,その交換用表現及び実行モデルとして用いる。 

3.11 メソッド (method)  クラスで定義されている演算。特に,JVMメソッド[2.2a)参照]がある。 

3.12 MHEG-5 API MHEG-6交換プログラムオブジェクトのOriginalContentに使う命令バイト語から,

MHEG-5オブジェクトの属性にアクセスしたりその振る舞いを制御したりするためのAPI。 

3.13 MHEG-5交換プログラムオブジェクト (MHEG-5 InterchangedProgram object)  命令列をなす解

釈実行語又は機械語として表現された処理単位を駆動する手段を与えるMHEG-5オブジェクト。 

3.14 MHEG-5オブジェクト (MHEG-5 object)  MHEG-5クラスの実体の命令語表現。 

3.15 MHEG-6 この規格に適合していることを示す形容詞。 

3.16 MHEG-6アプレットオブジェクト (MHEG-6 Applet object)  8.に規定するアプレットクラスの実

体。 

3.17 MHEG-6応用 (MHEG-6 application)  MHEG-5交換プログラムオブジェクトのOriginalContent属

性となっているプログラム及びMHEG-5オブジェクトの交換を含んだ応用。単独の応用のこともあれば,

他の応用の一部となっていることもあり,この規格での規定に従った表現をもつ。 

3.18 MHEG-6エンジン (MHEG-6 engine)  この規格の規定に従って,MHEG-6オブジェクト(JVMプ

ログラムを含む。)を解釈実行するプロセス又はプロセス群。 

3.19 MHEG-6交換プログラムオブジェクト (MHEG-6 Interchanged Program object)  この規格に適合

するMHEG-5交換プログラムオブジェクト。 

3.20 MHEG-6オブジェクト (MHEG-6 object)  7.に規定する意味拡張に適合したMHEG-5オブジェク

ト,又は8.に規定するアプレットクラスのオブジェクト。 

3.21 MHEG-6プロファイル (MHEG-6 profile)  この規格に対するプロファイル。 

3.22 MHEG-6プログラム (MHEG-6 program)  MHEG-6交換プログラムオブジェクトの

OriginalContent属性に直接書かれるか,そこから参照されるかしているJVMクラスの一覧。 

3.23 マルチメディア (multimedia)  複数の表現媒体を扱う場合の形容詞。 

3.24 マルチメディア・ハイパメディア応用 (multimedia and hypermedia application)  マルチメディア

情報を表現し,利用者がその上を対話的に行き来できる機能を備えた応用。 

3.25 マルチメディア応用 (multimedia application)  利用者にマルチメディア情報の表現を供する応用。 

3.26 演算 (operation)  オブジェクトが提供し,オブジェクトに対して要求することのできるサービス。

インタフェースの中で,その名前,引数及び返却値の型を指定するシグネチャ,並びにその駆動中に発生

し得る例外の一覧が宣言してある。 

3.27 プログラム (program)  計算機での振る舞いを表現した2進命令語列。適切な計算機環境下で走ら

せることによって,その振る舞いが実現する。 

3.28 プログラム交換様式 (program content interchange format)  MHEG-6交換プログラムオブジェクト

のOriginalContent属性(IncludedContent型である場合)に対する構文及び符号化様式(12.1参照) 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

3.29 スクリプト言語 (script language)  応用プログラムが非専門プログラマによっても簡単にかつ迅速

に設計できるようにしたプログラム言語。 

3.30 スタック (stack)  後入れ先出し (LIFO, last-in-first-out) で要素を追加(プッシュ)し削除(ポップ)

することができる情報蓄積機構。 

3.31 システムクラス (system class)  JVMクラスのうち,その実装が(少なくとも部分的に)システム

依存になって(したがって,機械語で作られて)いることから,VMから使えるように実行時環境に備わ

っていなければならないクラス。 

3.32 仮想機械,VM (virtual machine)  マイクロプロセッサ及びその振る舞いに対する抽象的な仕様。 

備考 VMの実装対象となるプロセッサの機種は,様々である。VMは,どの機種に対しても同じ命

令群を実行できるように実装される。VMと同一の命令群をもったマイクロプロセッサを設計

することも可能である。VM命令語は,ソフトウェアを可搬にするためにも使うことができる。 

4. 記号及び短縮形 この規格で用いる主な記号及び短縮形を次に示す。 

API 

Application Programming Interface 

ASN.1 

Abstract Syntax Notation One 

ETSI 

European Telecommunications Standards Institute(欧州通信規格機関) 

IEC 

International Electrotechnical Commission(国際電気標準会議) 

ISO 

Internationai Organisation for Standardisation(国際標準化機構) 

ITU-T 

International Telecommunication Union, Telecommunication standardisation sector 
(国際電気通信連合,電気通信標準化部門) 

JVM 

Java Virtual Machine(Java仮想機械) 

HTML 

HyperText Mark-up Language(ハイパテキストマーク付け言語) 

MHEG 

Multimedia and Hypermedia information coding Expert Group 
(マルチメディア・ハイパメディア情報符号化) 

VM 

Virtual Machine(仮想機械) 

WWW 

World Wide Web 

5. 適合性の要件 この規格は,次の事項に対する適合性要件を定義する。 

− 情報オブジェクト。すなわち,MHEG-6オブジェクト。 

− 実装。すなわち,MHEG-6エンジンの実装。 

5.1 

情報オブジェクトの適合性 適合したMHEG-6オブジェクトは,次のすべての基準を満たさなけれ

ばならない。 

− オブジェクトの符号化及び構文は,5.1.1の規定に適合しなければならない。 

− オブジェクトの意味は,5.1.2の規定に適合しなければならない。 

情報オブジェクトの適合性は,端末において実行されることを目的として交換される情報オブジェクト

に対して調べられる。 

5.1.1 

符号化及び構文 適合したMHEG-6オブジェクトは,附属書Aに定義した符号化規則及び構文,

又は附属書Bに定義した符号化規則及び構文のいずれかに従って符号化しなければならない。さらに,適

合したMHEG-6交換プログラムオブジェクトの属性は,7.1の構文及び符号化の規定に従わなければなら

ない。 

5.1.2 

意味 適合したMHEG-6オブジェクトの構成要素は,JIS X 4345及びこの規格の7.〜12.に定義す

る意味規則に合致しなければならない。 

5.1.3 

プロファイル この規格は,いかなるプロファイルも定義しない。 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

5.2 

実装の適合性 この規格の実装は,MHEG-6エンジンとする。 

この規格は,MHEG-6オブジェクトの意味を定義する。これは,情報オブジェクトではなく,MHEG-6

エンジンの振る舞いに関する適合性の要件にほかならない。 

5.2.1 

適合性の要件 MHEG-6エンジンの適合性は,JIS X 4345の4.に定義されるように,応用領域の定

義に照らしてはじめて判断できる。 

JIS X 4345の4.に列挙された必す(須)のクラスのすべてに加え,いかなるMHEG-6エンジンも,次の

クラスのすべての属性と内部振る舞いとを解釈できなければならない。 

− 交換プログラム 

− オクテット型変数,整数型変数,論理型変数,コンテント参照型変数及びオブジェクト参照型変数 

いかなる適合したMHEG-6エンジンも,応用領域の定義に含まれる任意のMHEG-6適合のオブジ

ェクトの解釈を行えなければならない。特に,MHEG-6適合のエンジンは,次の基準に合致しなけれ

ばならない。 

− JIS X 4345に適合する。 

− 7.に定義するMHEG-5交換プログラムオブジェクトに関する意味の規定を解釈する。 

− アプレットクラスが応用領域の定義に含まれる場合,MHEG-6適合のエンジンは,MHEG-6のアプレ

ットクラスを,8.に定義する属性,事象,内部振る舞い,及び基本操作とともに解釈する。 

− 9.に定義するとおりに,JVMコードを実行する。 

− JVMコードから10.に定義するカーネルAPIに対する完全なアクセスを可能にする。 

− JVMコードから11.及び附属書Cに定義するMHEG-5 APIの全体又はその一部に対してアクセスする

ことが可能である。 

− 12.に定義するMHEG-5とJVMとの相互動作を可能にする。 

5.2.2 

適合性宣言文書 この規格に対する適合性を主張するには,次の情報をもつ適合性記述文書を用意

しなければならない。この適合性宣言文書は,次の基準のすべてを満たさなければならない。 

− この規格及びJIS X 4345で要求される必ず機能に,適切な箇条番号及び細別符号を付けて列挙する。 

− 適用する規格の正式名称,規格番号及び発効年を示す。 

− この規格及びJIS X 4345に定義された任意選択機能のうち,いずれの機能が実装されているかを記す。

この目的で,JIS X 4345の4.に規定されるように,応用領域に依存する機能のすべてを記載する。 

− この規格及びJIS X 4345に定義される実装依存機能のすべてに対して,実装の振る舞いを記述する。

この要件を満たすためには,それらの機能を列挙し,更に,システムの文書に対する参照又はそれら

の機能に関する完全な構文と意味とを与えなければならない。適合性宣言文書は,この規格又はJIS X 

4345で実装依存としている機能,又はこれらの規格で未定義若しくは未記述と認められる機能に対し

ては,実装の動作を示してもよい。 

5.3 

応用の適合性 適合したMHEG-6応用(3.17参照)に含まれる任意の交換プログラムオブジェクト

は,適合したMHEG-6交換プログラムオブジェクトでなくてはならない。さらに,適合したMHEG-6応

用のすべてのオブジェクトは,附属書A又は附属書Bのいずれかに定義する表記法に従い,同一の表記法

で符号化しなければならない。 

6. この規格の構成 MHEG-6の仕様は,次の事項で構成する。 

a) 交換単位としてのMHEG-5オブジェクトに関する事項 

1) JIS X 4345の構文及び意味への適合。 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

2) 交換プログラムオブジェクトヘの構文制限及び意味拡張(7.参照)。 

3) アプレットクラス及びInvoke基本操作の新設(8.参照)。 

4) 符号化表現(附属書A参照)。JIS X 4345附属書Aの符号化表現の拡張版。 

5) 符号化表現(附属書B参照)。JIS X 4345附属書Bの符号化表現の拡張版。オブジェクトは,4)又

は5)のいずれかの表現をとる。 

b) 交換様式としてのJVM命令語列に関する事項 これらは,交換プログラムオブジェクトの

OriginalContent属性の交換に用いる。 

1) JVMの命令語表現及び意味(9.参照)。 

2) カーネルAPI(Java. lang,Java. util及びJava. ioの各パッケージ,10.参照)。常駐して,必要な機能

をJVM命令語列に提供する。 

3) MHEG-5 API(iso. mheg5パッケージ,11.及び附属書C参照)。MHEG-5オブジェクトの取扱い機能

及びMHEG-5振る舞いの制御機能をJVM命令語列に提供する。 

4) 協調実行に関する要件(12.参照)。MHEG-5オブジェクトからJVMのメソッドの駆動及びJVMク

ラスからのMHEG-5基本操作の駆動の意味を与える。 

7. MHEG-6交換プログラムクラス 交換プログラムクラス及びその下位クラスに適用する意味拡張及

び構文制限,並びにこれらのクラスに関する基本操作を規定する。 

7.1 

交換プログラムオブジェクトの構文 MHEG-6オブジェクトは,7.1で特に規定する場合を除き,JIS 

X 4345の規定によるMHEG-5クラスの構文に従わなければならない。7.1では,MHEG-6オブジェクトの

適合要件として,MHEG-5オブジェクトの構文に対する制限(値,任意選択機能又はその組合せ)を規定

する。 

7.1.1 

交換プログラムクラスの構文 MHEG-6交換プログラムオブジェクトは,1個以上のJVMクラス

をカプセル化するのに使う。カプセル化するJVMクラスは,交換プログラムオブジェクトに直接含めるか,

そこから参照しておくかする。 

7.1.1.1 

Name属性 MHEG-6交換プログラムオブジェクトのName属性は,空文字 (NUL) で終端した

UTF-8符号での文字列を並べた列として符号化しなければならない。それぞれの文字列は,交換プログラ

ムオブジェクトがカプセル化するJVMクラスの名前を表す。 

備考 文字列のUTF-8符号による表現は,9.2で引用するJVMクラスのファイル形式によって定まる。

それは,JIS X 0221 (UCS) 文字の可変長列であり,空文字以外のすべての基本ラテン文字を1

バイトだけで表す。 

7.1.1.2 

OriginalContent属性 MHEG-6交換プログラムオブジェクトのOriginalContent属性は,次のとお

りに符号化しなければならない。 

a) OriginalContent属性がIncludedContent型である場合,そのOctetString値は,12.1に規定するプログラ

ムコンテンツ交換形式で定まる構文に従わなければならない。 

b) OriginalContent属性がReferenceContent型である場合,そのContentReference要素は,次のいずれかで

なければならない。 

1) 空文字で終端したJIS X 0201の表1の符号化による文字列を並べた列。それぞれの文字列は,JVM

クラスのデータを収めたファイルの名前を表す。この列は,Name属性の列と同じ要素数をもち,

Name属性に並んだクラスの順に対応するファイル名を並べていなければならない。 

2) 空の文字列1個。この場合,(Name属性に並べられた)JVMクラスの名前には,処理系依存の対応

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

規則に従ってファイルの名前が対応付けられる。 

7.1.1.3 

ContentHook属性 MHEG-6交換プログラムオブジェクトのContentHook属性は,0に設定する。

この値は,JVM命令語で符号化されたプログラムを意味する。 

7.1.1.4 

Shared属性 Applicationオブジェクトの一部として交換対象となるMHEG-6交換プログラムオ

ブジェクト(応用全体が有効範囲)のShared属性は,Trueに設定する。 

7.1.2 

交換プログラムオブジェクトに適用する基本操作の構文 MHEG-6交換プログラムオブジェクト

を対象とするCall基本操作及びFork基本操作は,その引数Parametersの中に,GenericInteger型の第1引

数Class及びGenericOctetString型の第2引数Methodをもっていなければならない。 

第1引数Classは,InterchangedProgramオブジェクトのName属性に与えられたJVMクラスの列の要素

番号(1から始める。)を表す。 

第2引数Methodは,UTF-8符号による文字列として,第1引数Classが示すクラスがもつ静的メソッド

の名前を表す。 

このCall基本操作又はFork基本操作のActivation振る舞いは,Classで指定されたクラスのMethodが示

すメソッドを,その基本操作へのParametersとして与えられた残りの引数を(値渡しで)引数として与え

て駆動することを意味する。 

備考 Call基本操作又はFork基本操作へのParametersに,そのプログラムの入力引数又は出力引数の

意味でMHEG-5変数(GenericObjectReference型として)を使うこともできる。出力引数として

使う場合は,プログラムの中で,MHEG-5 API VariableクラスのSetVariable操作を用いて明示的

に値を入れる必要がある。 

7.2 

交換プログラムオブジェクトの意味 ここでは,MHEG-5の用語を用いて,MHEG-5オブジェクト

の振る舞いの記述に対する意味の拡張について示す。 

7.2.1 

InitiallyAvailable属性 あるMHEG-6交換プログラムオブジェクトのInitiallyAvailable属性がTrue

である場合,その交換プログラムオブジェクトのPreparation振る舞いは,その交換オブジェクトが附属し

ているMHEG-5のグループ(シーン又はアプリケーション)オブジェクトのPreparation振る舞いによって

引き起こされなければならない。 

7.2.2 

交換プログラムオプジェクトの有効範囲 要素クラスのサブクラスの1実体として,任意の

MHEG-5交換プログラムオブジェクトは,シーンオブジェクト又はアプリケーションオブジェクトに附属

する。 

MHEG-6交換プログラムオブジェクトの有効範囲は,その交換プログラムオブジェクトが附属する

MHEG-5のグループ(シーン又はアプリケーション)オブジェクトとする。MHEG-6交換プログラムオブ

ジェクトのクラスによってメソッドが起動される任意のJVMクラスは,次のいずれかに該当するものでな

くてはならない。 

− システムクラス(3.31参照)であり,カーネルAPIのような標準的なパッケージによって提供される

もの。 

− アプリケーションクラス(3.2参照)であり,MHEG-6交換プログラムオブジェクト呼出しの適用範

囲内であり,あるMHEG-6交換プログラムオブジェクトによって交換されるもの。 

備考 言い換えると,交換プログラム1のクラスが交換プログラム2のクラスを呼び出す場合, 

− 交換プログラム1がシーンの一部である場合には,交換プログラム2は同じシーンの一部であるか,

そのシーンを含むアプリケーションの一部でなくてはならない。 

− 交換プログラム1がアプリケーションの一部である場合には,交換プログラム2は同じアプリケーシ

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

ョンの一部でなくてはならない。 

適合したMHEG-6アプリケーションオブジェクトは,適用範囲外のアプリケーションクラスのメソ

ッドに対する呼出しを含むJavaクラスの交換プログラムオブジェクトを包含してはならない。 

備考 非適合のオブジェクトがエンジンにもたらされた場合,そのエンジンの振る舞いについては規

定しない。 

MHEG-6準拠のアプリケーションオブジェクト全体に対し,交換プログラムによって包含又は参照され

るJVMクラスは,すべて相異なるクラス名をもたなければならない。 

7.2.3 

交換プログラムオブジェクトに適用可能な基本操作の効果 

7.2.3.1 

Preparation振る舞い 任意のMHEG-6交換プログラムオブジェクトを対象としてPreload基本操

作を実行することで,その交換プログラムオブジェクトの内容を取得する。それがカプセル化しているJava

クラス又はそれが参照しているJavaクラスが,MHEGエンジンによってVMにロードされる。このロー

ディングは非同期に実施される。すなわち,このローディングはActivation振る舞いが始まるまでの任意

の時点に行えばよい。 

あるクラスの名前がすでにVMにロードされたクラスと同じ名前である場合,新しいクラスは無視され

なければならない。 

7.2.3.2 

Activation振る舞い MHEG-6交換プログラムオブジェクトのActivation振る舞いは,そのオブ

ジェクトに対してCall基本操作又はFork基本操作が実行されたときに引き起こされる。Activation振る舞

いの主な効果は,次のとおりに,クラスのメソッドを起動することにある。 

− クラスは,Call基本操作又はFork基本操作のParameters引数の中の,最初のParameterで指定する。

その値で,交換プログラムオブジェクトのName属性の中での,そのクラスのインデックスを示す。 

− メソッドは,Call基本操作又はFork基本操作のParameters引数の中の,2番目のParameterで指定す

る。その値で,そのメソッドの名前を示す。 

− メソッドヘの引数は,(必要であるならば)Call基本操作又はFork基本操作のParameters引数の中の

以後のParameterで指定する。すなわち,3番目のParameterがそのメソッドヘの第1引数となり,以

後,同様に対応する。 

次に示すすべての場合,Call基本操作又はFork基本操作の結果の変数(CallSucceeded引数又は

ForkSucceeded引数)をActivation振る舞いの一部としてFalseに設定したうえで,Activation振る舞い

を終了しなければならない。 

− Parametersの中のParameterの個数が2個未満である場合 

− 最初のParameter又は2番目のParameterの型が,7.1.2の規定に照らして正しくない場合 

− 最初のParameterがName属性の中の正当なインデックス(1からリストの長さまでの整数)を示して

いない場合 

− 2番目のParameterが示す名前のメソッドが,指定されたJVMクラスにない場合 

− 指定されたJVMクラスのメソッドが静的メソッドでない場合 

− 指定されたJVMクラスのメソッドがParameters引数と(JVMの型一致規則を用いて)型解決可能な

シグネチャをもっていない場合,すなわち,そのメソッドの引数の型とParametersの中の(3番目以

降の)Parameterの型とを順に型一致させることができない場合 

− 交換プログラムオブジェクトがすでに活性化している場合 

MHEG-5引数の型は,表1のとおりにJVMの型に対応させる。 

例 { : interchgprg 100 : name "Prog"} 

background image

10 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

次の基本操作呼出しを考える。 

: fork (100 99 "ginteger 1 : goctetstring " start " 

"gobjectref 150 : goctetstring : indirectref 2) 

これは,次のシグネチャと静的に型解決することができる。 

public static void Prog. start (ObjectReference, OctetString) 

備考 Call基本操作又はFork基本操作のParameters引数の中のParameterがちょうど2個である場合,

メソッド呼出しのシグネチャは,次のものとなる。 

void <method̲name> ( ) 

ただし,<method̲name>部分を対象メソッドの名前に置き換えて考える。 

表1 MHEG-5引数の型とJVMの型との対応 

MHEG-5引数の型 

JVMの型 

Boolean 

Boolean 

OctetString 

OctetString 

Integer 

Integer 

ContentReference 

ContentReference 

ObjectReference 

ObjectReference 

備考 JVMの型Boolean及びIntegerは,カーネルAPI(java.langパッケージ)が定義している。JVM

の型OctetString, Content Reference及びObject Referenceは,MHEG-5API(iso.mheg5パッケージ)

が定義している(附属書C参照)。 

7.2.3.3 

Deactivation振る舞い MHEG-6交換プログラムオブジェクトのDeactivation振る舞いは,次の事

由のいずれかによって引き起こされる。 

− 当該オブジェクトを対象としたStop基本操作が実行された場合。 

− 当該オブジェクトを活性化したCall基本操作又はFork基本操作によって起動されたメソッドから生

成されたすべてのスレッドが正常終了した場合。 

Stop基本操作は,非同期のプログラム,すなわち,Fork基本操作によって起動されたプログラムにだけ

適用されなければならない。その効果として,Fork基本操作から生成されたすべてのVMスレッドを停止

することでプログラムを終了させなければならない。 

Fork基本操作によって起動されたメソッドから生成されたすべてのスレッドの正常終了によって,

AsynchStopped事象が発生する。 

7.2.3.4 

Destruotion振る舞い MHEG-6交換プログラムオブジェクトのDestruction振る舞いは,Unload

基本操作,又は当該交換プログラムオブジェクトが附属するグループオブジェクトのDestructionの一環と

して引き起こされる。 

いずれの場合においても,カプセル化されたすべてのVMクラス及びVMオブジェクトは,別の交換プ

ログラムによって使用されない限り,エンジンから利用不可能な状態とならなければならない。 

MHEG-5アプリケーションのDestructionの場合には,すべてのVMオブジェクト及びすべてのVMクラ

ス(すなわち,システムクラス以外のすべて)をエンジンから利用不可能な状態とし,エンジンは,これ

らのVMオブジェクト及びVMクラスを,後に解釈されるMHEG-6アプリケーションのクラスとのあらゆ

る不整合を避けるようにしなければならない。 

8. アプレットクラス 

記述 

表示及び対話能力を供給するJVMコードのカプセル化を定義 

11 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

基底クラス 

交換プログラム,対話及び可視 

サブクラス 

なし 

状態 

具象クラス 

8.ではJIS X 4345の7.で定義された表記法を用いてアプレットクラスを定義する。 

他のMHEG-5クラスと異なり,アプレットクラスは,要素クラスの二つのクラスを継承する。菱形の継

承によって起こる不都合が生じたときは常に,最初にリストされたクラスで定義された継承経路によって

特徴を継承しなけれならない。つまり,特に指定のない限り,すべての要素クラスの特徴(属性,振る舞

い,事象及び基本操作の効果)は,可視クラスではなく,交換プログラムクラスから継承しなければなら

ない。 

8.1 

属性 アプレットに対して,継承属性,交換属性及び内部属性を定める。 

8.1.1 

継承属性 アプレットクラスは,その基底クラスのすべての属性をもつ。ただし,次の制約をおく。 

属性名 

基底クラス 

制約 

InitiallyActive 

Ingredient 

JIS X 4345 14.1.1のプログラムクラスの定義に従う。 

OriginalContent 

Ingredient 

7.1.1.2及びJIS X 4345 17.1.1のMHEG-6交換プログラムの定義に従う。 

ContentHook 

Ingredient 

7.1.1.3及びJIS X 4345 17.1.1のMHEG-6交換プログラムの定義に従う。 

Shared 

Ingredient 

7.1.1.4のMHEG-6交換プログラムの定義に従う。 

Name 

Program 

7.1.1.1のMHEG-6交換プログラムの定義に従う。 

InitiallyAvailable Program 

7.2.1のMHEG-6交換プログラムの定義に従う。 

OriginalPaletteRef 

Visible 

アプレットクラスの中で直接に用いてはならない。 

8.1.2 

交換属性 アプレットクラスは,(継承した属性を除いて)それ自身の交換属性をもたない。 

8.1.3 

内部属性 アプレットクラスは,(継承した属性を除いて)それ自身の内部属性をもたない。 

8.2 

事象 アプレットクラスは,その基底クラスにあるすべての事象をもつ。これらの事象の意味は,

基底クラスでの意味と同じとする。ただし,事象AsynchStoppedについては,次のとおりとする。 

AsynchStopped 

この事象は,アプレットオブジェクトの基本JVMスレッドが終了した時点に生じ
る。関連データは,もたない。 

8.3 

内部振る舞い アプレットクラスは,その基底クラスの内部振る舞いのすべてをもつ。ただし,次

の制約をおく。 

Preparation 

7.2.3.1及びJIS X 4345 8.3で定義したMHEG-6交換プログラムに対するPreparation
振る舞いのとおりとする。ただし,次のとおりに変更を加える。 

1. AvailabilityStatusをTrueに設定する直前に,JIS X 4345 31.3で定義した可視ク

ラスに対するPreparation振る舞いの第2ステップを実行する。 

Destruction 

7.2.3.4及びJIS X 4345 8.3で定義したMHEG-6交換プログラムに対するDestruction
振る舞いのとおりとする。 

Activation 

次の一連の操作を逐次実行する。 

1. JIS X 4345 8.3で定義したルートクラスに対するActivation振る舞いを行う。 

2. アプレットオブジェクトに対して基本JVMスレッドを生成する。 

3. 対象クラスのコンストラクタを起動し,コンストラクタが生成したVMオブジ

ェクトを,活性化しようとしているMHEGアプレットオブジェクトに結合す
る。ここで,対象クラスとは,アプレットオブジェクトのOriginalContent属性
の中での,そのインデックスがFork基本操作の(Parameters引数の中の)最初
のParameterで指定されたクラスをいう(7.1.2参照)。Fork基本操作に以後の
Parameterがない場合は,引数をもたないコンストラクタを起動する。そうでな
い場合は,2番目以降のParameterの型と一致する引数列をもつコンストラクタ
を起動する。ここでの型一致規則は,7.2.3.2による。 

例 { : APPlet 200 : name "APP"} 

次の基本操作を考える。 

: fork (200 99 : ginteger 1 : goctetstring "go") 

12 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

型解決の結果,次のコンストラクタを引数 "go" 付きで起動する。 

public void App (OctetString) 

4. コンストラクタを正当に起動することができない次の場合には,ForkSucceeded

引数をFalseに設定し,直ちにこの振る舞いを終了する。 

− Fork基本操作にParameterがない場合 

− Fork基本操作の最初のParameterが,Name属性の中の正当なインデックス(1

からその長さまでの整数)を示していない場合 

− 指定されたクラスに適切なシグネチャのコンストラクタがない場合 

5. 可視オブジェクトを表示する。表示は,オブジェクトがDisplayStackの中でど

こに位置しているかに対応させ,オブジェクトのPosition属性及びBoxSize属
性が示す位置及び境界長方形に対応させて行う(下に示す備考も参考のこ
と。)。 

6. ForkSucceeded引数にTrueを設定する。 

7. RunningStatus属性にTrueを設定する。 

8. IsRunning事象を発生する。 

Deactivation 

次の一連の操作を逐次実行する。 

1. オブジェクトのRunningStatus属性がFalseである場合は,直ちにこの振る舞い

を終了する。 

2. オブジェクトのInteractionStatus属性がTrueである場合,そのInteraction振る

舞いを中止し,InteractionStatus属性にFalseを設定する。 

3. オブジェクトの表示を停止する。 

4. アプレットオブジェクトに対する基本JVMスレッドを終了させ,そのスレッ

ドから派生していたスレッドもすべて終了させる。MHEG-6オブジェクトから
の,このJVMアプレットオブジェクトに対する参照をすべて除去する。この
JVMアプレットオブジェクトは,それへの参照がVMの中に一つもなくなっ
た後,いずれはゴミとして回収されることになる。 

5. RunningStatus属性にFalseを設定する。 

6. IsStopped事象を発生する。 

Interaction 

この振る舞いは,Interactibleクラスに対する定義どおりとする。 

オブジェクトのInteractionStatus属性がTrueである場合,利用者からの入力事象す
べては,エンジンがアプレットにそのまま受け渡す。このとき,入力事象がJVM
のプログラム列にどのようにして渡されるかは,利用者インタフェースAPIによ
る。利用者インタフェースAPIは,応用領域ごとにその仕様を定めてよい。 

備考 境界長方形の寸法を0としてアプレットクラスを使うことで,実体化できても可視でないプロ

グラムを実現することができる。この方法は,利用者インタフェースAPIがない状況でも使え

る。 

8.4 

MHEG-5の基本操作の効果 アプレットクラスは,その基底クラスのMHEG-5基本操作をすべてそ

のままもつ。ただし,次の制約をおく。 

SetData プログラムクラスに対してと同様に,アプレットオブジェクトを対象としてこの基

本操作を用いてはならない。 

SetPaletteRef アプレットオブジェクトを対象としてこの基本操作を用いてはならない。 

Run アプレットオブジェクトを対象としてこの基本操作を用いてはならない。 
Call アプレットオブジェクトを対象としてこの基本操作を用いてはならない。 

Fork Activation振る舞いを適用する。ただし,次の制約をおく。 

(ForkSucceded, 

Parameters) 

− ForkSucceded引数には,BooleanVanableオブジェクトを指定しなければならな

い。 

− Parameters引数の最初のParameterは,評価すると正の整数となるものでなけれ

ばならない。 

− Parameters引数のそれ以降のParameterには,オブジェクトのstartupクラスの

コンストラクタの引数列に渡す値を並べなければならない。Parametersに並べ

13 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

る順序は,コンストラクタの引数の順序に従っていなければならない。すべて
の引数は,値渡しとする。 

Stop Deactivation振る舞いを適用する。 

アプレットクラスは,次のMHEG-5基本操作を定義する。 

Invoke この基本操作は,オブジェクトに結合したアプレットがもつメソッドの実行を行

う。 

(InvokeSucceeded, 次の一連の操作を逐次実行する。 

 Method, 

Parameters) 

1. アプレットオブジェクトが活性化していない場合は,この基本操作を終了す

る。 

 2. アプレットオブジェクトを活性化したActivation振る舞いが生成したJVMオブ

ジェクトの中の,Method引数が示すメソッドを予約する。Parametersが空であ
る場合,予約するメソッドは,次に示すシグネチャをもったメソッドとする。 

public void<method̲name>0 

ここで,<method̲name>はそのメソッドの名前に置き換えて考える。 

Parametersが空でない場合,予約するメソッドは,その引数列の型が,Invoke基本
操作のParameters引数の中のParameter列の型に型一致するメソッドとする。この
型一致規則は,7.2.3.2による。 

例 { : APPlet 200 : name "App"}  

次の基本操作呼出しは,型解決の結果,次のメソッドを1を引数として呼
び出すことを予約する。 

3. 何らかの理由から予約ができない場合には,InvokeSucceeded引数にFalseを設

定し,この振る舞いを終了する。例えば,正しいシグネチャをもったメソッド
が存在しない場合が,これに当たる。 

4. 予約したメソッドの呼出しを,そのアプレットの待ち行列に入れる。 

それまでのInvoke基本操作によって予約されたメソッド呼出しがすべて実行完了
した時点で,この待ち行列に入れたメソッド呼出しを,Activation振る舞いが生成
したJVMスレッドの中で実行する。 

備考 Invoke基本操作からは,4.が終わった時点で,呼出し元へ戻る。すなわ

ち,予約するメソッドを見定め,そのメソッド呼出しを待ち行列に入れ
終わると,Invoke基本操作から戻る。 

Invoke基本操作には,次の制約をおく。 

− InvokeSucceeded引数には,BooleanVariableオブジェクトを指定しなければなら

ない。 

− Method引数は,評価するとオクテット列が得られるものでなければならない。

そのオクテット列は,メソッドの名前を表した,UTF-8符号化による文字列で
なければならない。 

− Parameters引数には,予約するメソッドの引数列に対応する値を並べなければ

ならない。 

Parametersに並べる順序は,メソッドの引数の順序に従っていなければなら

ない。すべての引数は,値渡しとする。 

background image

14 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

構文記述 

Invoke 

--> 

Target, 

InvokeSucceeded, 

Method, 

Parameters? 

Target 

--> 

GenericObjectReference 

InvokeSucceeded 

--> 

ObjectReference 

Method 

--> 

GenericOctetString 

Parameters 

--> 

Parameter+ 

Parameter 

--> 

GenericBoolean  |  GenericInteger  | 

GenericOctetString | GenericObjectReference 

GenericContentReference 

8.5 

形式記述 

Applet Class 

--> 

InterchangedProgram class, 

Interactible class, 

OriginalBoxSize, 

OriginalPosition? 

OriginalBoxSize 

--> 

XLength, Ylength 

Xlength 

--> 

INTEGER 

YLength 

--> 

INTEGER 

OriginalPosition 

--> 

XYPosition 

9. 仮想機械 仮想機械は,VMコードを解釈するあらゆる計算実体の抽象的な仕様とする。この仕様は,

MHEG-6プログラムへ意味の定義を与える。 

MHEG-6プログラムは, "The JavaTM Virtual machine specification" (2.2参照)の2〜8章に詳しく述べら

れているJVMによって定義された表現及び意味をもたなければならない。 

仮想機械コードの構文及び意味の要件を規定するこの参照仕様のこの部分だけが,この規格の基準条項

を構成する。 

2〜8章はすべてこれらの要件を含んでいるが,命令集合及びクラスファイル形式を決めている二つの章

は特に重要である。 

9.1 

VM命令集合 VM命令集合は,VMコードのコード部分を構成する仮想プロセッサの命令集合を定

義する。 

すべてのMHEG-6プログラムのメソッドは, "The JavaTM Virtual machine specification" (2.2参照)の6

章 "The Java Virtual Machine Instruction Set" の151〜338ページに記載されているVM命令集合を使用しな

くてはならない。 

9.2 

VM交換形式 VM交換形式は,クラスに編成されたVMコードの構文及び符号化を定義する。ク

ラスファイルは,データ(定数,変数,属性及び値)だけでなくクラスの構造,及びクラスを構成する符

号(一連の命令)を定義する。 

MHEG-6プログラムのすべてのクラスは, "The JavaTM Virtual machine specification" (2.2参照)の4章 

"The class File Format" の83〜138ページに記されている交換形式を使用しなくてはならない。 

備考 符号化表現したMHEG-6プログラムは,12.1に規定するクラスファイルの集合からなる。 

15 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

10. カーネルAPI カーネルAPIは,すべてのMHEG-6応用のJVM命令語を遂行するのに必要な基本機

能からなる。 

備考 これらの機能には,次のものが含まれる。 

− オブジェクト及びクラスの概念 

− 基本データ型を含んだクラス 

− 文字データの取扱い 

− VMスレッドの管理 

− クラスのロード 

− 数学的な演算 

− 例外及び誤りの取扱い 

− 補助的なデータ構造 

− ストリームの入出力 

10.1 カーネルAPIの仕様 カーネルAPIは,次に示すjava. langパッケージ,java. utilパッケージ及びjava. 

ioパッケージとする。 

− java. langパッケージは,The Java Application Programming Interface, Volume 1 : Core Package(2.2参照)

の "Java Language Package" の章(1〜185ページ)に定義されたパッケージとする。 

− java. ioパッケージは,The Java Application Programming Interface, Volume 1 : Core Package(2.2参照)の 

"Java I/O Package" の章(187〜326ページ)に定義されたパッケージとする。 

− java. utilパッケージは,The Java Application Programming Interface, Volume 1 : Core Package(2.2参照)

の "Java Utilities Package" の章(327〜371ページ)に定義されたパッケージとする。 

上で引用した仕様のうち,それぞれのパッケージの構文及び意味に対する要件を与えている部分だけを,

この規格での要件とする。 

10.2 構文に対する要件 MHEG-6プログラムは,カーネルAPIの機能を呼び出すに際して,カーネルAPI

に含まれたバイト命令語を使わなければならない。 

MHEG-6エンジンは,カーネルAPIの定義どおりのシグネチャをもったすべてのクラス,インタフェー

ス及び例外へのインタフェースをもっていなければならない。 

10.3 意味に対する要件 カーネルAPIのすべてのクラス,インタフェース及び例外は,MHEG-6エンジ

ンにとって,10.1で引用したカーネルAPIの仕様どおりの振る舞いをするように具現しなければならない。

カーネルAPIは,MHEG-6エンジンの動作開始直後からその動作中である限り,MHEG-6エンジンから使

えなければならない。 

備考 この要件を満たす自明な方法は,JVMカーネルAPIを常駐させておくことである。しかし,そ

うしなければならないわけではない。 

10.4 運用に対する要件 運用は,その応用分野での要求による。場合によっては,幾つかの機能がいら

ないこともある。プロファイル又は応用分野によって,幾つかの振る舞いに制限を置くこともあるし,幾

つかの振る舞いを選択事項とすることもある。さらに,そうした場合にそれらの振る舞いの望ましい具現

方法を与えることもある。 

11. MHEG-5 API MHEG-5 APIは,JVM命令語からMHEG-5オブジェクトの動的属性の値を読み出した

り,MHEG-5オブジェクトに対する基本動作を駆動したりするための一群のインタフェース機能からなる。 

16 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

11.1 MHEG-5 APIの仕様 MHEG-5 APIは,附属書Cに規定するiso. mheg5パッケージの公開インタフ

ェースからなる。このインタフェースは,iso. mheg5パッケージのクラス及びインタフェースが提供する

メソッドのシグネチャで定まる。VM交換形式(9.2参照)は,これらのクラス宣言をパッケージとして具

現する際の一意的な符号化方式を与える。VM命令群(9.1参照)は,そうしたパッケージが提供するイン

タフェースの駆動をVM命令語に一意的に符号化する手段を与える。 

11.1.1 設計方針 MHEG-5 APIの設計は,次に示す方針による。 

− MHEG-5のクラスは,それぞれ,1個のJavaのクラスに対応付ける。 

− MHEG-5の基本操作は,それぞれ,その操作の対象となるMHEG-5のクラスに対応付けたJavaのク

ラスでの1個のJavaのメソッドに対応付ける。 

− MHEG-5の動的属性の値の読み出しは,それぞれ,その属性をもつMHEG-5のクラスに対応付けたJava

のクラスが提供する1個のJavaの "get" メソッドに対応付ける。 

− マルチメディア・ハイパメディア機能(表示,会話及び同期)を直接駆動する基本操作だけを,MHEG-5 

APIとして提供する。 

− 演算の駆動を実行できないときは,MhegException例外を発生させる。この例外は,Exception例外の

拡張とする。 

備考1. 基本操作のMHEG-5 AP1演算への対応付けは,附属書Dに示す。 

2. MHEG-5 API演算は,基本操作に対応するものの,基本演算を実際に引き起こすことはなく,

MHEG-5の内部データを直接に取り扱う(12.2.5参照)。 

11.1.2 版 MHEG-5 APIに,次に示す二つの版を設ける。 

− 完全版 すべてのMHEG-5クラスの機能に対して直接の取扱いができるだけのクラスを用意する。 

− 簡略版 次に示すクラスだけを用意する。 

0bjectReference, ContentReference, MhegException, OctetString, Root, Group, Application, Scene, 

Ingredient, 

Variable, 

BooleanVariable, 

IntegerVariable, 

OctetStringVariable, 

ObjectRefVariable, 

ContentRefVariable 

備考1. Variableクラス,Groupクラス及びその上位クラス・下位クラス,並びにこれらのクラスが引

用する補助的なクラスだけが必すである(簡略版に相当する)。これら以外のクラスを用意す

る場合は,すべてのクラスをパッケージに含めなければならない(完全版となる)。 

2. 簡略版であっても,MHEG-6プログラムからは完全版と同じ機能を扱うことができるが,不

便になる。実際,簡略版を使うプログラムでは,基本操作に対応する機能を直接呼び出すこ

とができず,代わりに,その基本操作への引数に当たる値をVariable. setVariableを使って

MHEG-5変数に設定しておいたうえで,Scene. sendEventを使って,設定したMHEG-5変数

への参照を添え,その基本操作を本体とするMHEG-5リンクを引き起こさなければならない

ことがある。 

11.2 構文に対する要件 MHEG-5 API演算の駆動を表すVM命令語列に,適合要件を設ける。MHEG-6

プログラムは,マルチメディア機能を駆動するに当たって,MHEG-5 APIのシグネチャ(附属書C参照)

に合致するメソッドシグネチャのオペランドをもったJVM命令(invokevirtual, invokenonvirtual, invokestatic

及びinvokeinterface)を使わなければならない。 

備考 この規定から,MHEG-5オブジェクトの取扱いについて,iso. mheg5パッケージを使ってJava

で書いた場合に作られるバイト命令語と同じバイト命令語に翻訳される限りは,どんなプログ

ラム言語を使い,MHEG-5オブジェクトの機能に対するどんなAPIを使っても応用プログラム

17 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

が作れることになる。この原則は,カーネルAPIにも当てはまる。 

MHEG-6エンジンは,MHEG-5 APIのシグネチャに従って,すべてのクラス,インタフェース及び例外

に対するインタフェースをもっていなければならない。 

11.3 意味に対する要件 MHEG-5 APIは,完全版又は簡略版の形で,MHEG-6エンジンの動作開始直後

からその動作中である限り,MHEG-6エンジンから使えなければならない。MHEG-5 APIのすべてのクラ

ス,インタフェース及び例外は,MHEG-6エンジンにとって,11.1で引用したカーネルAPIの仕様どおり

の振る舞いをするように具現しなければならない。 

11.4 運用に対する要件 運用は,その応用分野での要求による。応用分野によっては,JIS X 4345の規

定に従って,幾つかの振る舞いに制限を置くこともあるし,幾つかの振る舞いを選択事項とすることもあ

る。例えば,MHEG-6の応用分野によっては,完全版を用意するか簡略版を用意するかを指定することも

ある。しかしながら,これによって用意するiso. mheg5パッケージの構文が影響を受けることはない。い

ずれの場合にしても,選択した版のすべてのクラス及びメソッドを用意しなければならない。もちろん,

選択可能な機能又は準備しないとされた機能に対応付けられたクラス及びメソッドの振る舞いは保証され

ない。応用分野での指定外の機能及びエンジンの具現で準備しない機能をMHEG-6プログラムが呼び出し

たときは,いつでも,OPTION̲NOT̲SUPPORTED例外が返されなければならない。 

11.5 協調 MHEG-5クラス(Rootクラス及びその下位クラス)に対応するJVMクラスのすべてのコンス

トラクタは,保護対象となる。したがって,MHEG-5オブジェクトヘのJavaの参照は,Rootクラスの静的

なgetObjectメソッドを使って行わなければならない。この参照を使って演算を駆動したとき,その参照が

もはやMHEG-5オブジェクトを指していなければ,例外を発生しなければならない。 

MHEG-5オブジェクトに対応するJVMの“代理”オブジェクトは,そのMHEG-5オブジェクトの

Preparation振る舞いが駆動された時点又はそのMHEG-5オブジェクトに対するgetObject演算が初めて呼

び出された時点で生成するのがよい。MHEG-5オブジェクトのDestraction振る舞いが駆動された時点では,

APIを実現している命令列にその事実を知らせ,代理オブジェクトがJVM命令列から使えなくすることが

できるようにするのがよい。 

備考1. このとき,代理オブジェクトを取り除く必要はない。これは,Javaのオブジェクトのモデル

から導ける。 

2. MHEG-5APIは,MHEG-6エンジンの設計に何らの想定をおかない。例えば,JVMとMHEG-5

エンジンとが,互いにMHEG-5 APIを介して通信し合う形の独立したプロセスであってもよ

いし,MHEG-5 APIに対する“代理”オブジェクトが,MHEG-5エンジン内のMHEG-5オブ

ジェクトを表した実際の具現上のオブジェクトであってもよい。MHEG-5 APIは,プログラ

ムの命令列が移植可能であることを保証するための手段にすぎない。 

3. groupidentifierが書いてない参照は,一意的でないが,getObjectを呼び出す時点で参照対象が

決められる。 

12. MHEG-5とJVMとの協調 

12.1 プログラムコンテンツの交換形式 MHEG-6交換プログラムオブジェクトにあっては,その

IncludedContent型のOriginalContent属性は,12.1の規定に従わなければならない。ここでの形式化は,9.2

でのJVMクラスのファイルに対するものと同じとする。 

IncludedProgramContentData { 

    u4 [class̲count] offsets; 

18 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

    ClassFile [class̲count] classes; 

offsets [i] の値は,i番目のクラス (classes [i]) のデータの最初のバイトの,OngmalContentオクテット列

の先頭からの相対位置とする。 

class̲countは,MHEG-6 InterchangedProgramオブジェクトのName属性の値である文字列の列の長さに

等しい値とする。この値は,MHEG-6 InterchangedProgramオブジェクトがカプセル化しているJVMクラス

の個数を示す。 

classes [i] は,JVMクラスのデータを9.2で規定するクラスのファイル形式に従って符合化したものとす

る。 

offsets及びclassesは,MHEG-6 InterchangedProgramオブジェクトのName属性に並んだクラスの順に従

っていなければならない。 

12.2 基本操作の意味 

12.2.1 Call基本操作 call基本操作は,ライブラリ機能の呼出しの意味をもつ。call基本操作の効果は,

指定されたクラスの指定されたメソッドを実行すること,及びこのメソッドが完了し,このメソッドが作

り出すすべてのJVMスレッドが完了するまで,MHEG-5エンジンの演算を停止することにある。 

call基本操作によって駆動されたMHEG-6 InterchangedProgramオブジェクトは,次に示すMHEG-5演算

だけしか使ってはならない。 

− MHEG-5内部の属性の値を直接読み出す演算(これらの演算の大部分は, "get" で始まる名前をもつ。) 

− Variableクラスの下位クラスが提供するsetVariableメソッド 

備考 call基本操作で駆動されたMHEG-6 InterchangedProgramオブジェクトから使うことのできる

MHEG-5 APIのメソッドは,その一覧を附属書Dに示す。 

call基本操作によって活性化したInterchangedProgramオブジェクトがMHEG-5の基本操作を起動するこ

とは,プログラムの誤りとする。 

備考1. これを徹底するために,MHEG-5 APIの具現は,VM命令語列がMHEG-5の基本操作を要求

してきたとき,そのVM命令語列のVMスレッドが非同期プログラム(Fork基本操作によっ

て駆動されたプログラム)であることを確認するようにし,そうでなければすべてを終了す

る例外を発生させるのがよい。 

2. 許容された演算("get" 演算及びsetVariable)の具現は,したがって(12.2.5のとおりに),

MHEG-5の基本操作を駆動するのではなく,直接データにアクセスする仕組みとするのがよ

い。 

3. MHEG-5エンジンは,Call基本操作が使われたとき,その呼出しが終了するまでどんな基本

操作も処理しないでおくのがよい。 

12.2.2 Fork基本操作 Fork基本操作は,新しいスレッドを作ってプログラムを走らせる意味をもつ。Fork

基本操作の効果は,ForkSucceeded変数引数に結果を入れてMHEG-5エンジンに通知し,MHEG-5エンジ

ンが停止していた演算を再開できるようにすることにある。作り出されたスレッドは,MHEG-5エンジン

が処理を再開しても,走り続ける。Fork基本操作によって駆動されたMHEG-6 InterchangedProgramオブジ

ェクト又はAppletオブジェクトは,MHEG-5 APIのどの演算を駆動してもよい。 

備考 Fork基本操作とCall基本操作との違いを徹底するのに,MHEG-5 APIの具現では,Fork基本操

作によって作られたJavaのスレッド及びそこから作られたスレッドを,Call基本操作に呼応す

るJava命令語列の実行で使うスレッドのグループとは別のグループに入れるとよい。 

19 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

InterchangedProgramオブジェクト又はAppletオブジェクトは,他の親をもつスレッドのグループを作り

出してはならない。 

備考 これは,プログラムの誤りとなり,SecurityManagerによる例外が発生する。 

12.2.3 Invoke基本操作 Invoke基本操作は,アプレットのメソッドを駆動する意味をもつ。Invoke基本

操作の効果は,そのメソッドの呼出しを待ち行列に入れ,InvokeSucceeded変数引数に結果を入れて

MHEG-5エンジンに通知し,MHEG-5エンジンが停止していた演算を再開できるようにすることにある。

待ち行列に入れられたメソッド呼出しは,同じ待ち行列に入っていた他のメソッド呼出しの処理がすべて

終わり次第,Appletクラスの主スレッドの中で実行される。 

12.2.4 Stop基本操作 Stop基本操作の効果は,その時点で実行中のメソッドを終了し,そのプログラム

から駆動されたすべてのVMスレッドを停止することにある。 

備考1. Stop基本操作は,Fork基本操作によって駆動されたプログラムにだけ適用する。 

2. 応用プログラムの設計者は,システムが“クラッシュ”して制御不能になることを避けるた

め,そのプログラムでJavaのすべての例外を処理し,プログラムをきれいに終了させたうえ

で,元のCall基本操作又はFork基本操作に戻るようにするのがよい。 

12.2.5 MHEG-5 API演算 すべてのMHEG-5 API演算は,逐次実行の意味をもつ。VM命令語列から

MHEG-5 API演算を呼び出すと,その命令語列の実行が行われていたVMスレッドは,呼び出したMHEG-5 

API演算が終わるまで,実行を停止する。基本操作に対応するMHEG-5 API演算からは,そのMHEG-5基

本演算の起動が終わり,それから生じるMHEG-5の逐次処理(起動されたリンクの基本操作の実行)がす

べて終わり次第,元へ戻る。属性値の取扱いに使うMHEG-5 API演算からは,その属性の値の読み書きが

終わり次第,元へ戻る。 

12.3 実行 JVM側から見たときの,MHEG-6交換プログラムオブジェクトに適用できる操作の効果を規

定する。この目的で,ClassMapperという概念を導入して,7.2.3に規定した機構を説明し,そのうえで,

具現についての推奨事項を規定する。 

備考 この説明は,エンジンの振る舞いについての基準として使うことを意図したもので,このとお

りにMHEG-6を具現しなくてよい。 

ClassMapperは,仮想的な実体であって,MHEG-6交換プログラムオブジェクトとJVMクラスとの間の

関連が,(MHEG-5エンジンの制御下にある)MHEG-6オブジェクト及び(VMに知られるようになった)

JVMアプリケーションクラスの両方の生涯を通じて,動的に維持される方法を示すために使用する。 

12.3.1 エンジンの立上げ MHEG-6エンジンは,MHEG-6応用のPrepare振る舞いを駆動する前に“ロー

ド”しておく。これは,次の示すことがらが応用の解釈実行中いつでも成り立っていることを意味する。 

− MHEG-5エンジンは,活性化したLinkを処理することができる。 

− ClassMapperは,どんな要求も受け付けられる。 

− JVMは,VM命令語列を実行することができる。 

12.3.2 ClassMapperの始動 Applicationオブジェクトを駆動すると,新しい応用プログラムが動き始めた

ことがそのGroupIdentifierをもつClassMapperに通知される。 

備考 この目的に合わせて,ClassMapperには次に示すとおりの関数があるものとする。 

public void setApplication (MHEGId application̲id)  

グループオブジェクトが準備されるとすぐに,このグループに附属したすべてのMHEG-6交換プログラ

ムの説明的な情報が,ClassMapperに提供される。各MHEG-6交換プログラムオブジェクトに対して,こ

の説明的な情報は,(Name属性によって提供される)クラスの名前及び(IncludedContent属性に対するク

20 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

ラスデータオフセット及び/又はReferencedContent属性に対するクラスファイル名を通じての)内容デー

タヘの参照を含む。クラスの各々に対して,ClassMapperは,説明的な情報を利用し,エントリを内部ク

ラス対応表に追加する。ここで,内部クラス対応表とは,カプセル化したMHEG-6交換プログラムオブジ

ェクトにクラス名を対応付けし,クラスデータに参照を対応付けるものとする。 

この通知を使用して,ClassMapperは,解決を要求されたときにはいつでも,これらクラスをロード可

能と知る。 

備考 java. lang. packageのClassLoaderクラスは,抽象クラスである。(java. lang. ClassLoaderから継

承する)MHEG-6 ClassLoaderは,MHEG-6文脈に従って実装する必要がある。(含まれる内容

データに対する)プログラム交換形式の構文解析及び(参照される内容データに対する)クラ

スファイルのアクセスは,実行時環境で利用可能な(Java. io. DataInputなどの)データ入力機

構を通じて,ClassLoaderクラスのloadClassメソッドによって実行される(このデータ入力機

構は,この規格では規定しない)。 

例 応用プログラムが,(その応用プログラムを通して使用される)クラスAddをもつMHEG-6交換

プログラムオブジェクトを含むと仮定する。その名前及び位置は,ClassMapperに通知されるが,

そのクラスはVMにロードされない。さらに,シーン1が,(そのシーン内でだけ使用する)ク

ラスFactをもつ交換プログラムを含むと仮定する。このとき,そのInitiallyAvailable属性はTrue

に設定されているとする。そこで,クラスFactをVMにロードしなければならない。クラスFact

のメソッドがクラスAddのメソッドを呼び出すので,クラスFactのロードは,クラスAddの参

照が解決されるまで実行できない。そこで,ClassMapperによって保持されている対応付けを使用

し,MHEG-5エンジンの演算を妨げることなく,クラスAddのコードをロードする。 

備考 この目的のために,ClassMapperは,次の関数を提供できる。 

public void notify (MHEGId object̲id, String [ ] class. names, 

           ByteStreamReference [ ] class̲data) 

ClassMapperが保持する対応付けの構造は,次のとおりとすることができる。 

ClassEntry [ ] class̲map; 

ClassEntry { 

      CONSTANT̲Utf8̲info name; 

      MHEGId program̲id; 

      ByteStreamReference location; 

ここで,ByteStreamReferenceは,実装依存の型をもち,参照される及び/又は含まれる内容

を保持するために使用する大規模データ領域へのハンドルを表現する。 

12.3.3 プログラムの準備 MHEG-6交換プログラムオブジェクトの準備の際に,そのOriginalContentデー

タが検索され,ClassMapperに提供される。そのとき,ClassMapperは,クラスファイル形式を構文解析し,

そのクラスをVMにロードする。 

備考 この目的のために,ClassMapperは,次の関数を提供できる。 

public Error load (String class̲name)  

12.3.4 プログラムの活性化 交換プログラム上のCall基本操作又はFork基本操作を引き起こす際に,

MHEG-5エンジンは,その最初の引数(クラスインデックス)を処理し,Name属性を使用して対象とな

るクラスの名前を検索する。さらに,ClassMapperは,次のことを行う。 

21 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

− 起動されたクラスが,2番目の引数 (method) で与えられる名前のメソッドをもつことを検査する。 

− 他のMHEG-5引数をJVMオブジェクト引数に転送する。 

− メソッドが起動できない場合(7.2.3参照)は,Falseを返す(これは,MHEG-5エンジンが,CallSucceeded

引数又はForkSucceeded引数を設定するために使用する。)。 

− 実際には,転送された引数でJVMクラスの要求されたメソッドを呼び出す。 

− Callの場合には,要求されたメソッドの終了において終了コードを返す(これは,MHEG-5エンジン

が,CallSucceeded引数を設定するために使用する。)。 

− Forkの場合には,新しく生成されたThreadGroupの識別子を,後で参照するために一時的に記憶する

MHEG-5エンジンに返す(12.3.5参照)。要求されたメソッドの終了において,ForkSucceeded引数を

設定するために使用する終了コードをもつ通知を,MHEG-5エンジンに送る。 

備考 この目的のために,ClassMapperは,次の関数を提供できる。 

public boolean call (String class̲name, String method̲name, Param [ ] args)  

public int fork (String class̲name, String method̲name, Param [ ] args)  

12.3.5 プログラムの非活性化 交換プログラム上のStop基本操作を引き起こす際に,MHEG-5エンジン

は,一時的に記憶したスレッドグループ識別子を使用してプログラムの終了を要求する。Stop基本操作の

効果は,初期スレッドを含む,プログラムが生成したすべてのスレッドを終了することとする。 

備考 この目的のために,ClassMapperは,次の関数を提供できる。 

public void stop (int ThreadGroupId)  

12.3.6 プログラムの破壊 MHEG-6交換プログラムオブジェクトの破壊に際して,この交換プログラムに

よって運ばれた名前がName属性によって定義されたクラスは,VM内で削除という印が付けられる。 

備考1. この目的のために,ClassMapperは,次の関数を提供できる。 

public void unload (String class̲name)  

これは,ClassMap内のエントリをも削除する。MHEG-5アプリケーションオブジェクトの

破壊に際してClassMapperはその初期状態に復帰する。 

2. JVMクラス及びオブジェクトは,そのカプセル化した交換プログラムを破壊したときに削除

と印を付けられているが,これらのオブジェクトが実際に削除されるときを知る方法は存在

しない。これはJVM実装のガーベジコレクションの方針に依存するためである。 

3. JVMオブジェクトがクラス変数によって参照される場合,そのオブジェクト(及びそのオブ

ジェクトが参照する任意のオブジェクト)は,クラスがアンロードされるまで維持される。 

4. シーン適用範囲をもつクラスのオブジェクトがアプリケーション適用範囲をもつクラスのオ

ブジェクトによって参照される場合,このクラスのコードは,シーンの破壊の後,VMメソ

ッド領域内に維持される必要があるかもしれない。しかし,こうしたプログラミングはしな

いほうがよい。より一般的に,破壊された交換プログラムが,まだ利用可能な他の交換プロ

グラムによって使用される場合,このクラスのコードは,もはや参照されなくなるまでVM

メソッド領域に維持されている必要があるかもしれない。 

12.3.7 アプレットに対するClassMapper ClassMapperは,MHEG-6アプレットオブジェクトに対して同

様の振る舞いをするものとする。それに加えて,ClassMapperは,次のことを行う。 

− アプレットのMHEG参照を,対応するJava実体及びスレッドオブジェクトに対応付ける。対象とな

るクラスのコンストラクタにおける活性化振る舞い呼出しの後,これら両方は,MHEGアプレットオ

ブジェクトの寿命を通じて記憶されなければならない。 

22 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

− Invoke基本操作を,待ち行列に加えるメソッド呼出しに変換する。 

background image

23 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

附属書A(規定) ASN.1表記法 

附属書Aでは,MHEG-6オブジェクトの構文のためのASN.1表記法について規定する。 

ASN.1表記法の使用は,サービスの配布及び配置を行うために推奨される。実際,ASN.1表記法は,一

般的にテキスト表記法よりも1/3〜1/4の大きさのバイナリ形式を生成すると考えられる。 

ASN.1表記法を用いて符号化されるMHEG-6オブジェクトは,すべて次のASN.1構文を使用して記述

されなければならない。また,ISO/IEC 8825-1 : 1995 | ITU-T勧告X.690で定義される識別符号化規則 

(DER) に従って符号化されなければならない。 

次の構文は,JIS X 4345の附属書Aで定義されるものと互換性がある。したがって,JIS X 4345の附属

書Aに従って符号化されたMHEG-5オブジェクトは,すべてMHEG-6オブジェクトでもある。すなわち,

この附属書の構文に適合している。 

--Copyright statement: 

--© International Organisation for Standardisation 1998 

--Permission to copy in any form is granted for use with conforming MHEG-6 engines 

and applications 

--provided this notice is included in all copies 

--$PREFIX=ISOMHEG-mheg-6 : mheg-6 

-- Module : mheg-6 

ISO13522-MHEG-6 {joint-iso-itu-t (2) mheg (19) version (1) mheg-6 (18)}  

DEFINITIONS IMPLICIT TAGS : : = BEGIN 

-- This module defines the MHG-6 abstract syntax which consists of data values of 

type: 

-- ISO13522-MHEG-6. InterchangedObject.  

-- This abstract syntax is identified by the name: 

-- {joint-iso-itu-t (2) mheg (19) version (1) mheg-6 (18)}. 

InterchangedObject  : : = CHOICE { 

  application [0] ApplicationClass, 

  scene  [1] SceneClass 

-- <A.1> Root Class 

RootClass  : : = ObjectReference 

-- <A.2> Group Class 

24 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

GroupClass  : : = SET { 

  RootClass (WITH COMPONENTS 

    {external-reference (WITH COMPONENTS {..., object-number (0)}) PRESENT}), 

  standard-identifier     [2] StandardIdentifier OPTIONAL, 

  standard-version      [3] INTEGER (1) OPTIONAL, 

  object-information     [4] OCTET STRING OPTIONAL, 

  on-start-up         [5] ActionClass OPTIONAL, 

  on-close-down        [6] ActionClass OPTIONAL, 

  original-group-cache-priority [7] INTEGER (0..255) DEFAULT 127, 

  items             [8] SEQUENCE SIZE (1..MAX) OF GroupItem OPTIONAL 

StandardIdentifier  : : = SEQUENCE { 

  joint-iso-itu INTEGER (2), 

  mheg INTEGER (19)  

GroupItem  : : = CHOICE { 

  resident-program    [9] ResidentProgramClass, 

  remote-program     [10] RemoteProgramClass, 

  interchanged-program  [11] InterchangedProgramClass, 

  palette          [12] PaletteClass, 

  font            [13] FontClass, 

  cursor-shape       [14] CursorShapeClass, 

  boolean-variable     [15] BooleanVariableClass, 

  integer-variable     [16] IntegerVariableClass, 

  octet-string-variable  [17] OctetStringVariableClass, 

  object-ref-variable   [18] ObjectRefVariableClass, 

  content-ref-variable  [19] ContentRefVariableClass, 

  link            [20] LinkClass, 

  stream           [21] StreamClass, 

  bitmap           [22] BitmapClass, 

  line-art          [23] LineArtClass, 

  dynamic-line-art     [24] DynamicLineArtClass, 

  rectangle         [25] RectangleClass, 

  hotspot          [26] HotspotClass, 

  switch-button       [27] SwitchButtonClass, 

  push-button        [28] PushButtonClass, 

  text            [29] TextClass, 

background image

25 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

  entry-field        [30] EntryFieldClass, 

  hyper-text         [31] HyperTextClass, 

  slider           [32] SliderClass, 

  token-group        [33] TokenGroupClass, 

  list-group         [34] ListGroupClass 

  applet         [237] AppletClass 

-- <A.3> Application Class 

ApplicationClass  : : = SET 

  COMPONENTS OF GroupClass, 

  on-spawn-close-down  [35] ActionClass OPTIONAL, 

  on-restart       [36] ActionClass OPTIONAL, 

  default-attributes  [37] SEQUENCE SIZE (1..MAX) OF DefaultAttribute OPTIONAL 

DefaultAttribute  : : = CHOICE { 

  character-set     [38] INTEGER, 

  background-colour   [39] Colour, 

  text-content-hook   [40] INTEGER, 

  text-colour      [41] Colour, 

  font          [42] FontBody, 

  font-attributes    [43] OCTET STRING, 

  interchanged-program-content-hook  [44] INTEGER, 

  stream-content-hook  [45] INTEGER, 

  bitmap-content-hook  [46] INTEGER, 

  line-art-content-hook [47] INTEGER, 

  button-ref-colour   [48] Colour, 

  highlight-ref-colour [49] Colour, 

  slider-ref-colour   [50] Colour. 

FontBody  : : = CHOICE { 

  direct-font OCTET STRING, 

  indirect-font ObjectReference } 

-- <A.4> Scene Class 

SceneClass  : : = SET { 

  COMPONENTS OF GroupClass, 

26 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

  input-event-register   [51] INTEGER, 

  scene-coordinate-system  [52] SceneCoordinateSystem, 

  aspect-ratio        [53] AspectRatio DEFAULT {width 4, height 3}, 

  moving-cursor       [54] BOOLEAN DEFAULT FALSE, 

  next-scenes        [55] SEQUENCE SIZE (1..MAX) OF NextScene OPTIONAL 

SceneCoordinateSystem  : : = SEQUENCE { 

  x-scene INTEGER, 

  y-scene INTEGER 

AspectRatio  : : = SEQUENCE { 

 width INTEGER, 

 height INTEGER 

NextScene  : : = SEQUENCE { 

 scene-ref  OCTET STRING, 

 scene-weight INTEGER (0..255)  

-- <A.5> Ingredient Class 

IngredientClass  : : = SET { 

 RootClass (WITH COMPONENTS 

  {..., external-reference (WITH COMPONENTS (..., object-number (1..MAX)})}), 

 initially-active  [56] BOOLEAN DEFAULT TRUE, 

 content-hook    [57] INTEGER OPTIONAL, 

 original-content  [58] ContentBody OPTIONAL, 

 shared        [59] BOOLEAN DEFAULT FALSE 

ContentBody  : : = CHOICE { 

 included-content  OCTET STRING, 

 referenced-content ReferencedContent 

ReferencedContent  : : = SEQUENCE { 

 content-reference  ContentReference, 

27 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

 content-size        [60] INTEGER OPTIONAL, 

 content-cache-priority  [61] INTEGER (0..255) DEFAULT 127 

-- <A.6> Link Class 

LinkClass  : : = SET { 

 COMPONENTS OF IngredientClass (WITH COMPONENTS 

  (..., content-hook ABSENT, original-content ABSENT}), 

 link-condition  [62] LinkCondition, 

 link-effect    [63] ActionClass 

LinkCondition  : : = SEQUENCE { 

 event-source ObjectReference, 

 event-type  EventType, 

 event-data  EventData OPTIONAL 

EventType  : : = ENUMERATED { 

 is-available     (1), 

 content-available   (2), 

 is-deleted       (3) 

 is-running       (4), 

 is-stopped       (5), 

 user-input       (6), 

 anchor-fired      (7), 

 timer-fired       (8), 

 asynch-stopped     (9), 

 interaction-completed (10), 

 token-moved-from    (11), 

 token-moved-to     (12), 

 stream-event      (13), 

 stream-playing     (14), 

 stream-stopped     (15), 

 counter-trigger    (16), 

 highlight-on      (17), 

 highlight-off     (18), 

 cursor-enter      (19), 

 cursor-leave      (20), 

background image

28 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

 is-selected      (21), 

 is-deselected     (22), 

 test-event       (23), 

 first-item-presented  (24), 

 last-item-presented  (25), 

 head-items       (26), 

 tail-items       (27), 

 item-selected     (28), 

 item-deselected    (29), 

 entry-field-full    (30), 

 engine-event     (31), 

EventData  : : = CHOICE {  

 octetstring OCTET STRING, 

 boolean    BOOLEAN, 

 integer    INTEGER 

-- <A.7> Program Class 

ProgramClass  : : = SET { 

 COMPONENTS OF IngredientClass (WITH COMPONENTS {..., initially-active (FALSE) 

PRESENT}), 

 name           [64] OCTET STRING, 

 initially-available   [65] BOOLEAN DEFAULT TRUE 

-- <A.8> ResidentProgram Class 

ResidentProgramClass  : : = ProgramClass 

 (WITH COMPONENTS (..., content-hook ABSENT, original-content ABSENT}) 

-- <A.9> RemoteProgram Class 

RemoteProgramClass  : : = SET { 

 COMPONENTS OF ProgramClass (WITH COMPONENTS {..., content-hook ABSENT, 

original-content ABSENT}), 

 program-connection-tag   [66] INTEGER OPTIONAL 

background image

29 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

-- <A.10> InterchangedProgram Class 

InterchangedProgramClass  : : = ProgramClass (WITH  COMPONENTS 

 {..., original-content PRESENT, content-hook (0)}) 

-- <A.11> Palette Class 

PaletteClass  : : = IngredientClass (WITH COMPONENTS 

 (..., content-hook PRESENT, original-content PRESENT, initially-active (TRUE)}) 

-- <A.12> Font Class 

FontClass  : : = IngredientClass (WITH COMPONENTS 

 (..., content-hook PRESENT, original-content PRESENT, initially-active (TRUE)}) 

-- <A.13> CursorShape Class 

CursorShapeClass  : : = IngredientClass (WITH COMPONENTS  

 {..., content-hook PRESENT, original-content PRESENT, initially-active (TRUE)}) 

-- <A.14> Variable Class 

VariableClass  : : = SET { 

 COMPONENTS OF IngredientClass (WITH COMPONENTS 

  (..., content-hook ABSENT, original-content ABSENT, initially-active (TRUE)}), 

 original-value  [67] OriginalValue 

OriginalValue  : : = CHOICE { 

 boolean      BOOLEAN, 

 integer      INTEGER, 

 octetstring    OCTET STRING, 

 object-reference   [68] ObjectReference, 

 content-reference   [69] ContentReference 

--<A.15> BooleanVariable Class 

BooleanVariableClass  : : = VariableClass (WITH COMPONENTS 

 {..., original-value (WITH COMPONENTS {boolean PRESENT})}) 

background image

30 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

-- <A.16> IntegerVariable Class 

IntegerVariableClass  : : = VariableClass (WITH COMPONENTS 

 {..., original-value (WITH COMPONENTS {integer PRESENT})}) 

-- <A.17> OctetStringVariable Class 

OctetStringVariableClass  : : = VariableClass (WITH COMPONENTS 

 {..., original-value (WITH COMPONENTS {octetstring PRESENT})}) 

-- <A.18> ObjectReferenceVariable Class 

ObjectRefVariableClass  : : = VariableClass (WITH COMPONENTS 

 {..., original-value (WITH COMPONENTS {object-reference PRESENT})}) 

-- <A.19> ContentReferenceVariable Class 

ContentRefVariableClass  : : = VariableClass (WITH COMPONENTS 

 {..., original-value (WITH COMPONENTS {content-reference PRESENT})}) 

-- <A.20> Presentable Class 

PresentableClass  : : = IngredientClass 

-- <A.21> TokenManager Class 

TokenManagerClass  : : = SET { 

 movement-table [70] SEQUENCE SIZE (1..MAX) OF Movement OPTIONAL 

Movement  : : = SEQUENCE SIZE (1..MAX) OF INTEGER 

-- <A.22> TokenGroup Class 

TokenGroupClass  : : = SET { 

 COMPONENTS OF PresentableClass (WITH COMPONENTS 

  {..., content-hook ABSENT, original-content ABSENT}), 

 COMPONENTS OF TokenManagerClass, 

 token-group-items     [71] SEQUENCE SIZE (1..MAX) OF TokenGroupItem, 

background image

31 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

 no-token-action-slots  [72] SEQUENCE SIZE (1..MAX) OF ActionSlot OPTIONAL 

TokenGroupItem  : : = SEQUENCE { 

 a-visible ObjectReference, 

 action-slots SEQUENCE SIZE (1..MAX) OF ActionSlot OPTIONAL 

ActionSlot  : : = CHOICE { 

 action-class ActionClass, 

 null  NULL 

-- <A.23> ListGroup Class 

ListGroupClass  : : = SET { 

 COMPONENTS OF TokenGroupClass, 

 positions       [73] SEQUENCE SIZE (1..MAX) OF XYPosition, 

 wrap-around      [74] BOOLEAN DEFAULT FALSE, 

 multiple-selection  [75] BOOLEAN DEFAULT FALSE 

-- <A.24> Visible Class 

VisibleClass  : : = SET { 

 COMPONENTS OF PresentableClass, 

 original-box-size   [76] OriginalBoxSize, 

 original-position   [77] XYPosition DEFAULT {x-position 0, y-position 0}, 

 original-palette-ref   [78] ObjectReference OPTIONAL 

OriginalBoxSize  : : = SEQUENCE { 

 x-length INTEGER (0..MAX), 

 y-length INTEGER (0..MAX)  

-- <A.25> Bitmap Class 

BitmapClass  : : = SET { 

 COMPONENTS OF VisibleClass (WITH COMPONENTS {..., original-content PRESENT}), 

background image

32 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

 tiling  [79] BOOLEAN DEFAULT FALSE, 

 original-transparency   [80] INTEGER (0..100) DEFAULT 0 

-- <A.26> LineArt Class 

LineArtClass  : : = SET { 

 COMPONENTS OF VisibleClass (WITH COMPONENTS {..., original-content PRESENT}), 

 bordered-bounding-box   [81] BOOLEAN DEFAULT TRUE, 

 original-line-width    [82] INTEGER DEFAULT 1, 

 original-line-style    [83] INTEGER {solid (1), dashed (2), dotted (3)} DEFAULT 

solid, 

 original-ref-line-colour  [84] Colour OPTIONAL, 

 original-ref-fill-colour  [85] Colour OPTIONAL 

-- <A.27> Rectangle Class 

RectangleClass  : : = LineArtClass (WITH COMPONENTS 

 {..., content-hook ABSENT, original-content ABSENT, bordered-bounding-box 

ABSENT}) 

-- <A.28> DynamicLineArt Class 

DynamicLineArtClass  : : = LineArtClass (WITH COMPONENTS 

 {..., content-hook ABSENT, original-content ABSENT}) 

-- <A.29> Text Class 

TextClass  : : = SET { 

 COMPONENTS OF VisibleClass (WITH COMPONENTS {..., original-content PRESENT}), 

 original-font       [86] FontBody OPTIONAL, 

 font-attributes      [43] OCTET STRING OPTIONAL, 

 text-colour       [41] Colour OPTIONAL, 

 background-colour    [39] Colour OPTIONAL, 

 character-set      [38] INTEGER OPTIONAL, 

 horizontal-justification  [87] Justification DEFAULT start, 

 vertical-justification  [88] Justification DEFAULT start, 

 line-orientation      [89] LineOrientation DEFAULT horizontal, 

 start-corner        [90] StartCorner DEFAULT upper-left, 

background image

33 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

 text-wrapping       [91] BOOLEAN DEFAULT FALSE 

Justification  : : = ENUMERATED {start (1), end (2), centre (3), justified (4)}  

LineOrientation  : : = ENUMERATED {vertical (1), horizontal (2)}  

StartCorner  : : = ENUMERATED {upper-left (1), upper-right (2), lower-left (3), 

lower-right (4)}  

-- <A.30> Stream Class 

StreamClass  : : = SET { 

 COMPONENTS OF PresentableClass (WITH COMPONENTS {..., original-content PRESENT}), 

 multiplex    [92] SEQUENCE SIZE (1..MAX) OF StreamComponent, 

 storage    [93] Storage DEFAULT stream, 

 looping    [94] INTEGER {infinity (0)} DEFAULT 1 

StreamComponent  : : = CHOICE { 

 audio    [95] AudioClass, 

 video    [96] VideoClass, 

 rtgraphics  [97] RTGraphicsClass 

Storage  : : = ENUMERATED {memory (1), stream (2)}  

-- <A.31> Audio Class 

AudioClass  : : = SET { 

 COMPONENTS OF PresentableClass (WITH COMPONENTS 

  {...,content-hook ABSENT, original-content ABSENT, shared ABSENT}), 

 component-tag  [98] INTEGER, 

 original-volume [99] INTEGER DEFAULT 0 

-- <A.32> Video Class 

VideoClass  : : = SET { 

 COMPONENTS OF VisibleClass (WITH COMPONENTS 

background image

34 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

  {..., content-hook ABSENT, original-content ABSENT, shared 

ABSENT,original-palette-ref ABSENT}), 

 component-tag   [98] INTEGER, 

 termination    [100] Termination DEFAULT disappear 

Termination  : : = ENUMERATED {freeze (1), disappear (2)}  

-- <A.33> RTGraphics Class 

RTGraphicsClass  : : = SET { 

 COMPONENTS OF VisibleClass (WITH COMPONENTS 

  {..., content-hook ABSENT, original-content ABSENT, shared ABSENT}), 

 component-tag  [98] INTEGER, 

 termination   [100] Termination DEFAULT disappear 

-- <A.34> Interactible Class 

InteractibleClass  : : = SET { 

 engine-resp        [101] BOOLEAN DEFAULT TRUE, 

 highlight-ref-colour   [49] Colour OPTIONAL 

-- <A.35> Slider Class 

SliderClass  : : = SET { 

 COMPONENTS OF VisibleClass (WITH COMPONENTS {..., content-hook ABSENT, 

original-content ABSENT}), 

 COMPONENTS OF InteractibleClass, 

 orientation      [102] Orientation, 

 max-value       [103] INTEGER, 

 min-value        [104] INTEGER DEFAULT 1, 

 initial-value     [105] INTEGER OPTIONAL, 

 initial-portion    [106] INTEGER OPTIONAL, 

 step-size       [107] INTEGER DEFAULT 1, 

 slider-style     [108] SliderStyle DEFAULT normal, 

 slider-ref-colour   [50] Colour OPTIONAL 

background image

35 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

Orientation  : : = ENUMERATED {left (1), right (2), up (3), down (4)}  

SliderStyle  : : = ENUMERATED {normal (1), thermometer (2), proportional (3)}  

-- <A.36> EntryField Class 

EntryFieldClass  : : = SET { 

 COMPONENTS OF TextClass, 

 COMPONENTS OF InteractibleClass, 

 input-type      [109] InputType DEFAULT any, 

 char-list      [110] OCTET STRING OPTIONAL, 

 obscured-input   [111] BOOLEAN DEFAULT FALSE, 

 max-length     [112] INTEGER DEFAULT 0 

InputType  : : = ENUMERATED {alpha (1), numeric (2), any (3), listed (4)}  

-- <A.37> HyperText Class 

HyperTextClass : : = SET { 

 COMPONENTS OF TextClass, 

 COMPONENTS OF InteractibleClass 

-- <A.38> Button Class 

ButtonClass  : : = SET { 

 COMPONENTS OF VisibleClass (WITH COMPONENTS {..., content-hook ABSENT, 

original-content ABSENT}), 

 COMPONENTS OF InteractibleClass, 

 button-ref-colour   [48] Colour OPTIONAL 

--<A.39> Hotspot Class 

HotspotClass  : : = ButtonClass 

-- <A.40> PushButton Class 

PushButtonClass  : : = SET { 

background image

36 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

 COMPONENTS OF ButtonClass, 

 original-label    [113] OCTET STRING OPTIONAL, 

 character-set     [38] INTEGER OPTIONAL 

-- <A.41> SwitchButton Class 

SwitchButtonClass  : : = SET { 

 COMPONENTS OF PushButtonClass, 

 button-style   [114] ButtonStyle 

ButtonStyle  : : = ENUMERATED {pushbutton (1), radiobutton (2), checkbox (3)}  

-- <A.42> Applet Class 

AppletClass  : : = SET { 

 COMPONENTS OF InterchangedProgramClass, 

 COMPONENTS OF InteractibleClass, 

 original-box-size   [76] OriginalBoxSize, 

 original-position   [77] XYPosition DEFAULT {x-position 0, y-position 0}  

-- <A.43> Action Class 

ActionClass  : : = SEQUENCE SIZE (1..MAX) OF ElementaryAction 

ElmentaryAction  : : = CHOICE { 

 activate        [115] GenericObjectReference, 

 add           [116] Add, 

 add-item        [117] AddItem, 

 append         [118] Append, 

 bring-to-front    [119] GenericObjectReference, 

 call          [120] Call, 

 call-action-slot   [121] CallActionSlot, 

 clear          [122] GenericObjectReference, 

 clone          [123] Clone, 

 close-connection    [124] CloseConnection, 

 deactivate       [125] GenericObjectReference, 

 del-item        [126] DelItem, 

37 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

 deselect        [127] GenericObjectReference, 

 deselect-item     [128] DeselectItem, 

 divide         [129] Divide, 

 draw-arc        [130] DrawArc, 

 draw-line       [131] DrawLine, 

 draw-oval       [132] DrawOval, 

 draw-polygon    [133] DrawPolygon, 

 draw-polyline   [134] DrawPolyline, 

 draw-rectangle  [135] DrawRectangle, 

 draw-sector    [136] DrawSector, 

 fork        [137] Fork, 

 get-availability-status   [138] GetAvailabilityStatus, 

 get-box-size    [139] GetBoxSize, 

 get-cell-item   [140] GetCellItem, 

 get-cursor-position   [141] GetCursorPosition, 

 get-engine-support  [142] GetEngineSupport, 

 get-entry-point  [143] GetEntryPoint, 

 get-fill-colour  [144] GetFillColour, 

 get-first-item  [145] GetFirstItem, 

 get-highlight-status   [146] GetHighlightStatus, 

 get-interaction-status   [147] GetInteractionStatus, 

 get-item-status  [148] GetItemStatus, 

 get-label      [149] GetLabel, 

 get-last-anchor-fired   [150] GetLastAnchorFired, 

 get-line-colour   [151] GetLineColour, 

 get-line-style   [152] GetLineStyle, 

 get-line-width    [153] GetLineWidth, 

 get-list-item   [154] GetListItem, 

 get-list-size   [155] GetListSize, 

 get-overwrite-mode   [156] GetOverwriteMode, 

 get-portion       [157] GetPortion, 

 get-position      [158] GetPosition, 

 get-running-status   [159] GetRunningStatus, 

 get-selection-status  [160] GetSelectionStatus, 

 get-slider-value     [161] GetSlidervalue, 

 get-text-content     [162] GetTextContent, 

 get-text-data      [163] GetTextData, 

 get-token-position    [164] GetTokenPosition, 

 get-volume        [165] GetVolume, 

 invoke          [238] Invoke, 

38 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

 launch          [166] GenericObjectReference, 

 lock-screen       [167] GenericObjectReference, 

 modulo          [168] Modulo, 

 move           [169] Move, 

 move-to         [170] MoveTo, 

 multiply        [171] Multiply, 

 open-connection     [172] OpenConnection, 

 preload         [173] GenericObjectReference, 

 put-before       [174] PutBefore, 

 put-behind       [175] PutBehind, 

 quit          [176] GenericObjectReference, 

 read-persistent    [177] ReadPersistent, 

 run           [178] GenericObjectReference, 

 scale-bitmap     [179] ScaleBitmap, 

 scale-video      [180] ScaleVideo, 

 scroll-items     [181] ScrollItems, 

 select         [182] GenericObjectReference, 

 select-item      [183] SelectItem, 

 send-event      [184] SendEvent, 

 send-to-back     [185] GenericObjectReference, 

 set-box-size     [186] SetBoxSize, 

 set-cache-priority   [187] SetCachePriority, 

 set-counter-end-position   [188] SetCounterEndPosition, 

 set-counter-position   [189] SetCounterPosition, 

 set-counter-trigger   [190] SetCounterTrigger, 

 set-cursor-position   [191] SetCursorPosition, 

 set-cursor-shape   [192] SetCursorShape, 

 set-data       [193] SetData, 

 set-entry-point  [194] SetEntryPoint, 

 set-fill-colour  [195] SetFillColour, 

 set-first-item  [196] SetFirstItem, 

 set-font-ref   [197] SetFontRef, 

 set-highlight-status   [198] SetHighlightStatus, 

 set-interaction-status   [199] SetinteractionStatus, 

 set-label     [200] SetLabel, 

 set-line-colour  [201] SetLineColour, 

 set-line-style  [202] SetLineStyle, 

 set-line-width  [203] SetLineWidth, 

 set-overwrite-mode   [204] SetOverwriteMode, 

 set-palette-ref  [205] SetPaletteRef, 

39 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

 set-portion    [206] SetPortion, 

 set-position   [207] SetPosition, 

 set-slider-value   [208] SetSlidervalue, 

 set-speed    [209] SetSpeed, 

 set-timer    [210] SetTimer, 

 set-transparency   [211] SetTransparency, 

 set-variable    [212] SetVariable, 

 set-volume     [213] SetVolume, 

 spawn        [214] GenericObjectReference, 

 step        [215] Step, 

 stop        [216] GenericObjectReference, 

 store-persistent   [217] StorePersistent, 

 subtract     [218] Subtract, 

 test-variable  [219] TestVariable, 

 toggle      [220] GenericObjectReference, 

 toggle-item   [221] ToggleItem, 

 transition-to  [222] TransitionTo, 

 unload      [223] GenericObjectReference, 

 unlock-screen  [224] GenericObjectReference 

Add  : : = SEQUENCE { 

 target  GenericObjectReference, 

 value   GenericInteger 

AddItem  : : = SEQUENCE { 

 target       GenericObjectReference, 

 item-index     GenericInteger, 

 visible-reference  GenericObjectReference 

Append  : : = SEQUENCE { 

 target      GenericObjectReference, 

 append-value  GenericOctetString 

Call  : : = SEQUENCE { 

 target       GenericObjectReference, 

 call-succeeded  ObjectReference, 

40 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

 parameters    SEQUENCE SIZE (1..MAX) OF Parameter OPTIONAL 

CallActionSlot  : : = SEQUENCE { 

 target  GenericObjectReference, 

 index  GenericInteger 

Clone  : : = SEQUENCE { 

 target      GenericObjectReference, 

 clone-ref-var  ObjectReference 

CloseConnection  : : = SEQUENCE { 

 target      GenericObjectReference, 

 connection-tag  GenericInteger 

DelItem  : : = SEQUENCE { 

 target     GenericObjectReference, 

 visible-reference  GenericObjectReference 

DeselectItem  : : = SEQUENCE { 

 target      GenericObjectReference, 

 item-index    GenericInteger 

Divide  : : = SEQUENCE { 

 target      GenericObjectReference, 

 value       GenericInteger 

DrawArc  : : = SEQUENCE { 

 target      GenericObjectReference, 

 x         GenericInteger, 

 y         GenericInteger, 

 ellipse-width  GenericInteger, 

 ellipse-height  GenericInteger, 

 start-angle    GenericInteger, 

41 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

 arc-angle     GenericInteger 

DrawLine  : : = SEQUENCE { 

 target  GenericObjectReference, 

 x1    GenericInteger, 

 y1    GenericInteger, 

 x2    GenericInteger, 

 y2    GenericInteger 

DrawOval  : : = SEQUENCE { 

 target      GenericObjectReference, 

 x         GenericInteger, 

 y         GenericInteger, 

 ellipse-width  GenericInteger, 

 ellipse-height  GenericInteger 

DrawPolygon  : : = SEQUENCE { 

 target  GenericObjectReference, 

 pointlist  SEQUENCE SIZE (1..MAX) OF Point 

DrawPolyline  : : = SEQUENCE { 

 target  GenericObjectReference, 

 pointlist  SEQUENCE SIZE (1..MAX) OF Point 

DrawRectangle  : : = SEQUENCE { 

 target  GenericObjectReference, 

 x1    GenericInteger, 

 y1    GenericInteger, 

 x2    GenericInteger, 

 y2    GenericInteger 

DrawSector  : : = SEQUENCE { 

 target      GenericObjectReference, 

 x         GenericInteger, 

42 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

 y         GenericInteger, 

 ellipse-width  GenericInteger, 

 ellipse-height  GenericInteger, 

 start-angle   GenericInteger, 

 arc-angle    GenericInteger 

Fork  : : = SEQUENCE { 

 target      GenericObjectReference, 

 fork-succeeded ObjectReference, 

 parameters    SEQUENCE SIZE (1..MAX) OF Parameter OPTIONAL 

GetAvailabilityStatus  : : = SEQUENCE { 

 target      GenericObjectReference, 

 availability-status-Var ObjectReference 

GetBoxSize  : : = SEQUENCE { 

 target      GenericObjectReference, 

 x-box-size-var ObjectReference, 

 y-box-size-var ObjectReference 

GetCellItem  : : = SEQUENCE { 

 target     GenericObjectReference, 

 cell-index   GenericInteger, 

 item-ref-var ObjectReference 

GetCursorPosition  : : = SEQUENCE { 

 target  GenericObjectReference, 

 x-out  ObjectReference, 

 y-out  ObjectReference 

GetEngineSupport  : : = SEQUENCE { 

 target   GenericObjectReference, 

 feature  GenericOctetString, 

 answer  ObjectReference 

43 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

GetEntryPoint  : : = SEQUENCE { 

 target      GenericObjectReference, 

 entry-point-var ObjectReference 

GetFillColour  : : = SEQUENCE { 

 target       GenericObjectReference, 

 fill-colour-var ObjectReference 

GetFirstItem  : : = SEQUENCE { 

 target       GenericObjectReference, 

 first-item-var  ObjectReference 

GetHighlightStatus  : : = SEQUENCE { 

 target       GenericObjectReference, 

 highlight-status-var ObjectReference 

GetInteractionStatus  : : = SEQUENCE { 

 target        GenericObjectReference, 

 interaction-status-var ObjectReference 

GetItemStatus  : : = SEQUENCE { 

 target       GenericObjectReference, 

 item-index     GenericInteger, 

 item-status-var ObjectReference 

GetLabel  : : = SEQUENCE { 

 target      GenericObjectReference, 

 label-var    ObjectReference 

GetLastAnchorFired  : : = SEQUENCE { 

 target      GenericObjectReference, 

 last-anchor-fired-var ObjectReference 

44 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

GetLineColour  : : = SEQUENCE { 

 target     GenericObjectReference, 

 line-colour-var ObjectReference 

GetLineStyle  : : = SEQUENCE { 

 target      GenericObjectReference, 

 line-style-var ObjectReference 

GetLineWidth  : : = SEQUENCE { 

 target      GenericObjectReference, 

 line-width-var ObjectReference 

GetListItem  : : = SEQUENCE { 

 target     GenericObjectReference, 

 item-index   GenericInteger, 

 item-ref-var ObjectReference 

GetListSize  : : = SEQUENCE { 

 target     GenericObjectReference, 

 size-var   ObjectReference 

GetOverwriteMode  : : = SEQUENCE { 

 target     GenericObjectReference, 

 overwrite-mode-var ObjectReference 

GetPortion  : : = SEQUENCE { 

 target     GenericObjectReference, 

 portion-var  ObjectReference 

GetPosition  : : = SEQUENCE { 

 target     GenericObjectReference, 

45 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

 x-position-var ObjectReference, 

 y-position-var ObjectReference 

GetRunningStatus  : : = SEQUENCE { 

 target      GenericObjectReference, 

 running-status-var ObjectReference 

GetSelectionStatus  : : = SEQUENCE { 

 target        GenericObjectReference, 

 selection-status-var ObjectReference 

GetSlidervalue  : : = SEQUENCE { 

 target      GenericObjectReference, 

 slider-value-var ObjectReference 

GetTextContent  : : = SEQUENCE { 

 target       GenericObjectReference, 

 text-content-var ObjectReference 

GetTextData  : : = SEQUENCE { 

 target       GenericObjectReference, 

 text-data-var  ObjectReference 

GetTokenPosition  : : = SEQUENCE { 

 target       GenericObjectReference, 

 token-position-var ObjectReference 

GetVolume  : : = SEQUENCE { 

 target       GenericObjectReference, 

 volume-var    ObjectReference 

Invoke  : : = SEQUENCE { 

46 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

 target       GenericObjectReference, 

 invoke-succeeded ObjectReference, 

 method       GenericOctetString, 

 parameters     SEQUENCE SIZE (1..MAX) OF Parameter OPTIONAL 

Modulo  : : = SEQUENCE { 

 target  GenericObjectReference, 

 value  GenericInteger 

Move  : : = SEQUENCE { 

 target      GenericObjectReference, 

 movement-identifier  GenericInteger 

MoveTo  : : = SEQUENCE { 

 target   GenericObjectReference, 

 index   GenericInteger 

Multiply  : : = SEQUENCE { 

 target  GenericObjectReference, 

 value   GenericInteger 

OpenConnection  : : = SEQUENCE { 

 target      GenericObjectReference, 

 open-succeeded ObjectReference, 

 protocol     GenericOctetString, 

 address     GenericOctetString, 

 connection-tag  GenericInteger 

PutBefore  : : = SEQUENCE { 

 target         GenericObjectReference, 

 reference-visible  GenericObjectReference 

PutBehind  : : = SEQUENCE { 

47 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

 target         GenericObjectReference, 

 reference-visible  GenericObjectReference 

ReadPersistent  : : = SEQUENCE { 

 target      GenericObjectReference, 

 read-succeeded ObjectReference, 

 out-variables  SEQUENCE SIZE (1..MAX) OF ObjectReference, 

 in-file-name   GenericOctetString 

ScaleBitmap  : : = SEQUENCE { 

 target   GenericObjectReference, 

 x-scale  GenericInteger, 

 y-scale  GenericInteger 

ScaleVideo  : : = SEQUENCE { 

 target   GenericObjectReference, 

 x-scale  GenericInteger, 

 y-scale  GenericInteger 

ScrollItems  : : = SEQUENCE { 

 target       GenericObjectReference, 

 items-to-scroll  GenericInteger 

SelectItem  : : = SEQUENCE { 

 target   GenericObjectReference, 

 item-index  GenericInteger 

SendEvent  : : = SEQUENCE { 

 target           GenericObjectReference, 

 emulated-event-source  GenericObjectReference, 

 emulated-event-type   EventType, 

 emulated-event-data   EmulatedEventData OPTIONAL 

48 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

SetBoxSize  : : = SEQUENCE { 

 target       GenericObjectReference, 

 x-new-box-size  GenericInteger, 

 y-new-box-size  GenericInteger 

SetCachePriority  : : = SEQUENCE { 

 target         GenericObjectReference, 

 new-cache-priority  GenericInteger 

SetCounterEndPosition  : : = SEQUENCE { 

 target        GenericObjectReference, 

 new-counter-end-position  GenericInteger 

SetCounterPosition  : : = SEQUENCE { 

 target       GenericObjectReference, 

 new-counter-position  GenericInteger 

SetCounterTrigger  : : = SEQUENCE { 

 target       GenericObjectReference, 

 trigger-identifier  GenericInteger, 

 new-counter-value  GenericInteger OPTIONAL 

SetCursorPosition  : : = SEQUENCE { 

 target   GenericObjectReference, 

 x-cursor  GenericInteger, 

 y-cursor  GenericInteger 

SetCursorShape  : : = SEQUENCE { 

 target        GenericObjectReference, 

 new-cursor-shape  GenericObjectReference OPTIONAL 

SetData  : : = SEQUENCE { 

 target     GenericObjectReference, 

49 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

 new-content  NewContent 

SetEntryPoint  : : = SEQUENCE { 

 target       GenericObjectReference, 

 new-entry-point  GenericInteger 

SetFillColour  : : = SEQUENCE { 

 target       GenericObjectReference, 

 new-fill-colour  NewColour OPTIONAL 

SetFirstItem  : : = SEQUENCE { 

 target     GenericObjectReference, 

 new-first-item  GenericInteger 

SetFontRef  : : = SEQUENCE { 

 target   GenericObjectReference, 

 new-font  NewFont 

SetHighlightStatus  : : = SEQUENCE { 

 target       GenericObjectReference, 

 new-highlight-status  GenericBoolean 

SetInteractionStatus  : : = SEQUENCE { 

 target       GenericObjectReference, 

 new-interaction-status  GenericBoolean 

SetLabel  : : = SEQUENCE { 

 target     GenericObjectReference, 

 new-label   GenericOctetString 

SetLineColour  : : = SEQUENCE { 

 target     GenericObjectReference, 

 new-line-colour  NewColour 

50 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

SetLineStyle  : : = SEQUENCE { 

 target      GenericObjectReference, 

 new-line-style  GenericInteger 

SetLineWidth  : : = SEQUENCE { 

 target       GenericObjectReference, 

 new-line-width  GenericInteger 

SetOverwriteMode  : : = SEQUENCE { 

 target         GenericObjectReference, 

 new-overwrite-mode  GenericBoolean 

SetPaletteRef  : : = SEQUENCE { 

 target       GenericObjectReference, 

 new-palette-ref  GenericObjectReference 

SetPortion  : : = SEQUENCE { 

 target      GenericObjectReference, 

 new-portion  GenericInteger 

SetPosition  : : = SEQUENCE { 

 target       GenericObjectReference, 

 new-x-position  GenericInteger, 

 new-y-position  GenericInteger 

SetSliderValue  : : = SEQUENCE { 

 target        GenericObjectReference, 

 new-slider-value  GenericInteger 

SetSpeed  : : = SEQUENCE { 

 target       GenericObjectReference, 

51 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

 new-speed Rational 

SetTimer  : : = SEQUENCE { 

 target    GenericObjectReference, 

 timer-id   GenericInteger, 

 new-timer   NewTimer OPTIONAL 

NewTimer  : : = SEQUENCE { 

 timer-value   GenericInteger, 

 absolute-time  GenericBoolean OPTIONAL 

SetTransparency  : : = SEQUENCE { 

 target       GenericObjectReference, 

 new-transparency  GenericInteger 

SetVariable  : : = SEQUENCE { 

 target         GenericObjectReference, 

 new-variable-value  NewVariableValue 

SetVolume  : : = SEQUENCE { 

 target    GenericObjectReference, 

 new-volume  GenericInteger 

Step  : : = SEQUENCE { 

 target     GenericObjectReference, 

 nb-of-steps  GenericInteger 

StorePersistent  : : = SEQUENCE { 

 target       GenericObjectReference, 

 store-succeeded ObjectReference, 

 in-variables   SEQUENCE SIZE (1..MAX) OF ObjectReference, 

 out-file-name  GenericOctetString 

52 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

Subtract  : : = SEQUENCE { 

 target  GenericObjectReference, 

 value  GenericInteger 

TestVariable  : : = SEQUENCE { 

 target      GenericObjectReference, 

 operator    GenericInteger, 

 comparison-value  ComparisonValue 

ToggleItem  : : = SEQUENCE { 

 target    GenericObjectReference, 

 item-index  GenericInteger 

TransitionTo  : : = SEQUENCE { 

 target        GenericObjectReference, 

 connection-tag-or-null  ConnectionTagOrNull, 

 transition-effect  GenericInteger OPTIONAL 

ConnectionTagOrNull  : : = CHOICE { 

 connection-tag  GenericInteger, 

 null        NULL 

ComparisonValue  : : = CHOICE { 

 new-generic-boolean      [225] GenericBoolean, 

 new-generic-integer      [226] GenericInteger, 

 new-generic-octetstring    [227] GenericOctetString, 

 new-generic-object-reference  [228] GenericObjectReference, 

 new-generic-content-reference  [229] GenericContentReference 

EmulatedEventData  : : = CHOICE { 

 new-generic-boolean      [225] GenericBoolean, 

 new-generic-integer      [226] GenericInteger, 

 new-generic-octet-string   [227] GenericOctetString 

53 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

NewColour  : : = CHOICE { 

 new-colour-index    [230] GenericInteger, 

 new-absolute-colour  [231] GenericOctetString 

NewContent  : : = CHOICE { 

 new-included-content   GenericOctetString, 

 new-referenced-content  NewReferencedContent 

NewFont  : : = CHOICE { 

 new-font-name     [232] GenericOctetString, 

 new-font-reference  [233] GenericObjectReference 

NewReferencedContent  : : = SEQUENCE 

 generic-content-reference  GenericContentReference, 

 new-content-size       [234] NewContentSize, 

 new-content-cache-priority  [235] GenericInteger OPTIONAL 

NewContentSize  : : = CHOICE { 

 content-size  GenericInteger, 

 null       NULL 

NewVariableValue  : : = CHOICE { 

 new-generic-boolean     [225] GenericBoolean, 

 new-generic-integer     [226] GenericInteger, 

 new-generic-octetstring   [227] GenericOctetString, 

 new-generic-object-reference  [228] GenericObjectReference, 

 new-generic-content-reference  [229] GenericContentReference 

Parameter  : : = CHOICE { 

 new-generic-boolean    [225] GenericBoolean, 

 new-generic-integer    [226] GenericInteger, 

 new-generic-octetstring  [227] GenericOctetString, 

 new-generic-object-reference  [228] GenericObjectReference, 

54 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

 new-generic-content-reference  [229] GenericContentReference 

Point  : : = SEQUENCE { 

 x  GenericInteger, 

 y  GenericInteger 

Rational  : : = SEQUENCE { 

 numerator    GenericInteger, 

 denominator   GenericInteger OPTIONAL 

-- <A.44> Miscellaneous data types 

ObjectReference  : : = CHOICE { 

 external-reference ExternalReference, 

 internal-reference INTEGER (1..MAX)  

ExternalReference  : : = SEQUENCE { 

 group-identifier  OCTET STRING, 

 object-number   INTEGER (0..MAX)  

IndirectReference  : : = [236] ObjectReference 

ContentReference  : : = OCTET STRING 

GenericObjectReference  : : = CHOICE { 

 direct-reference  ObjectReference, 

 indirect-reference  IndirectReference 

GenericContentReference  : : = CHOICE { 

 content-reference   [69] ContentReference, 

 indirect-reference  IndirectReference 

GenericInteger  : : = CHOICE { 

 integer        INTEGER, 

55 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

 indirect-reference  IndirectReference 

GenericBoolean  : : = CHOICE { 

 boolean       BOOLEAN, 

 indirect-reference  IndirectReference 

GenericOctetString  : : = CHOICE { 

 octetstring      OCTET STRING, 

 indirect-reference  IndirectReference 

Colour  : : = CHOICE { 

 colour-index   INTEGER, 

 absolute-colour  OCTET STRING 

XYPosition  : : = SEQUENCE { 

 x-position  INTEGER, 

 y-position  INTEGER 

END 

56 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

附属書B(規定) テキスト表記法 

附属書Bでは,MHEG-6オブジェクトの構文のためのテキスト表記法について規定する。これは,附属

書Aで定義するASN.1表記法の代替表記法である。 

テキスト表記法は,特にオブジェクトの作成及び試験を目的として導入された。オブジェクトを表記す

る能力に関しては,テキスト表記法はASN.1表記法と等価であるので,一方の表記法から他方の表記法を

導くことは容易である。 

次の構文は,JIS X 4345の附属書Bで定義されるものと互換性がある。したがって,JIS X 4345の附属

書Bに従って符号化されたMHEG-5オブジェクトは,すべてこの附属書の構文に適合するMHEG-6オブ

ジェクトでもある。 

B.1 一般的な定義 

B.1.1 文字符号 テキスト表記法は,JIS X 0201の符号化文字集合の0x20 (SP) から0x7e (〜) までの範囲

にある符号化文字を用い,JIS X 0201の附属書1に示された0x09 (HT),0x0a (LF),0x0c (FF) 及び0x0d (CR) 

の制御機能を用いなければならない。それ以外の文字を使用してはならない。 

備考1. テキスト表記法は,使用できる文字符号を制限しているという事実にもかかわらず,8ビット

データを,QPRINTABLE(B.3.4参照),BASE64(B.3.5参照)及びContentReferenceによって

外部参照される内容によって符号化することができる。 

2. 応用領域は,文法に違反しない限り,使用できる文字符号を拡張してもよい。例えば,0x80

から0xfeまでの文字をSTRING又は注釈として使用してもよい。 

B.1.2 区切り子 0x09 (HT),0x0a (LF),0x0c (FF),0x0d (CR) 及び0x20 (SP) は,区切り子と呼ばれる。 

テキスト表記法によって記述される文法は,単語に基づく。単語は,括弧[“(“又は”)”],波括弧[“{“又

は”}”],タグ(B.1.4参照)又は終端記号(B.3参照)のいずれかである。任意の二つの隣り合う単語の

間に,任意の数の区切り子が挿入されても,単語の解釈は変わらない。しかし,少なくとも一つの区切り

子が任意の二つの終端記号の間及びタグと終端記号との間に存在しなければならない。そうでないと,そ

れらは単一の終端記号又は単一のタグと解釈されてしまうからである。 

B.1.3 注釈 STRING,QPRINTABLE及びBASE64(それぞれ,B.3.3,B.3.4及びB.3.5参照)の内部にな

い// (0x2f0x2f) を注釈の開始を示すために使用する。そのような//(//自身も含む。)から次の0x0a (LF),

0x0c (FF) 又は0x0d (CR) までの,すべての文字を無視しなければならない。 

備考 0x09 (HT) 及び0x20 (SP) は,注釈の終了を示すものではない。 

B.1.4 タグ  (0x3a) で始まるトークンを“タグ”と呼ぶ。タグは,MHEG-5オブジェクトの始まりで使用

されるときは,{(0x7b) で始まる。一般的に,タグは,MHEG-5オブジェクトとそれらに付随する属性値

とを識別するために使用される。タグには,大文字と小文字との区別はない。例えば, ": Root",": root",

": ROOT",": rOOt" などは,すべて同じとみなす。しかし,テキスト表記法では,読みやすさを向上させ,

理解しやすくするために,タグ内で大文字と小文字との組合せを使用する。 

B.2 記号の定義 表B.1は,テキスト表記法で使用される記号とその意味とを示している。 

background image

57 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

表B.1 テキスト表記における記号の定義 

記号 

定義 

: : = 

定義する。 

代替 

<”> 

二重引用符 (Ox22)  

“text”  

二重引用符で囲まれるリテラル 

<text> 

この位置に記述できる文字符号を説明する文章 

前にある文法上の単位を0回以上繰り返してもよい。 

前にある文法上の単位を1回以上繰り返してもよい。 

[] 

囲まれた文法上の単位は,省略可能である。それを,0回又は1回だけ表記しても
よい。 

節の終わり 

B.3 終端記号 テキスト表記法で使用されるすべての終端記号を,次のように定義する。 

B.3.1 INTEGER  10進数又は正の16進数の整数値。 

定義: 

INTEGER  

: : = DECINT | HEXINT | "0". 

DECINT  

: : = [ "-" ] DIGIT [DIGITO] *. 

DIGIT  

: : = "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9". 

DIGIT0  

: : = DIGIT | "0". 

HEXINT  

: : = HEXPREFIX HEXDIGIT0 [HEXDIGIT0] *. 

HEXPREFIX  

: : = "0x" | "0X". 

HEXDIGIT0  

: : = DIGIT "0" | "a" | "b" | "c" | "d" | "e" | "f" | "A" | "B" | "C" | "D" | "E" | 

"F". 

B.3.2 B00LEAN 真理値は,真 (True) 又は偽 (False) のいずれかとする。B00LEAN終端記号には,大文

字と小文字との区別はない。つまり, "True","TRUE" 及び "true" は等価とし, "False","FALSE" 及び 

"false" は,等価とする。 

定義:BOOLEAN : : = "true" | "false". 

B.3.3 STRING 二重引用符で囲まれる文字列は,任意の数の表示可能な文字(0x20から0x7eまで)を含

んでもよい。STRING内の二重引用符 (0x22) は,¥” (0x5c 0x22) として符号化しなければならない。

STRING内の円記号* (0x5c) は,¥¥ (0x5c 0x5c) として符号化しなければならない。STRING内に改行を含

んではいけない。すなわち,複数行のテキストは,QPRINTABLE又はBASE64を使用して符号化しなけれ

ばならない。 

注* 

JIS X 0201での円記号は,ISO/IEC 646国際基準版の逆スラッシュに対応している。 

定義:STRING  : : = <"> STRINGCHAR* <">. 

   STRINGCHAR  : : = <<"> と "¥" とを除く任意の表示可能な文字> | "¥" " | " ¥¥". 

B.3.4 QPRINTABLE 一重引用符で囲まれた文字列は,RFC-1521で定義されているQuoted−Printableで

符号化されたデータを含まなければならない。しかしながら,' (0x27) を=27として符号化しなければなら

ない。a,b,c,d,e,fなどの小文字を,RFC-1521の5.1rule#1で定義されている一般的な8ビット表現

として使用してもよい。1行に含まれる文字数は,制限しない。改行は,CR LFに変換する必要はないが,

LF (0x0a),FF (0x0c) 又はCR (0x0d) の中の少なくとも一つを,改行を表すために使用しなければならない。 

定義:QPRINTABLE : : = " ' " QPRINTABLECHAR* " ' ". 

   QPRINTABLECHAR : : = <上のように定義される文字> | 

background image

58 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

               <上のように定義される文字符号化列>. 

B.3.5 BASE64 逆引用符で囲まれた文字列は,RFC-1521で定義されているBASE64で符号化されたデー

タを含まなければならない。しかし,この規格では,1行に含まれる文字数を制限しない。BASE64で符

号化されたデータを,LF (0x0a),FF (0x0c) 又はCR (0x0d) の中の少なくとも一つの文字符号によって,幾

つかの区分に分割してもよい。しかし,これらの文字符号を無視しなければならない。入力されたBASE64

で符号化された区分を,あたかも1行であるかのように扱わなければならない。 

定義:BASE64: : = "`" BASE64CHR* "`". 

   BASE64CHAR  : : = <上のように定義される文字符号化列>. 

B.3.6 :Null Nullは特別な終端を表し,その意味は,MHEG-5オブジェクト定義に依存する。Null終端

記号には,大文字と小文字との区別はなく, "NULL" と "null" とは,等価である。 

定義:Null  : : = "NULL". 

B.3.7 列挙値 ラテン文字で始まる終端記号を“列挙値”と呼ぶ(すべての列挙値は,次の文法において

二つの二重引用符で囲まれる。)。列挙値は,その用法に依存した特定の意味を表す終端記号の一つとして

使用される。すべての列挙値には,大文字と小文字との区別はない。すなわち, "IsAvailable" と "isavailable" 

とは等価である。 

B.4 MHEG-5オブジェクト定義 MHEG-5オブジェクトのテキスト表記法は,次のとおり定義される。 

表B.2は,タグ内で使用される短縮形の要約である。 

表B.2 タグ内の短縮形 

Bordered Bounding Box BBBox 
Content Cache Priority 

CCPriority 

Content Hook 

Chook 

Coordinate System 

CS 

Generic 

Group Cache Priority 

GCPriority 

Horizontal Justification 

Hjustification 

Identifier 

ID 

Information 

Info 

Interchanged 

Interchg 

OctetString 

OString 

Original 

Orig 

Program 

Prg 

Reference 

Ref 

Register 

Reg 

Standard 

Std 

Variable 

Var(基本操作タグを除く。) 

Vertical Justification 

Vjustification 

--Copyright statement: 

--  International Organisation for Standardisation 1998 

--Permission to copy in any form is granted for use with conforming MHEG-6 engines and applications 

--provided this notice is included in all copies 

B.4.1 Root Class 

Root 

: : =  ObjectIdentifier. 

59 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

ObjectIdentifier  

: : = ObjectReference. 

B.4.2 Group Class 

Group 

: : =  Root [StandardIdentifier]  

[StandardVersion] [ObjectInformation]  

[OnStartUp] [OnCloseDown]  

[OriginalGroupCachePriority] [Items]. 

StandardIdentifier :  

: : = " : StdID" JointIsoItuIdentifier 

MHEGStandardIdentifier. 

JointIsoItuIdentifier  

: : =  INTEGER. 

MHEGStandardIdentifier  

: : =  INTEGER. 

StandardVersion : : = ": StdVersion" INTEGER. 

ObjectInformation  

: : = " : ObjectInfo" OctetString. 

OnStartUp  

: : = " : OnStartUp" ActionClass. 

OnCloseDown  

: : = " : OnCloseDown" ActionClass. 

OriginalGroupCachePriority : : = " : OrigGCPriority" INTEGER. 

Items  

: : = " : Items" "(" GroupItem+ ")". 

GroupItem  

: : = ResidentProgramClass | 

RemoteProgramClass | 

InterchangedProgramClass | 

PaletteClass | 

FontClass | 

CursorShapeClass | 

BooleanVariableClass | 

IntegerVariableClass | 

OctetStringVariableClass | 

ObjectRefVariableClass | 

ContentRefVariableClass | 

LinkClass | 

StreamClass | 

BitmapClass | 

LineArtClass | 

DynamicLineArtClass | 

RectangleClass | 

HotspotClass | 

SwitchButtonClass | 

PushButtonClass | 

TextClass | 

EntryFieldClass | 

HyperTextClass | 

SliderClass | 

60 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

TokenGroupClass | 

ListGroupClass. 

B.4.3 Application Class 

ApplicationClass  

: : = "{ : Application" Group 

[OnSpawnCloseDown] [OnRestart]  

[DefaultAttributes] ")". 

OnSpawnCloseDown  

: : = " : OnSpawnCloseDown" ActionClass. 

OnRestart  

: : = " : OnRestart" ActionClass. 

DefaultAttributes  

: : = DefaultAttribute+. 

DefaultAttribute  

: : = CharacterSet | BackgroundColour 

| TextContentHook 

| TextColour | Font 

| FontAttributes 

| TnterchangedProgramContentHook 

| StreamContentHook 

| BitmapContentHook 

| LineArtContentHook | ButtonRefColour 

| HighlightRefColour | SliderRefColour. 

CharacterSet  

: : = " : CharacterSet" INTEGER. 

BackgroundColour  

: : = " : BackgroundColour" Colour. 

TextContentHook : : = ": TextCHook" INTEGER. 

TextColour  

: : = " : TextColour" Colour. 

Font  

: : = " : Font" FontBody. 

FontBody  

: : = DirectFont | IndirectFont. 

DirectFont  

: : = OctetString. 

IndirectFont  

: : = ObjectReference. 

FontAttributes  

: : = " : FontAttributes" OctetString. 

InterchangedProgramContentHook : : = " : InterchgPrgCHook" INTEGER. 

StreamContentHook  

: : = " : StreamCHook" INTEGER. 

BitmapContentHook  

: : = " : BitmapCHook" INTEGER. 

LineArtContentHook  

: : = " : LineArtCHook" INTEGER. 

ButtonRefColour : : = " : ButtonRefColour" Colour. 

HighlightRefColour  

: : = " : HighlightRefColour" Colour. 

SliderRefColour : : = " : SliderRefColour" Colour. 

B.4.4 Scene Class 

SceneClass  

: : = "{ : Scene" Group InputEventRegister 

SceneCoordinateSystem [AspectRatio]  

[MovingCursor] [NextScenes] "}". 

InputEventRegister  

: : = " : InputEventReg" INTEGER. 

SceneCoordinateSystem  

: : = " : SceneCS" XScene YScene. 

61 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

XScene  

: : = INTEGER. 

YScene  

: : = INTEGER. 

AspectRatio  

: : = " : AspectRatio" Width Height. 

Width  

: : = INTEGER. 

Height  

: : = INTEGER. 

MovingCursor  

: : = " : MovingCursor" BOOLEAN. 

NextScenes  

: : = " : NextScenes" "(" NextScene+ ")". 

NextScene  

: : = "(" SceneRef SceneWeight ")". 

SceneRef  

: : = OctetString. 

SceneWeight  

: : = INTEGER. 

B.4.5 Ingredient Class 

Ingredient  

: : = Root [InitiallyActive] [ContentHook]  

[OriginalContent] [Shared]  

InitiallyActive : : = ": InitiallyActive" BOOLEAN. 

ContentHook  

: : = " : CHook" INTEGER. 

OriginalContent : : = ": OrigContent" ContentBody. 

ContentBody  

: : = IncludedContent | ReferencedContent. 

IncludedContent : : = OctetString. 

ReferencedContent  

: : = " : ContentRef" "(" ContentReference 

[ContentSize] [ContentCachePriority]  

")". 

ContentSize  

: : = " : ContentSize" INTEGER. 

ContentCachepriority  

: : = " : CCPriority" INTEGER. 

Shared  

: : = " : Shared" BOOLEAN. 

B.4.6 Link Class 

LinkClass  

: : = "{ : Link' Ingredient LinkCondition 

LinkEffect "}". 

LinkCondition  

: : = EventSource EventType [EventData]. 

EventSource  

: : = " : EventSource " ObjectReference. 

EventType  

: : = " : EventType " EventTypeEnum. 

EventTypeEnum  

: : = " IsAvailable " | " ContentAvailable " 

| " IsDeleted " | " IsRunning " 

| " IsStopped " | " UserInput " 

| " AnchorFired " | " TimerFired " 

| " AsynchStopped " | " InteractionCompleted " 

| " TokenMovedFrom " | " TokenMovedTo " 

| " StreamEvent " | " StreamPlaying " 

| " Streamstopped " | " CounterTrigger " 

| " HighlightOn " | " HighlightOff " 

| " CursorEnter " | " CursorLeave " 

62 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

| " IsSelected " | " IsDeselected " 

| " TestEvent " | " FirstItemPresented " 

| " LastItemPresented " | " HeadItems " 

| " TailItems " | " ItemSelected " 

| " ItemDeselected " | " EntryFieldFull " | " 

EngineEvent ". 

EventData  

: : = " : EventData " EventDataBody. 

EventDataBody  

: : = OctetString | BOOLEAN | INTEGER. 

LinkEffect  

: : = " : LinkEffect " ActionClass. 

B.4.7 Program Class 

Program  

: : = Ingredient Name [InitiallyAvailable]. 

Name  

: : = " : Name " OctetString. 

InitiallyAvailable  

: : = " : InitiallyAvailable " BOOLEAN. 

B.4.8 ResidentProgram Class 

ResidentProgramClass  

: : = "{ : ResidentPrg " Program "}". 

B.4.9 RemoteProgram Class 

RemoteProgramClass  

: : = "{ : RemotePrg " Program 

[ProgramConnectionTag] "}". 

ProgramConnectionTag  

: : = " : ConnectionTag " INTEGER. 

B.4.10 InterchangedProgram Class 

InterchangedProgramClass  : : = "{ : InterchgPrg " Program "}". 

B.4.11  Palette Class 

PaletteClass  

: : = "{ : Palette " Ingredient "}". 

B.4.12  Font Class 

FontClass  

: : = "{ : Font " Ingredient "}". 

B.4.13  CursorShape Class 

CursorShapeClass  

: : = "{ : CursorShape " Ingredient "}". 

B.4.14  Variable Class 

Variable  

: : = Ingredient Originalvalue. 

OriginalValue  

: : = " : OrigValue " OriginalValueBody. 

OriginalValueBody  

: : = BOOLEAN | INTEGER | OctetString 

| ObjectReferenceValue 

| ContentReferenceValue. 

ObjectReferenceValue  

: : = " : ObjectRef " ObjectReference. 

ContentReferenceValue  

: : = " : ContentRef " ContentReference. 

B.4.15  BooleanVariable Class 

BooleanVariableClass  

: : = "{ : BooleanVar " Variable "}" 

B.4.16  IntegerVariable Class 

IntegerVariableClass  

: : = "{ : IntegerVar " Variable "}". 

B.4.17  OctetStringVariable Class 

63 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

OctetStringVariableClass  : : = "{ : OStringVar " Variable "}". 

B.4.18 ObjectRefVariable Class 

ObjectRefVariableClass  

: : = "{ : ObjectRefVar " Variable "}". 

B.4.19 ContentRefVariable Class 

ContentRefVariableClass  

: : = "{ : ContentRefVar " Variable "}"  

B.4.20  Presentable Class 

Presentable  

: : = Ingredient. 

B.4.21  TokenManager Class 

TokenManager  

: : = [MovementTable]. 

MovementTable  

: : = " : MovementTable " "(" Movement+ ")". 

Movement  

: : = "(" TargetElement+ ")". 

TargetElement  

: : = INTEGER. 

B.4.22  TokenGroup Class 

TokenGroupClass : : = "{ : TokenGroup " TokenGroupBody "}". 

TokenGroupBody  

: : = Presentable TokenManager TokenGroupItems 

[NoTokenActionSlots]. 

TokenGroupItems : : = " : TokenGroupItems " "(" TokenGroupItem+ ")". 

TokenGroupItem  

: : = "(" AVisible [ActionSlots] ")". 

AVisible  

: : = ObjectReference. 

ActionSlots  

: : = " : ActionSlots " "(" ActionSlot+ ")". 

ActionSlot  

: : = ActionClass | Null. 

NoTokenActionSlots  

: : = " : NoTokenActionSlots " "(" ActionSlot+ ")". 

B.4.23 ListGroup Class 

ListGroupClass  

: : = "{ : ListGroup " TokenGroupBody 

Positions [WrapAround]  

[MultipleSelection] "}". 

Positions  

: : = " : Positions " "(" Position+ ")". 

Position  

: : = "(" XYPosition ")". 

WrapAround  

: : = " : WrapAround " BOOLEAN. 

MultipleSelection  

: : =  " : MultipleSelection " BOOLEAN. 

B.4.24  Visible Class 

Visible  

: : = Presentable OriginalBoxSize 

[OriginalPosition] [OriginalPaletteRef]. 

OriginalBoxSize : : = " : OrigBoxSize " BoxSize. 

BoxSize  

: : = XLength YLength. 

XLength  

: : = INTEGER. 

YLength  

: : = INTEGER. 

OriginalPosition  

: : = " : OrigPosition " XYPosition. 

OriginalPaletteRef  

: : = " : OrigPaletteRef " ObjectReference. 

B.4.25  Bitmap Class 

64 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

BitmapClass  

: : =  "{ : Bitmap " Visible [Tiling] 

[OriginalTransparency] "}". 

Tiling  

: : = " : Tiling " BOOLEAN. 

OriginalTransparency  

: : = " : OrigTransparency " INTEGER. 

B.4.26 LineArt Class 

LineArtClass  

: : = "{ : LineArt " LineArtBody "}". 

LineArtBody  

: : = Visible [BorderedBoundingBox] 

[OriginalLinewidth]  

[OriginalLineStyle]  

[OriginalRefLineColour]  

[OriginalRefFillColour]. 

BorderedBoundingBoX  

: : = " : BBBox " BOOLEAN. 

OriginalLineWidth  

: : = " : OrigLineWidth " INTEGER. 

OriginalLineStyle  

: : = " : OrigLinestyle " INTEGER. 

OriginalRefLineColour  

: : = " : OrigRefLineColour " Colour. 

OriginalRefFillColour  

: : = " : OrigRefFillColour " Colour. 

B.4.27  Rectangle Class 

RectangleClass  

: : = "{ : Rectangle " LineArtBody "}". 

B.4.28  DynamicLineArt Class 

DynamicLineArtClass  

: : = "{ : DynamicLineArt " LineArtBody "}". 

B.4.29 Text Class 

TextClass  

: : = "{ : Text " TextBody "}". 

TextBody  

: : = Visible [OriginalFont] [FontAttributes]  

[TextColour] [BackgroundColour]  

[CharacterSet]  

[HorizontalJustification]  

[VerticalJustification]  

[LineOrientation] [StartCorner]  

[TextWrapping]. 

OriginalFont : : = " : OrigFont " FontBody. 

HorizontalJustification  

: : = " : HJustification " JustificationEnum. 

JustificationEnum  

: : = " start " | " end " | " center " | " justified ". 

VerticalJustification  

: : = " : VJustification " JustificationEnum. 

LineOrientation : : = " : LineOrientation " LineOrientationEnum. 

LineOrientationEnum  

: : = " vertical " | " horizontal ". 

StartCorner  

: : = " : StartCorner " StartCornerEnum. 

StartCornerEnum : : = " upper-left " | " upper-right " 

| " lower-left " | " lower-right ". 

TextWrapping  

: : = " : TextWrapping " BOOLEAN. 

B.4.30  Stream Class 

65 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

StreamClass  

: : = "{ : Stream " Presentable Multiplex 

[Storage] [Looping] "}". 

Multiplex  

: : = " : Multiplex " "(" StreamComponent+ ")". 

StreamComponent : : = AudioClass | VideoClass | RTGraphicsClass. 

Storage  

: : = " : Storage " StorageEnum. 

StorageEnum  

: : = " memory " | stream". 

Looping  

: : = " : Looping" INTEGER. 

B.4.31  Audio Class 

AudioClass  

: : = "{ : Audio" Presentable ComponentTag 

[Originalvolume] "}". 

ComponentTag  

: : = " : ComponentTag" INTEGER. 

Originalvolume  

: : = " : OrigVolume" INTEGER. 

B.4.32 Video Class 

VideoClass  

: : = "{ : Video" Visible ComponentTag 

[Termination] "}". 

Termination  

: : = " : Termination" TerminationEnum. 

TerminationEnum : : = "freeze" | "disappear". 

B.4.33 RTGraphics Class 

RTGraphicsClass  

: : = "{ : RTGraphics" Visible ComponentTag 

[Termination] "}". 

B.4.34  Interactible Class 

Interactible  

: : = [EngineResp] [HighlightRefColour]. 

EngineResp  

: : = " : EngineResp" BOOLEAN. 

B.4.35  Slider Class 

SliderClass  

: : = "{ : Slider" Visible Interactible 

Orientation MaxValue [MinValue]  

[InitialValue] [InitialPortion]  

[StepSize] [SliderStyle]  

[SliderRefColour] "}". 

Orientation  

: : = " : Orientation" OrientationEnum. 

OrientationEnum : : = "left" | "right" | "up" | "down". 

MaxValue  

: : = " : MaxValue" INTEGER. 

MinValue  

: : = " : MinValue" INTEGER. 

InitialValue  

: : = " : InitialValue" INTEGER. 

InitialPortion  

: : = " : InitialPortion" INTEGER. 

StepSize  

: : = " : StepSize" INTEGER. 

SliderStyle  

: : = " : SliderStyle" SliderStyleEnum. 

SliderStyleEnum : : = "normal" | "thermometer" | "proportional ". 

B.4.36  EntryField Class 

EntryFieldClass  

: : = "{ : EntryField " TextBody Interactible 

66 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

[InputType] [CharList]  

[ObscuredInput] [MaxLength] "}". 

InputType  

: : = " : InputType " InputTypeEnum. 

InputTypeEnum  

: : = " alpha " | " numeric " | " any " | " listed ". 

CharList  

: : = " : CharList " OctetString. 

ObscuredInput  

: : = " : ObscuredInput " BOOLEAN. 

MaxLength  

: : = " : MaxLength " INTEGER. 

B.4.37  HyperText Class 

HyperTextClass  

: : = "{ : HyperText " TextBody Interactible "}". 

B.4.38 Button Class 

Button  

: : = Visible Interactible [ButtonRefColour]. 

B.4.39 Hotspot Class 

HotspotClass  

: : = "{ : Hotspot " Button "}". 

B.4.40 PushButton Class 

PushButtonClass : : = " { : PushButton " PushButtonBody "}". 

PushButtonBody  

: : = Button [OriginalLabel] [CharacterSet]. 

OriginalLabel  

: : = " : OrigLabel " OctetString. 

B.4.41  SwitchButton Class 

SwitchButtonClass  

: : = "{ : SwitchButton " PushButtonBody 

ButtonStyle "}". 

ButtonStyle  

: : = " : ButtonStyle " ButtonStyleEnum. 

ButtonStyleEnum : : = " pushutton " | " radiobutton " | " checkbox ". 

B.4.42  Applet Class 

AppletClass  

: : = "{ " " : Applet " Program Interactible 

OriginalBoxSize [OriginalPosition] "}". 

B.4.43 Action Class 

ActionClass  

: : = "( " ElementaryAction+ ")". 

ElementaryAction  

: : =  Activate 

| Add 

| AddItem 

| Append 

| BringToFront 

| Call 

| CallActionSlot 

| Clear 

| Clone 

| CloseConnection 

| Deactivate 

| DelItem 

| Deselect 

67 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

| DeselectItem 

| Divide 

| DrawArc 

| DrawLine 

| DrawOval 

| DrawPolygon 

| DrawPolyline 

| DrawRectangle 

| DrawSector 

| Fork 

| GetAvailabilitystatus 

| GetBoxSize 

| GetCellItem 

| GetCursorPosition 

| GetEngineSupport 

| GetEntryPoint 

| GetFillColour 

| GetFirstItem 

| GetHighlightStatus 

| GetInteractionStatus 

| GetItemStatus 

| GetLabel 

| GetLastAnchorFired 

| GetLineColour 

| GetLineStyle 

| GetLineWidth 

| GetListItem 

| GetListSize 

| GetOverwriteMode 

| GetPortion 

| GetPosition 

| GetRunningStatus 

| GetSelectionStatus 

| GetSliderValue 

| GetTextContent 

| GetTextData 

| GetTokenPosition 

| GetVolume 

| Invoke 

| Launch 

68 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

| LockScreen 

| Modulo 

| Move 

| MoveTo 

| Multiply 

| OpenConnection 

| Preload 

| PutBefore 

| PutBehind 

| Quit 

| ReadPersistent 

| Run 

| ScaleBitmap 

| ScaleVideo 

| ScrollItems 

| Select 

| SelectItem 

| SendEvent 

| SendToBack 

| SetBoxSize 

| SetCachePriority 

| SetCounterEndPosition 

| SetCounterPosition 

| SetCounterTrigger 

| SetCursorPosition 

| SetCursorShape 

| SetData 

| SetEntryPoint 

| SetFillColour 

| SetFirstItem 

| SetFontRef 

| SetHighlightStatus 

| SetInteractionStatus 

| SetLabel 

| SetLineColour 

| SetLineStyle 

| SetLineWidth 

| SetOverwriteMode 

| SetPaletteRef 

| SetPortion 

69 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

| SetPosition 

| SetSlidervalue 

| SetSpeed 

| SetTimer 

| SetTransparency 

| SetVariable 

| SetVolume 

| Spawn 

| Step 

| Stop 

| StorePersistent 

| Subtract 

| TestVariable 

| Toggle 

| ToggleItem 

| TransitionTo 

| Unload 

| UnlockScreen. 

Activate  

: : = " : Activate " "(" Target ")". 

Add  

: : = " : Add " "(" Target Value ")". 

AddItem  

: : = " : AddItem " "(" Target ItemIndex 

VisibleReference ")". 

Append  

: : = " : Append " "(" Target AppendValue ")". 

BringToFront  

: : = " : BringToFront " "(" Target ")". 

Call  

: : = " : Call " "(" Target CallSucceeded 

[Parameters] ")". 

CallActionSlot  

: : = " : CallActionSlot " "(" Target Index ")". 

Clear  

: : = " : Clear " "(" Target ")". 

Clone  

: : = " : Clone " "(" Target CloneRefVar ")". 

CloseConnection : : = " : CloseConnection " "(" Target 

ConnectionTag ")". 

Deactivate  

: : = " : Deactivate " "(" Target ")". 

DelItem  

: : = " : DelItem " "(" Target VisibleReference 

")". 

Deselect  

: : = " : Deselect " "(" Target ")". 

DeselectItern  

: : = " : DeselectItem " "(" Target ItemIndex ")" 

Divide  

: : = " : Divide " "(" Target Value ")". 

DrawArc  

: : = " : DrawArc " "(" Target X Y EllipseWidth 

EllipseHeight StartAngle ArcAngle ")". 

DrawLine  

: : = " : DrawLine " "(" Target X1 Y1 X2 Y2 ")". 

70 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

DrawOval  

: : = " : DrawOval " "(" Target X Y EllipseWidth 

EllipseHeight ")". 

DrawPolygon  

: : = " : DrawPolygon " "(" Target PointList ")". 

DrawPolyline  

: : = " : DrawPolyline " "(" Target PointList ")". 

DrawRectangle  

: : = " : DrawRectangle " "(" Target X1 Y1 X2 Y2 

")". 

DrawSector  

: : = " : DrawSector " "(" Target X Y EllipseWidth 

EllipseHeight StartAngle ArcAngle ")" 

Fork  

: : = " : Fork " "(" Target ForkSucceeded 

[Parameters] ")". 

GetAvailabilityStatus  

: : = " : GetAvailabilityStatus " "(" Target 

AvailabilityStatusVar ")". 

GetBoxSize  

: : = " : GetBoxSize " "(" Target XBoxSizeVar 

YBoxSizeVar ")". 

GetCellItem  

: : = " : GetCellItem "(" Target CellIndex 

IternRefVar ")". 

GetCursorPosition  

: : = "GetCursorPosition" "(" Target XOut YOut 

")". 

GetEngineSupport  

: : = " : GetEngineSuppOrt" "(" Target Feature 

Answer ")". 

GetEntryPoint  

: : = " : GetEntryPoint" "(" Target EntryPointVar 

")". 

GetFillColour  

: : = " : GetFillColour" "(" Target FiliColourVar 

")". 

GetFirstItem  

: : = " : GetFirstItem" "(" Target FirstItemVar 

")". 

GetHighlightStatus  

: : = " : GetHighlightStatus" "(" Target 

HighlightStatusVar ")". 

GetInteractionStatus  

: : = " : GetInteractionStatus" "(" Target 

InteractionStatusVar ")". 

GetItemStatus  

: : = " : GetItemStatus" "(" Target 

ItemIndex ItemStatusVar ")". 

GetLabel  

: : = " : GetLabel" "(" Target LabelVar ")". 

GetLastAnchorFired  

: : = " : GetLastAnchorFired" "(" Target 

LastAnchorFiredVar ")". 

GetLineColour  

: : = " : GetLineColour" "(" Target LineColourVar 

")". 

GetLineStyle  

: : = " : GetLineStyle" "(" Target LineStyleVar 

")". 

GetLineWidth  

: : = " : GetLineWidth" "(" Target LineWidthVar 

71 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

")". 

GetListItem  

: : = " : GetListItem" "(" Target ItemIndex 

ItemRefVar ")". 

GetListSize  

: : = " : GetListSize" "(" Target SizeVar ")". 

GetOverwriteMode  

: : = " : GetOverwriteMode" "(" Target 

OverwriteModeVar ")". 

GetPortion  

: : = " : GetPortion" "(" Target PortionVar ")". 

GetPosition  

: : = " : GetPosition" "(" Target XPositionVar 

YPositionVar ")". 

GetRunningStatus  

: : = " : GetRunningStatus" "(" Target 

RunningStatusVar ")". 

GetSelectionStatus  

: : = " : GetSelectionStatus" "(" Target 

SelectionStatusVar ")". 

GetSliderValue  

: : = " : GetSliderValue" "(" Target 

SliderValueVar ")". 

GetTextContent  

: : = " : GetTextContent" "(" Target 

TextContentVar ")". 

GetTextData  

: : = " : GetTextData" " (" Target TextDataVar ")". 

GetTokenPosition  

: : = " : GetTokenPosition" "(" Target 

TokenPositionVar ")". 

GetVolume  

: : = " : GetVolume" "(" Target VolumeVar ")". 

Invoke  

: : = " : Invoke" "(" Target InvokeSucceedeed Method 

[Parameters] ")". 

Launch  

: : = " : Launch" "(" Target ")". 

LockScreen  

: : = " : LockScreen" "(" Target ")". 

Modulo  

: : = " : Modulo" "(" Target Value ")". 

Move  

: : = " : Moves" "(" Target MovementIdentifier ")". 

MoveTo  

: : = " : MoveTo" "(" Target Index ")". 

Multiply  

: : = " : Multiply" "(" Target Value ")". 

OpenConnection  

: : = " : OpenConnection" "(" Target OpenSucceeded 

Protocol Address ConnectionTag ")". 

Preload  

: : = " : Preload" "(" Target ")". 

PutBefore  

: : = " : PutBefore" "(" Target ReferenceVisible 

")". 

PutBehind  

: : = " : PutBehind" "(" Target ReferenceVisible 

")". 

Quit  

: : = " : Quit" "(" Target ")". 

ReadPersistent  

: : = " : ReadPersistent" "(" Target ReadSucceeded 

OutVariables InFileName ")". 

Run  

: : = " : Run" "(" Target ")". 

72 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

ScaleBitmap  

: : = " : ScaleBitmap" "(" Target XScale YScale 

")". 

ScaleVideo  

: : = " : ScaleVideo" "(" Target XScale YScale ")". 

ScrollItems  

: : = " : ScrollItems" "(" Target ItemsToScroll ")". 

Select  

: : = " : Select" "(" Target ")". 

SelectItem  

: : = " : SelectItem" "(" Target ItemIndex ")". 

SendEvent  

: : = " : SendEvent" "(" Target EmulatedEventSource 

ErnulatedEventType [EmulatedEventData]  

")". 

SendToBack  

: : = " : SendToBack" "(" Target ")". 

SetBoxSize  

: : = " : SetBoxSize" "(" Target XNewBoxSize 

YNewBoxSize ")". 

SetCachePriority  

: : = " : SetCachePriority" "(" Target 

NewCachePriority ")". 

SetCounterEndPosition  

: : = " : SetCounterEndPosition" "(" Target 

NewCounterEndPosition ")". 

SetCounterPosition  

: : = " : SetCounterPosition" "(" Target 

NewCounterPosition ")". 

SetCounterTrigger  

: : = " : SetCounterTrigger" "(" Target 

TriggerIdentifier [NewCounterValue]  

")". 

SetCursorPosition  

: : = " : SetCursorPosition" "(" Target XCursor 

YCursor ")". 

SetCursorShape  

: : = " : SetCursorShape" "(" Target 

[NewCursorShape] ")". 

SetData  

: : = " : SetData" "(" Target NewContent ")". 

SetEntryPoint  

: : = " : SetEntryPoint" "(" Target NewEntryPoint 

")". 

SetFillColour  

: : = " : SetFillColour" "(" Target [NewColour]  

")". 

SetFirstItem  

: : = " : SetFirstItern" "(" Target NewFirstItem 

")". 

SetFontRef  

: : = " : SetFontRef" "(" Target NewFont ")". 

SetHighlightStatus  

: : = " : SetHighlightStatus" "(" Target 

NewHighlightStatus ")". 

SetInteractionStatus  

: : = " : SetInteractionStatus" "(" Target 

NewInteractionStatus ")". 

SetLabel  

: : = " : SetLabel" "(" Target NewLabel ")". 

SetLineColour  

: : = " : SetLineColour" "(" Target NewColour ")". 

SetLineStyle  

: : = " : SetLineStyle" "(" Target NewLineStyle 

73 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

")". 

SetLineWidth  

: : = " : SetLineWidth" "(" Target NewLineWidth 

")". 

SetOverwriteMode  

: : = " : SetOverwriteMode" "(" Target 

NewOverwriteMode ")". 

SetPaletteRef  

: : = " : SetPaletteRef" "(" Target NewPaletteRef 

")". 

SetPortion  

: : = " : SetPortion" "(" Target NewPortion ")". 

SetPosition  

: : = " : SetPosition" "(" Target NewXPosition 

NewYPosition ")". 

SetSliderValue  

: : = " : SetSliderValue" "(" Target 

NewSliderValue ")". 

SetSpeed  

: : = " : SetSpeed" "(" Target NewSpeed ")". 

SetTimer  

: : = " : SetTimer" "(" Target TimerID 

[TimerValue] [AbsoluteTime] ")". 

SetTransparency : : = ": SetTransparency" "(" Target NewTransparency ")". 

SetVariable  

: : = " : SetVariable" "(" Target 

NewVariableValue ")". 

SetVolume  

: : = " : SetVolume" "(" Target NewVolume ")". 

Spawn  

: : = " : Spawn" "(" Target ")". 

Stop  

: : = " : Stop" "(" Target ")". 

Step  

: : = " : Step" "(" Target NbOfSteps ")". 

StorePersistent : : = ": StorePersistent" "(" Target 

StoreSucceeded InVariables OutFileName 

")". 

Subtract  

: : = " : Subtract" "(" Target Value ")". 

TestVariable  

: : = " : TestVariable" "(" Target Operator 

ComparisonValue ")". 

Toggle  

: : = " : Toggle" "(" Target ")". 

ToggleItem  

: : = " : ToggleItem" "(" Target ItemIndex ")". 

TransitionTo  

: : = " : TransitionTo" "(" Target [ConnectionTag]  

[TransitionEffect] ")". 

Unload  

: : = " : Unload" "(" Target ")". 

UnlockScreen  

: : = " : UnlockScreen" "(" Target ")". 

AbsoluteTime  

: : = " : AbsoluteTime" GenericBoolean. 

Address  

: : = GenericOctetString. 

Answer  

: : = ObjectReference. 

AppendValue  

: : = GenericOctetString. 

ArcAngle  

: : = GenericInteger. 

AvailabilityStatusVar  

: : = ObjectReference. 

74 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

CallSucceeded  

: : = ObjectReference. 

CellIndex  

: : = GenericInteger. 

CloneRefVar  

: : = ObjectReference. 

ComparisonValue : : = NewGenericBoolean | NewGenericInteger 

| NewGenericOctetString 

| NewGenericObjectReference 

| NewGenericContentReference. 

ConnectionTag  

: : = " : ConnectionTag" GenericInteger. 

Denominator  

: : = GenericInteger. 

EllipseHeight  

: : = GenericInteger. 

EllipseWidth  

: : = GenericInteger. 

EmulatedEventData  

: : = NewGenericBoolean | NewGenericInteger 

| NewGenericOctetString. 

EmulatedEventSource  

: : = GenericObjectReference. 

EmulatedEventType  

: : = EventTypeEnum. 

EntryPointVar  

: : = ObjectReference. 

ForkSucceeded  

: : = ObjectReference. 

Feature  

: : = GenericOctetString. 

FillColourVar  

: : = ObjectReference. 

FirstItemVar  

: : = ObjectReference. 

HighlightStatusVar  

: : = ObjectReference. 

Index  

: : = GenericInteger. 

InFileName  

: : = GenericOctetString. 

InteractionStatusVar  

: : = ObjectReference. 

InVariables  

: : = "(" ObjectReference+ ")". 

InvokeSucceeded  

: : = ObjectReference. 

ItemIndex  

: : = GenericInteger. 

ItemRefVar  

: : = ObjectReference. 

ItemStatusVar  

: : = ObjectReference. 

ItemsToScroll  

: : = GenericInteger. 

LabelVar  

: : = ObjectReference. 

LastAnchorFiredVar  

: : = ObjectReference. 

LineColourVar  

: : = ObjectReference. 

LineStyleVar  

: : = ObjectReference. 

LineWidthVar  

: : = ObjectReference. 

Method  

: : = GenericOctetString. 

MovementIdentifier  

: : = GenericInteger. 

NbOfSteps  

: : = GenericInteger. 

NewAbsoluteColour  

: : = " : NewAbsoluteColour" GenericOctetString. 

NewCachePriority  

: : = GenericInteger. 

75 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

NewColour  

: : = NewColourIndex | NewAbsoluteColour. 

NewColourIndex  

: : = " : NewColourIndex" GenericInteger. 

NewContent  

: : = NewIncludedContent | NewReferencedContent. 

NewContentCachePriority  

: : = " : NewCCPriority" GenericInteger. 

NewCounterEndPosition  

: : = GenericInteger. 

NewCounterPosition  

: : = GenericInteger. 

NewContentSize  

: : = " : NewContentSize" GenericInteger. 

NewCounterValue : : = GenericInteger. 

NewCursorShape  

: : = GenericObjectReference. 

NewEntryPoint  

: : = GenericInteger. 

NewFirstItem  

: : = GenericInteger. 

NewFont  

: : = NewFontName | NewFontReference. 

NewFontName  

: : = NewGenericOctetString. 

NewFontReference  

: : = NewGenericObjectReference. 

NewGenericBoolean  

: : = " : GBoolean" GenericBoolean. 

NewGenericInteger  

: : = " : GInteger" GenericInteger. 

NewGenericOctetString  

: : = " : GOctetString" GenericOctetString. 

NewGenericObjectReference : : = " : GObjectRef" GenericObjectReference. 

NewGenericContentReference : : = " : GContentRef" GenericContentReference. 

NewHighlightStatus  

: : = GenericBoolean. 

NewIncludedContent  

: : = GenericOctetString. 

NewInteractionStatus  

: : = GenericBoolean. 

NewLabel  

: : = GenericOctetString. 

NewLineStyle  

: : = GenericInteger. 

NewLineWidth  

: : = GenericInteger. 

NewOverwriteMode  

: : = GenericBoolean. 

NewPaletteRef  

: : = GenericObjectReference. 

NewPortion  

: : = GenericInteger. 

NewReferencedContent  

: : = " : NewRefContent" "(" GenericContentReference 

[NewContentSize]  

[NewContentCachePriority] ")". 

NewSliderValue  

: : = GenericInteger. 

NewSpeed  

: : = Rational. 

NewTransparency  

: : = GenericInteger. 

NewVariablevalue  

: : = NewGenericInteger | NewGenericBoolean 

| NewGenericOctetString 

| NewGenericObjectReference 

| NewGenericContentReference. 

NewVolume  

: : = GenericInteger. 

NewXPosition  

: : = GenericInteger. 

76 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

NewYPosition  

: : = GenericInteger. 

Numerator  

: : = GenericInteger. 

OpenSucceeded  

: : = ObjectReference. 

Operator  

: : = GenericInteger. 

OutFileName  

: : = GenericOctetString. 

OutVariables  

: : = "(" ObjectReference+ ")". 

OverwriteModeVar  

: : = ObjectReference. 

Parameter  

: : = NewGenericBoolean | NewGenericInteger 

| NewGenericOctetString 

| NewGenericObjectReference 

| NewGenericContentReference. 

Parameters  

: : = Parameter+. 

Point  

: : = "(" X Y ")". 

PointList  

: : = "(" Point+ ")". 

PortionVar  

: : = ObjectReference. 

Protocol  

: : = GenericOctetString. 

Rational  

: : = Numerator [Denominator]. 

ReadSucceeded  

: : = ObjectReference. 

ReferenceVisible  

: : = GenericObjectReference. 

RunningStatusVar  

: : = ObjectReference. 

SelectionStatusVar  

: : = ObjectReference. 

SizeVar  

: : = ObjectReference. 

SliderValueVar  

: : = ObjectReference. 

StartAngle  

: : = GenericInteger. 

StoreSucceeded  

: : = ObjectReference. 

Target  

: : = GenericObjectReference. 

TextContentVar  

: : = ObjectReference. 

TextDataVar  

: : = ObjectReference. 

TimerID  

: : = GenericInteger. 

TimerValue  

: : = GenericInteger. 

TokenPositionVar  

: : = ObjectReference. 

TransitionEffect  

: : = GenericInteger. 

TriggerIdentifier  

: : = GenericInteger. 

Value  

: : = GenericInteger. 

VisibleReference  

: : = GenericObjectReference. 

VolumeVar  

: : = ObjectReference. 

x  

: : = GenericInteger. 

x1  

: : = GenericInteger. 

X2  

: : = Generic Integer. 

XBoxSizeVar  

: : = ObjectReference. 

77 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

XCursor  

: : = GenericInteger. 

XNewBoxSize  

: : = GenericInteger. 

XOut  

: : = ObjectReference. 

XPositionVar  

: : = ObjectReference. 

XScale  

: : = GenericInteger. 

Y  

: : = GenericInteger. 

Y1  

: : = GenericInteger. 

Y2  

: : = GenericInteger. 

YBoxSizeVar  

: : = ObjectReference. 

YCursor  

: : = GenericInteger. 

YNewBoxSize  

: : = GenericInteger. 

YOut  

: : = ObjectReference. 

YPositionVar  

: : = ObjectReference. 

YScale  

: : = GenericInteger. 

B.4.44 Miscellaneous data types 

ObjectReference : : = ExternalReference | InternalReference. 

ExternalReference  

: : = "(" GroupIdentifier ObjectNumber ")". 

InternalReference  

: : = ObjectNumber. 

GroupIdentifier : : = OctetString. 

ObjectNumber  

: : = INTEGER. 

ContentReference  

: : = OctetString. 

GenericObjectReference  

: : = DirectReference | IndirectReference. 

DirectReference : : = ObjectReference. 

IndirectReference  

: : = " : IndirectRef" ObjectReference. 

GenericContentReference  

: : = ContentReference | IndirectReference. 

GenericInteger  

: : = INTEGER | IndirectReference. 

GenericBoolean  

: : = BOOLEAN | IndirectReference. 

GenericOctetString  

: : = OctetString | IndirectReference. 

OctetString  

: : = STRING | QPRINTABLE | BASE64. 

Colour  

: : = ColourIndex | AbsoluteColour. 

ColourIndex  

: : = INTEGER. 

AbsoluteColour  

: : = OctetString. 

XYPosition  

: : = XPosition YPosition. 

XPosition  

: : = INTEGER. 

YPosition  

: : = INTEGER 

78 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

附属書C(規定) MHEG-5 API 

MHEG-5 APIは,Javaの仕様として定義され,iso. mheg5と呼ばれる一つのJavaパッケージから構成さ

れる。 

備考 次の仕様は,ETSIとの協力によって決められたもので,技術的にはETS 300 777-1に従う。iso. 

mheg5パッケージにおいては,次のとおりとする。 

− MHEG-5オブジェクトを表すすべての公開クラスは,引数なしの保護コンストラクタをもたなければ

ならない。 

− MHEG-5オブジェクトを表す公開クラスのすべての公開メソッドは,MhegException例外を発生する

ように宣言しなければならない。 

備考 これらの保護コンストラクタ及び例外は,ここでは示していない。これらに相当するJavaのコ

ードは,以降の宣言をクラスごとのファイルに分割し,保護コンストラクタを追加し,上に定

めたとおりに例外を宣言して,更に,クラスのメソッド宣言にその本体部を付け加え,その他

の宣言にセミコロンを付け加えることによって得られる。 

完全版の仕様は,この附属書に規定するすべてのクラスから構成する。簡易版の仕様は,C.1〜C.3,C.5

〜C.10及びC.19〜C.24に規定するクラスから構成する。 

C.1 ObjeotReference 

public class ObjectReference 

フィールド 

public OctetString groupIdentifier 

public int objectNumber 

コンストラクタ 

public ObjectReference ( ) 

public ObjectReference (int objectNumber)  

public ObjectReference (OcetetString groupIdentifier, 

                int objectNumber) 

最初の二つのコンストラクタは,グループIDの属性(提供されない)を,長さ0のオクテット列に構

成する。 

備考 ObjectReferenceは,公開フィールドをもっているため,修正が可能である。これによって,

ObjectReferenceオブジェクトを一時的に別に保存することができる。これは,多くの場合,後

で再利用するために,あるオブジェクトにアクセスするための一時的な変数として用いられる。

プログラマは,ObjectReferenceオブジェクトの値は,オブジェクトが渡されるJVMによって変

更される可能性があることに注意する必要がある。 

C.2 ContentReference 

public class ContentReference 

コンストラクタ 

public ContentReference ( ) 

79 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

public ContentReference (OctetString reference)  

C.3 OctetString 

public class OctetString 

コンストラクタ 

public OctetString (String value)  

public OctetString (byte[ ] value)  

メソッド 

byte byteAt (int index)  

オクテット列中のindexで示される位置にあるバイト型の値を取得する。 

int length ( ) 

オクテット列のバイト数を取得する。返される値は正の数でなければならない。 

byte[ ] toByteArray ( ) 

オクテット列をバイト配列として取得する。 

String toString ( ) 

適切なMHEG-5テキスト形式を用いて,オクテット列に対応する文字列を取得する。 

C.4 Colour 

public class Colour 

コンストラクタ 

public Colour (int colourIndex)  

public Colour (OctetString absoluteColour)  

メソッド 

boolean isAbsolute ( ) 

Colourオブジェクトが絶対値指定色として作成された場合にTRUEを返し,色インデックスとして作

成された場合にFALSEを返す。 

int getIndexColour ( ) 

色インデックスを取得する。オブジェクトが絶対値指定色として作成された場合は,例外を発生しな

ければならない。 

OctetString getAbsoluteColour ( ) 

色名を取得する。オブジェクトが色インデックスとして作成された場合は,例外を発生しなければな

らない。 

C.5 MhegException 

public class MhegException extends java. lang. Exception 

フィールド 

public short parameterRank 

public short exceptionCode 

exceptionCodeに対する有効な値は,次のとおりとする。 

TARGET̲NOT̲AVAILABLE, INVALID̲TARGET, ILLEGAL̲PARAMETER, 

80 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

OPTION̲NOT̲SUPPORTED.  

定数 

exceptionCodeに対する有効な値は,次のとおりとする。 

public static final short TARGET̲NOT̲AVAILABLE = 1 

この例外は,使用できないMHEG-5オブジェクトに対してメソッドが与えられたときに発生しなけれ

ばならない。 

public static final short INVALID̲TARGET = 2 

この例外は,参照が無効なMHEG-5オブジェクトに対してメソッドが与えられたときに発生しなけれ

ばならない。 

public static final short ILLEGAL̲PARAMETER = 3 

この例外は,メソッドが正しくないパラメタ値で起動されたときに発生しなければならない。 

public static final short OPTION̲NOT̲SUPPORTED = 4 

この例外は,メソッドが,エンジン又は,応用領域でサポートされていない付加機能を必要としたと

きに発生しなければならない。 

コンストラクタ 

public MhegException (short reason)  

MhegExceptionを,パラメタreasonで示されるexceptionCodeによって初期化する。 

public MhegException (short reason, 

                       short position) 

MhegExceptionを,パラメタreasonで示されるexceptionCode,及びパラメタpositionで示される

parameterRankによって初期化する。 

備考 ObjectReferenceと同様に,MHEGExceptionは,しばしば一時的な用途に用いられる変更可能な

オブジェクトである。プログラマは,MHEGExceptionオブジェクトのフィールドが,オブジェ

クトを渡されたJVMによって変更される可能性があることに注意する必要がある。 

C.6 Root 

abstract public class Root 

メソッド 

public static ObjectReference getOwnId ( ) 

呼び出したInterchangedProgram又はAppletのMHEG-5識別子を取得する。 

public static Root getObject (ObjectReference mheg5ObjectReference)  

識別子がmheg5ObjectReferenceであるMHEG-5オブジェクトに対応したJavaオブジェクトへの参照を

取得する。 

Javaの代理オブジェクトが存在しない場合,最初にそれを作成する。 

public ObjectReference getReference ( ) 

オブジェクトへの参照を作成し,その参照を取得する。 

public boolean getAvailabilityStatus ( ) 

内部属性AvailabilityStatusの値を取得する。 

public boolean getRunningStatus ( ) 

内部属性RunningStatusの値を取得する。 

81 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

C.7 Group 

abstract public class Group extends Root 

メソッド 

public void setCachePriority (short cachePriority)  

基本操作SetCachePriorityの実行を引き起こす。cachePriorityの値は,0〜255の範囲でなければならな

い。 

public short getCachePriority ( ) 

内部属性GroupCachePriorityの値を取得する。 

C.8 Application 

public class Application extends Group 

メソッド 

public void lockScreen ( ) 

基本操作LockScreenの実行を引き起こす。 

public void unlockscreen ( ) 

基本操作UnLockScreenの実行を引き起こす。 

public int getLockCount ( ) 

内部属性LockCountの値を取得する。返却値は,正でなければならない。 

public boolean getEngineSupport (OctetString feature)  

基本操作GetEngineSupportの実行を引き起こす。 

C.9 Scene 

public class Scene extends Group 

定数 

有効なeventTypeの値は,次のとおりとする。 

public static final byte IS̲AVAILABLE = 1 

public static final byte CONTENT̲AVAILABLE = 2 

public static final byte IS̲DELETED = 3 

public static final byte IS̲RUNNING = 4 

public static final byte IS̲STOPPED = 5 

public static final byte USER̲INPUT = 6 

public static final byte ANCHOR̲FIRED = 7 

public static final byte TIMER̲FIRED = 8 

public static final byte ASYNCH̲STOPPED = 9 

public static final byte INTERACTION̲COMPLETED = 10 

public static final byte TOKEN̲MOVED̲FROM = 11 

public static final byte TOKEN̲MOVED̲TO = 12 

public static final byte STREAM̲EVENT = 13 

public static final byte STREAM̲PLAYING = 14 

public static final byte STREAM̲STOPPED = 15 

82 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

public static final byte COUNTER̲TRIGGER = 16 

public static final byte HIGHLIGHT̲ON = 17 

public static final byte HIGHLIGHT̲OFF = 18 

public static final byte CURSOR̲ENTER = 19 

public static final byte CURSOR̲LEAVE = 20 

public static final byte IS̲SELECTED = 21 

public static final byte IS̲DESELECTED = 22 

public static final byte TEST̲EVENT = 23 

public static final byte FIRST̲ITEM̲PRESENTED = 24 

public static final byte LAST̲ITEM̲PRESENTED = 25 

public static final byte HEAD̲ITEMS = 26 

public static final byte TAIL̲ITEMS = 27 

public static final byte ITEM̲SELECTED = 28 

public static final byte ITEM̲DESELECTED = 29 

public static final byte ENTRY̲FIELD̲FULL = 30 

public static final byte ENGINE̲EVENT = 31 

メソッド 

public void setTimer (int timerId)  

public void setTimer (int timerId, 

           int timerValue) 

public void setTimer (int timerId, 

           int timerValue, 

           boolean absoluteTime) 

基本操作SetTimerの実行を引き起こす。 

public int getTimerPosition (int timerId)  

内部属性Timersにおいて,引数timerIdで指定されるタイマのTimerPositionフィールドの値を取得す

る。 

timerIdが有効なタイマを指定していない場合は,例外を発生しなければならない。 

public boolean getAbsoluteTime (int timerId)  

内部属性Timersにおいて,引数timerIdで指定されるタイマのAbsoluteTimeフィールドの値を取得す

る。 

timerIdが有効なタイマを指定していない場合は,例外を発生しなければならない。 

public void sendEvent (ObjectReference eventSource, 

        byte eventType) 

public void sendEvent (ObjectReference eventSource, 

        byte eventType, 

        boolean eventData) 

public void sendEvent (ObjectReference eventSource, 

        byte eventType, 

        int eventData) 

83 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

public void sendEvent (ObjectReference eventSource, 

        byte eventType, 

        OctetString eventData) 

基本操作SendEventの実行を引き起こす。 

public void setCursorShape ( ) 

public void setCursorShape (ObjectReference cursorShape)  

基本操作SetCursorShapeの実行を引き起こす。 

public ObjectReference getCursorShape ( ) 

現在シーンに属するCursorShapeオブジェクトへのオブジェクト参照を取得する。空オブジェクト参

照が返された場合は,そのシーンには現在移動カーソルがないことを示す。 

public void setCursorPosition (short xCursor, 

         short yCursor) 

基本操作SetCursorPositionの実行を引き起こす。 

public short [ ] getCursorPosition ( ) 

内部属性CursorPositionの値を取得する。返される配列は二つの要素をもたなければならず,最初の要

素はXCursor,もう一つはYCursorとする。 

C.10  Ingredient 

abstract public class Ingredient extends Root 

メソッド 

public void setContentData (OctetString includedContent)  

包含された内容に対して,基本操作SetDataの実行を引き起こす。 

getContentDataの意味と整合性をもたせるため,SetDataを包含された内容に適応させるメソッドは

SetContentDataと呼ばれる。 

内容の属性が参照の場合の効果は,ここでは定義せず,応用領域で定義される。 

public void setContentReference (ContentReference referencedContent)  

public void setContentReference (ContentReference referencedContent, 

int contentSize) 

public void setContentReference (ContentReference referencedContent, 

short contentCachePriority) 

public void setContentReference (ContentReference referencedContent, 

int contentSize, 

short contentCachePriority) 

参照された内容について,基本操作SetDataの実行を引き起こす。パラメタcontentCachePriorityが指

定された場合,その値は,0〜255の範囲でなければならない。 

内容が“包含されている”の場合,例外を発生しなければならない。 

public OctetString getContentData ( ) 

Ingredientの実際の内容を取得する。 

内容が“包含されている”の場合,返却値は,内部属性Contentの値でなければならない。 

内容が参照の場合,返却値は,内部属性Contentが参照する外部データの値のバイト列表現でなけれ

84 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

ばならない。 

IngredientがTextオブジェクトの場合,このメソッドは,内部属性TextDataの値を取得することに注

意する。 

public ContentReference getContentReference ( ) 

内部属性ContentのContentReferenceフィールドの値を取得する。 

内容が“包含されている”の場合,空オブジェクト参照が返されなければならない。 

public int getContentSize ( ) 

内部属性ContentのContentSizeフィールドの値を取得する。 

内容が“含まれている”の場合,例外を発生しなければならない。 

フィールドが指定されていない場合,返却値は,負の値でなければならない。 

public short getContentCachePriority ( ) 

内部属性ContentのContentCachePriorityフィールドの値を取得する。内容が“包含されている”の場

合,例外を発生しなければならない。 

フィールドが指定されていない場合,返却値は,負の値でなければならない。 

それ以外の場合,返却値は,0〜255の範囲でなければならない。 

public ObjectReference mhegClone ( ) 

基本操作Cloneの実行を引き起こす。 

public void preload ( ) 

基本操作Preloadの実行を引き起こす。 

public void unload ( ) 

基本操作Unloadの実行を引き起こす。 

C.11  Link 

public class Link extends Ingredient 

メソッド 

public void activate ( ) 

基本操作Activateの実行を引き起こす。 

public void deactivate ( ) 

基本操作Deactivateの実行を引き起こす。 

C.12  Program 

abstract public class Program extends Ingredient 

メソッド 

public boolean call (Object [ ] parameters)  

基本操作のCallの実行を引き起こす。 

引数parameters配列のすべての要素は,次のいずれかのデータ型を想定する。 

Boolean,Integer,OctetString,ObjectReference又はContentReference 

それ以外の場合は,例外を発生しなければならない。 

public boolean fork (Object [ ] parameters)  

基本操作Forkの実行を引き起こす。 

85 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

引数parameters配列のすべての要素は,次のいずれかのデータを想定する。 

Boolean, Integer, OctetString, ObjectReference 又はContentReference 

それ以外の場合,例外を発生しなければならない。 

返却値は,プログラムが正しく起動されたかどうかを示す。 

public void stop ( ) 

基本操作Stopの実行を引き起こす。 

C.13 ResidentProgram 

public class ResidentProgram extends Program 

C.14  RemoteProgram 

public class RemoteProgram extends Program 

C.15 InterchangedProgram 

public class InterchangedProgram extends Program 

C.16  Palette 

public class Palette extends Ingredient 

C.17 Font 

public class Font extends Ingredient 

C.18 CursorShape 

public class CursorShape extends Ingredient 

C.19  Variable 

abstract public class Variable extends Ingredient 

C.20  BooleanVariable 

public class BooleanVariable extends Variable 

メソッド 

public void setVariable (boolean value)  

内部属性Valueの値を引数valueに設定する。 

属性を取得するメソッドと同様,このメソッドは,対応する基本操作を起動するのでなく,値に直接

アクセスする。 

public boolean getVariable ( ) 

内部属性Valueの値を取得する。 

C.21 IntegerVariable 

public class IntegerVariable extends Variable 

86 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

メソッド 

public void setVariable (int value)  

内部属性Valueの値をパラメタvalueに設定する。 

属性を取得するメソッドと同様,このメソッドは,対応する基本操作を起動するのでなく,値に直接

アクセスする。 

public int getVariable ( ) 

内部属性Valueの値を取得する。 

C.22  OctetStringVariable 

public class OctetStringVariable extends Variable 

メソッド 

public void setVariable (OctetString value)  

内部属性Valueの値を引数valueに設定する。 

属性を取得するメソッドと同様,このメソッドは,対応する基本操作を起動するのでなく,値に直接

アクセスする。 

public OctetString getVariable ( ) 

内部属性Valueの値を取得する。 

C.23 ObjectReferenceVariable 

public class ObjectRefVariable extends Variable 

メソッド 

public void setVariable (ObjectReference value)  

内部属性Valueの値を引数valueに設定する。 

属性を取得するメソッドと同様,このメソッドは,対応する基本操作を起動するのでなく,値に直接

アクセスする。 

public ObjectReference getVariable ( ) 

内部属性Valueの値を取得する。 

C.24 ContentReferenceVariable 

public class ContentRefVariable extends Variable 

メソッド 

public void setVariable (ContentReference value)  

内部属性Valueの値を引数valueに設定する。 

属性を取得するメソッドと同様,このメソッドは,対応する基本操作を起動するのでなく,値に直接

アクセスする。 

public ContentReference getVariable ( ) 

内部属性Valueの値を取得する。 

C.25 Presentable 

abstract public class Presentable extends Ingredient 

87 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

メソッド 

public void run ( ) 

基本操作Runの実行を引き起こす。 

public void stop ( ) 

基本操作Stopの実行を引き起こす。 

C.26  TokenGroup 

public class TokenGroup extends Presentable 

メソッド 

public void move (short movementId)  

基本操作Moveの実行を引き起こす。 

public void moveTo (short index)  

基本操作MoveToの実行を引き起こす。 

引数indexの値は,0からグループ内の要素数までの範囲でなければならない。 

public short getTokenPosition ( ) 

内部属性TokenPositionの値を取得する。 

public void callActionSlot (short index)  

基本操作CallActionSlotの実行を引き起こす。 

引数indexの値は,0からグループ内の要素数までの範囲でなければならない。 

C.27 ListGroup 

public class ListGroup extends TokenGroup 

メソッド 

public void addItem (short itemIndex, 

        ObjectReference visibleReference) 

基本操作AddItemの実行を引き起こす。 

public void delItem (ObjectReference visibleReference)  

基本操作DelItemの実行を引き起こす。 

public ObjectReference getListItem (short itemIndex)  

内部属性ItemListにおいて,itemIndexをランクとしてもつ項目の値を取得する。 

public ObjectReference getCellItem (short cellIndex)  

基本操作GetCellItemの実行を引き起こす。 

public boolean getItemStatus (short itemIndex)  

基本操作GetItemStatusの実行を引き起こす。 

public void selectItem (short itemIndex)  

基本操作SelectItemの実行を引き起こす。 

public void deselectItem (short itemIndex)  

基本操作DeselectItemの実行を引き起こす。 

public void toggleItem (short itemIndex)  

基本操作ToggleItemの実行を引き起こす。 

88 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

public void scrollItems (short itemsToScroll)  

基本操作ScrollItemの実行を引き起こす。 

public void setFirstItem (short iternIndex)  

基本操作SetFirstItemの実行を引き起こす。 

public short getFirstItem ( ) 

内部属性FirstItemの値を取得する。返却値は,正でなければならない。 

public short getListSize ( ) 

内部属性ItemListにおける現在の項目数を取得する。返却値は,正でなければならない。 

C.28  Visible 

abstract public class Visible extends Presentable 

メソッド 

public void setPosition(short xPosition, 

        short yPosition) 

基本操作SetPositionの実行を引き起こす。 

public short [ ] getPosition ( ) 

内部属性Positionの値を取得する。返される配列は二つの要素をもたなければならず,最初の要素は

XPosition,もう一つの要素はYPositionとする。 

public void setBoxSize (short xBoxSize, 

        short yBoxSize) 

基本操作SetBoxSizeの実行を引き起こす。 

引数xBoxSize及びyBoxSizeの値は,正とし,0以外の値でなければならない。 

public short[] getBoxSize ( ) 

内部属性BoxSizeの値を取得する。 

返される配列は二つの要素をもたなければならず,最初の要素はXBoxSize,もう一つの要素は

YBoxSizeとする。 

public void bringToFront ( ) 

基本操作BringToFrontの実行を引き起こす。 

public void sendToBack ( ) 

基本操作SendToBackの実行を引き起こす。 

public void putBefore (ObjectReference visibleReference)  

基本操作PutBeforeの実行を引き起こす。 

public void putBehind (ObjectReference visibleReference)  

基本操作PutBehindの実行を引き起こす。 

public void setPaletteRef (ObjectReference paletteReference)  

基本操作SetPaletteRefの実行を引き起こす。 

public ObjectReference getPaletteRef ( ) 

内部属性PaletteRefの値を取得する。 

C.29 Bitmap 

89 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

public class Bitmap extends Visible 

メソッド 

public void scaleBitmap (short xScale, 

           short yScale) 

基本操作ScaleBitmapの実行を引き起こす。 

引数xScale及びyScaleの値は,正でなければならない。 

public void setTransparency (byte transparency)  

基本操作SetTransparencyの実行を引き起こす。 

引数transparencyの値は,0〜100の範囲でなければならない。 

public byte getTransparency ( ) 

内部属性Transparencyの値を取得する。 

C.30 LineArt 

public class LineArt extends Visible 

定数 

LineStyleに対して有効な値は,次のとおりとする。 

public static final byte SOLID = 1 

public static final byte DASHED = 2 

public static final byte DOTTED = 3 

メソッド 

public void setLineWidth (byte lineWidth)  

基本操作SetLineWidthの実行を引き起こす。 

引数lineWidthの値は,正でなければならない。 

public void setLineStyle (byte lineStyle)  

基本操作SetLineStyleの実行を引き起こす。 

引数lineStyleの値は,SOLID,DASHED又はDOTTEDのいずれかでなければならない。 

public void setFillColour ( ) 

public void setFillColour (Colour fillColour)  

基本操作SetFillColourの実行を引き起こす。 

メソッドが引数なしで呼ばれた場合,塗りつぶしの色は,透明色に設定しなければならない。 

public void setLineColour (Colour lineColour)  

基本操作SetLineColourの実行を引き起こす。 

C.31 Rectangle 

public class Rectangle extends LineArt 

C.32  DynamicLineArt 

public class DynamicLineArt extends LineArt 

メソッド 

public byte getLineWidth ( ) 

90 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

内部属性LineWidthの値を取得する。 

public byte getLineStyle ( ) 

内部属性LineStyleの値を取得する。 

public Colour getLineColour ( ) 

内部属性RefLineColourの値を取得する。 

public Colour getFillColour ( ) 

内部属性RefFillColourの値を取得する。空オブジェクトが返された場合,塗りつぶしの色がないこと

を示す(透明色)。 

public void drawArc(short x, 

         short y, 

         short ellipseWidth, 

         short ellipseHeight, 

         short startAngle, 

         short arcAngle) 

基本操作DrawArcの実行を引き起こす。 

public void drawSector (short x, 

          short y, 

          short ellipseWidth, 

          short ellipseHeight, 

            short startAngle, 

          short arcAngle) 

基本操作DrawSectorの実行を引き起こす。 

public void drawLine (short x1, 

            short y1, 

            short x2, 

            short y2) 

基本操作DrawLineの実行を引き起こす。 

public void drawOval (short x, 

            short y, 

          short ellipseWidth, 

          short ellipseHeight) 

基本操作DrawOvalの実行を引き起こす。 

public void drawPolygon (short [ ] [ ] pointList)  

基本操作DrawPolygonの実行を引き起こす。 

引数pointListは,shortデータの配列 [n] [2] の形式,すなわち,各点が二つのshort integerで表される

点の配列とする。 

public void drawPolyline (short [ ] [ ] pointList)  

基本操作DrawPolylineの実行を引き起こす。 

引数pointListは,shortデータの配列 [n] [2] の形式,すなわち,各点が二つのshort integerで表される

点の配列とする。 

91 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

public void drawRectangle(short x1, 

               short y1, 

               short x2, 

               short y2) 

基本操作DrawRectangleの実行を引き起こす。 

public void clear ( ) 

基本操作Clearの実行を引き起こす。 

C.33  Text 

public class Text extends Visible 

メソッド 

public void setFontRef (OctetString fontName)  

public void setFontRef (ObjectReference fontReference)  

基本操作SetFontRefの実行を引き起こす。 

public Object getFontRef ( ) 

内部属性Fontの値を取得する。 

返却値は,ObjectReference(この場合,MHEG-5 Fontオブジェクトヘの参照を表す。)又はOctetString

(この場合,内蔵するフォント名を表す。)のいずれかの形とする。 

空オブジェクト参照が返された場合は,省略時のフォントを意味する。 

C.34 Stream 

public class Stream extends Presentable 

メソッド 

public void setCounterTrigger (short triggerIdentifier)  

public void setCounterTrigger (short triggerIdentifier, 

                 int counterValue) 

基本操作SetCounterTriggerの実行を引き起こす。引数counterValueが指定されていない場合,対象の

トリガを消去しなければならない。 

public int getCounterTrigger (short triggerIdentifier)  

内部属性CounterTriggerにおいて,IDがtriggerIdentifierであるトリガのCounterPositionフィールドの

値を取得する。対象トリガが存在しない場合,例外を発生しなければならない。 

public void setSpeed (byte numerator)  

public void setSpeed (byte numerator, 

           byte denominator) 

基本操作SetSpeedの実行を引き起こす。 

public byte [ ] getSpeed ( ) 

内部属性Speedの値を取得する。 

返される配列は二つの要素をもたなければならず,最初の要素はnumerator,もう一つはdenominator

とする。 

public void setCounterPosition (int counterPosition)  

92 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

基本操作SetCounterPositionの実行を引き起こす。 

public int getCounterPosition ( ) 

CounterPosition属性の値を取得する。 

public void setCounterEndPosition (int counterEndPosition)  

基本操作SetCounterEndPositionの実行を引き起こす。 

public int getCounterEndPosition ( ) 

CounterEndPosition属性の値を取得する。 

C.35  Audio 

public class Audio extends Presentable 

メソッド 

public void setVolume (byte volume)  

基本操作SetVolumeの実行を引き起こす。 

public byte getVolume ( ) 

内部属性Volumeの値を取得する。 

C.36 Video 

public class Video extends Visible 

メソッド 

public void scaleVideo (short xScale, 

        short yScale) 

基本操作ScaleVideoの実行を引き起こす。 

引数xScale及びyScaleは,正でなければならない。 

C.37 RTGraphics 

public class RTGraphics extends Visible 

C.38 Slider 

public class Slider extends Visible 

メソッド 

public void setInteractionStatus (boolean interactionStatus)  

基本操作SetInteractionStatusの実行を引き起こす。 

public boolean getInteractionStatus ( ) 

内部属性InteractionStatusの値を取得する。 

public void setHighlightStatus (boolean highlightStatus)  

基本操作SetHighlightStatusの実行を引き起こす。 

public boolean getHighlightStatus ( ) 

内部属性HighlightStatusの値を取得する。 

public void step (short nbOfSteps)  

基本操作Stepの実行を引き起こす。 

93 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

public void setSliderValue (short sliderValue)  

基本操作SetSliderValueの実行を引き起こす。 

public short getSliderValue ( ) 

内部属性SliderValueの値を取得する。 

public void setPortion (short portion)  

基本操作SetPortionの実行を引き起こす。 

public short getPortion ( ) 

内部属性Portionの値を取得する。 

C.39  EntryField 

public class EntryField extends Text 

メソッド 

public void setInteractionStatus (boolean interactionStatus)  

基本操作SetInteractionStatusの実行を引き起こす。 

public boolean getInteractionStatus ( ) 

内部属性InteractionStatusの値を取得する。 

public void setHighlightStatus (boolean highlightStatus) 

基本操作SetHighlightStatusの実行を引き起こす。 

public boolean getHighlightStatus ( ) 

内部属性HighlightStatusの値を取得する。 

public void setOverwriteMode (boolean overwriteMode)  

基本操作SetOverWriteModeの実行を引き起こす。 

public boolean getOverwriteMode ( ) 

内部属性OverwriteModeの値を取得する。 

public void setEntryPoint (byte entryPoint)  

基本操作SetEntryPointの実行を引き起こす。 

引数entryPointの値は,正でなければならない。 

public byte getEntryPoint ( ) 

内部属性EntryPointの値を取得する。 

C.40  HyperText 

public class HyperText extends Text 

メソッド 

public void setInteractionStatus (boolean interactionStatus)  

基本操作SetInteractionStatusの実行を引き起こす。 

public boolean getInteractionStatus ( ) 

内部属性InteractionStatusの値を取得する。 

public void setHighlightStatus (boolean highlightStatus)  

基本操作SetHighlightStatusの実行を引き起こす。 

public boolean getHighlightStatus ( ) 

94 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

内部属性HighlightStatusの値を取得する。 

public OctetString getLastAnchorFired ( ) 

内部属性LastAnchorFiredの値を取得する。 

C.41 Button 

abstract public class Button extends Visible 

メソッド 

public void setInteractionStatus (boolean interactionStatus)  

基本操作SetInteractionStatusの実行を引き起こす。 

public boolean getInteractionStatus ( ) 

内部属性InteractionStatusの値を取得する。 

public void setHighlightStatus (boolean highlightStatus)  

基本操作SetHighlightStatusの実行を引き起こす。 

public boolean getHighlightStatus ( ) 

内部属性HighlightStatusの値を取得する。 

public boolean getSelectionStatus ( ) 

内部属性SelectionStatusの値を取得する。 

public void select ( ) 

基本操作Selectの実行を引き起こす。 

Public void deselect ( ) 

基本操作DeSelectの実行を引き起こす。 

C.42 Hotspot 

public class Hotspot extends Button 

C.43  PushButton 

public class PushButton extends Button 

メソッド 

public void setLabel (OctetString label)  

基本操作SetLabelの実行を引き起こす。 

public OctetString getLabel ( ) 

内部属性Labelの値を取得する。 

C.44 SwitchButton 

public class SwitchButton extends PushButton 

メソッド 

public void toggle ( ) 

基本操作Toggleの実行を引き起こす。 

C.45  Applet 

95 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

public class Applet extends InterchangedProgram 

メソッド 

public boolean invoke (OctetString method, 

        Object [ ] methodParameters) 

基本操作Invokeの実行を引き起こす。 

配列methodParametersのすべての要素は,Boolean,Integer,OctetString,ObjectReference又は

ContentReferenceのいずれかのデータ型を想定する。 

それ以外の場合は,例外を発生しなければならない。 

public void setPosition (short xPosition, 

          short yPosition) 

基本操作SetPositionの実行を引き起こす。 

public short [ ] getPosition ( ) 

内部属性Positionの値を取得する。 

返された配列は,二つの要素をもたなければならず,最初の要素はXPosition,もう一つの要素は

YPositionとする。 

public void setBoxSize (short xBoxSize, 

         short yBoxSize) 

基本操作SetBoxSizeの実行を引き起こす。 

引数xBoxSize及びyBoxSizeは正で,0以外の値でなければならない。 

public short [ ] getBoxSize ( ) 

内部属性BoxSizeの値を取得する。 

返された配列は二つの要素をもたなければならず,最初の要素はXBoxSize,もう一つの要素は

YBoxSizeとする。 

public void bringToFront ( ) 

基本操作BringToFrontの実行を引き起こす。 

public void sendToBack ( ) 

基本操作SendToBackの実行を引き起こす。 

public void putBefore (ObjectReference visibleReference)  

基本操作PutBeforeの実行を引き起こす。 

public void putBehind (ObjectReference visibleReference)  

基本操作PutBehindの実行を引き起こす。 

public void setInteractionStatus (boolean interactionStatus)  

基本操作SetInteractionStatusの実行を引き起こす。 

public boolean getInteractionStatus ( ) 

内部属性InteractionStatusの値を取得する。 

public void setHighlightStatus (boolean highlightStatus)  

基本操作SetHighlightStatusの実行を引き起こす。 

public boolean getHighlightstatus ( ) 

内部属性HighlightStatusの値を取得する。 

background image

96 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

附属書D(参考) 基本操作とMHEG-5 API演算との対応付け 

表D.1は,どのようにしてMHEG-5 APIがMHEG-5のクラスを,Javaのクラスとそのインタフェースに

対応付け,MHEG-5の基本操作をJavaのメソッドに対応付けるかを示す。 

括弧の中の数値は,Javaメソッドとして設定可能な異なるシグネチャの数を示している。太字は,同期

して動作するプログラムが利用可能なメソッドを示している。すなわち,これらはCall基本操作を使って

起動されるプログラム群である。*印は簡易版に属さないクラスを示している。クラスの順番は,JIS X 4345

と同じである。 

表D.1 基本操作とMHEG-5 API演算との対応付け 

MHEG-5クラス 

MHEG-5基本操作 

API演算 

APIインタフェース又はクラス 

ルート 

getObject 

ルート(抽象クラス) 

getOwnId 

getReference 

GetAvailabilityStatus 

getAvailabilityStatus 

GetRunningStatus 

getRunningStatus 

グループ 

SetCachePriority 

setCachePriority 

グループ(抽象クラス) 

getCaohePriority 

アプリケーション 

StorePersistent 

アプリケーション(具象クラス) 

ReadPersistent 

Launch 

Spawn 

Quit 

OpenConnection 

CloseConnection 

LockScreen 

lockScreen 

UnlockScreen 

unlockScreen 

getLockCount 

GetEngineSupport 

getEngineSupport 

シーン 

TransitionTo 

シーン(具象クラス) 

SetTimer 

setTimer (3)  

getTimerPosition 

getAbsoluteTime 

SendEvent 

sendEvent (4)  

SetCursorShape 

setCursorShape (2)  

getCursorShape 

SetCursorPosition 

setCursorPosition 

GetCursorPosition 

getCursorPosition 

要素 

SetData 

setContentData 

要素(抽象クラス) 

setContentReference (4)  

getContentData 

getContentReference 

getContentSize 

getContentCachePriority 

Clone 

mhegClone 

Preload 

preload 

Unload 

unload 

background image

97 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

MHEG-5クラス 

MHEG-5基本操作 

API演算 

APIインタフェース又はクラス 

リンク* 

Activate 

activate 

リンク(具象クラス) 

Deactivate 

deactivate 

プログラム* 

Call 

call 

プログラム(抽象クラス) 

Fork 

fork 

Stop 

stop 

遠隔プログラム* 

遠隔(具象クラス) 

内蔵プログラム* 

内蔵(具象クラス) 

交換プログラム* 

交換(具象クラス) 

パレット* 

パレット(具象クラス) 

フォント* 

フォント(具象クラス) 

カーソル形状* 

カーソル(具象クラス) 

変数 

SetVariable 

(サブクラスを参照) 

変数(抽象クラス) 

TestVariable 

(サブクラスを参照) 

論理型変数 

(変数クラスを参照) setVariable 

論理型変数(具象クラス) 

(変数クラスを参照) getVariable 

整数型変数 

(変数クラスを参照) setVariable 

整数型変数(具象クラス) 

(変数クラスを参照) getVariable 

Add 

Subtract 

Multiply 

Divide 

Modulo 

オクテット型変数 

(変数クラスを参照) setVariable 

オクテット型変数(具象クラス) 

(変数クラスを参照) getVariable 

Append 

コンテント参照型変数 

(変数クラスを参照) setVariable 

コンテント参照型変数(具象クラス) 

(変数クラスを参照) getVariable 

オブジェクト参照型変数 

(変数クラスを参照) setVariable 

オブジェクト参照型変数(具象クラス) 

(変数クラスを参照) getVariable 

出力* 

Run 

run 

出力(抽象クラス) 

Stop 

stop 

トークングループ* 

CallActionSlot 

callActionSlot 

トークングループ(具象クラス) 

トークン管理* 

Move 

move 

MoveTo 

moveTo 

GetTokenPosition 

getTokenPosition 

リストグループ* 

AddItem 

addItem 

リストグループ(具象クラス) 

DelItem 

delItem 

GetListItem 

getListItem 

GetCellItem 

getCellItem 

GetItemStatus 

getItemStatus 

SelectItem 

selectItem 

DeselectItem 

deselectItem 

ToggleItem 

toggleItem 

ScrollItems 

scrollItems 

SetFirstItem 

setFirstItem 

GetFirstItem 

getFirstItem 

GetListSize 

getListSize 

可視* 

SetPosition 

setPosition 

可視(抽象クラス) 

background image

98 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

MHEG-5クラス 

MHEG-5基本操作 

API演算 

APIインタフェース又はクラス 

GetPosition 

getPosition 

SetBoxSize 

setBoxSize 

GetBoxSize 

getBoxSize 

BringToFront 

bringToFront 

SendToBack 

sendToBack 

PutBefore 

putBefore 

PutBehind 

putBehind 

SetPaletteRef 

setPaletteRef 

getPaletteRef 

ビットマップ* 

ScaleBitmap 

scaleBitmap 

ビットマップ(具象クラス) 

SetTransparency 

setTransparency 

getTransparency 

ラインアート* 

SetLineWidth 

setLineWidth 

ラインアート(具象クラス) 

SetLineColour 

setLineColour 

SetFillColour 

setFillColour (2)  

SetLineStyle 

setLineStyle 

長方形* 

長方形(具象クラス) 

動的ラインアート* 

GetLineWidth 

getLineWidth 

動的ラインアート(具象クラス) 

GetLineColour 

getLineColour 

GetFillColour 

getFillColour 

GetLineStyle 

getLineStyle 

DrawArc 

drawArc 

DrawSector 

drawSector 

DrawLine 

drawLine 

DrawOval 

drawOval 

DrawPolygon 

drawPolygon 

DrawPolyline 

drawPolyline 

DrawRectangle 

drawRectangle 

Clear 

clear 

テキスト* 

SetFontRef 

setFontRef (2)  

テキスト(具象クラス) 

getFontRef 

GetTextContent 

(要素クラスを参照) 

GetTextData 

(要素クラスを参照) 

ストリーム* 

SetCounterTrigger 

setCounterTrigger (2)  

ストリーム(具象クラス) 

getCounterTrigger 

SetSpeed 

setSpeed (2)  

getSpeed 

SetCounterPosition 

setCounterPosition 

getCounterPosition 

SetCounterEndPosition 

setCounterEndPosition 

getCounterEndPosition 

音響* 

SetVolume 

setVolume 

音響(具象クラス) 

GetVolume 

getVolume 

動画* 

ScaleVideo 

scaleVideo 

動画(具象クラス) 

実時間グラフィックス 

実時間グラフィックス 

(具象クラス) 

対話 

SetInteractionStatus 

(サブクラスを参照) 

GetInteractionStatus 

(サブクラスを参照) 

background image

99 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

MHEG-5クラス 

MHEG-5基本操作 

API演算 

APIインタフェース又はクラス 

SetHighlightStatus 

(サブクラスを参照) 

GetHighlightStatus 

(サブクラスを参照) 

スライダ* 

Step 

step 

スライダ(具象クラス) 

SetSliderValue 

setSliderValue 

GetSliderValue 

getSliderValue 

SetPortion 

setPortion 

GetPortion 

getPortion 

(対話クラスを参照) setInteractionStatus 

(対話クラスを参照) getInteractionStatus 

(対話クラスを参照) setHighlightStatus 

(対話クラスを参照) getHighlightStatus 

入力フィールド* 

SetOverwriteMode 

setOverwriteMode 

入力フィールド(具象クラス) 

GetOverwriteMode 

getOverwriteMode 

SetEntryPoint 

setEntryPoint 

GetEntryPoint 

getEntryPoint 

(対話クラスを参照) setInteractionStatus 

(対話クラスを参照) getInteractionStatus 

(対話クラスを参照) setHighlightStatus 

(対話クラスを参照) getHighlightStatus 

ハイパテキスト* 

GetLastAnchorFired 

getLastAnchorFired 

ハイパテキスト(具象クラス) 

(対話クラスを参照) setInteractionStatus 

(対話クラスを参照) getInteractionStatus 

(対話クラスを参照) setHighlightStatus 

̀ 

(対話クラスを参照) getHighlightStaus 

ボタン* 

getSelectionStatus 

ボタン(抽象クラス) 

Select 

select 

Deselect 

deselect 

(対話クラスを参照) setInteractionStatus 

(対話クラスを参照) getInteractionStatus 

(対話クラスを参照) setHighlightStatus 

(対話クラスを参照) getHighlightStatus 

ホットスポット* 

ホットスポット(具象クラス) 

押しボタン* 

SetLabel 

setLabel 

プッシュボタン(具象クラス) 

GetLabel 

getLabel 

スイッチボタン* 

GetSelectionStatus 

(ボタンクラスを参照) 

スイッチボタン(具象クラス) 

Toggle 

toggle 

アプレット* 

Invoke 

invoke 

アップレット(具象クラス) 

(可視クラスを参照) setPosition 

(可視クラスを参照) getPosition 

(可視クラスを参照) setBoxSize 

(可視クラスを参照) getBoxSize 

(可視クラスを参照) bringToFront 

(可視クラスを参照) sendToBack 

(可視クラスを参照) putBefore 

(可視クラスを参照) putBehind 

(対話クラスを参照) setInteractionStatus 

(対話クラスを参照) getInteractionStatus 

(対話クラスを参照) setHighlightStatus 

background image

100 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

MHEG-5クラス 

MHEG-5基本操作 

API演算 

APIインタフェース又はクラス 

(対話クラスを参照) getHighlightStatus 

101 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

附属書E(参考) MHEG-6アプレットとWorld Wide Webアプレットと

の関係 

MHEG-6アプレットクラスの仕様は,複数のMHEG-6応用領域のWorld Wide Web (WWW) から,Java

アプレットを,ある範囲内で再利用するために使われる。この附属書は,二つのタイプのアプレット間の

関係を説明する。 

E.1 アプレットオブジェクトヘのアクセス HTMLページは受動的なので,いったんアプレットが開始さ

れてしまえば,HTMLページとJavaアプレット間との通信は通常行われない。しかし,MHEG-5は能動的

環境であるため,MHEG-6アプレットは,アプレットコードが実行されている間,MHEG-5環境と通信す

る。この規格は,アプレットの開始後の任意の時間に,アプレットオブジェクトでJavaメソッドが起動さ

れるための基本操作Invokeを規定する。MHEG-6仕様によれば,Invoke基本操作の引数によって,異なっ

たシグネチャをもったJavaメソッドが起動される。 

E.2 アプレット実行モデル WWW上のJavaアプレットとして,java. applet. Appletは,init,start,stop及

びdestroyと呼ばれる四つの標準メソッドを規定している。これらは,WWWブラウザによって自動的に

起動され,ライフサイクル上の臨界点をアプレットオブジェクトに通知するために利用される。これらの

四つのメソッドはMHEG-6アプレットとしては標準化されておらず,なおかつ,MHEG-6エンジンによっ

て自動的に呼び出されるメソッドも存在しない。しかし,Invoke基本操作を利用すれば,MHEG-6アプリ

ケーションは,これらのメソッドを適切な回数呼び出すことができる。これによって,WWWからのJava

アプレットは,期待している通知を受けることができる。 

WWW上のJavaアプレットにとって,これらの四つの標準メソッドは,いつも同じJavaスレッドから

起動されているはずである。これらの一つを実行するのにかなりの時間がかかる場合,他のメソッドの呼

出しは,実行が終了するまで必要に応じて待ち行列に入れられる。同じモデルは,MHEG-6のアプレット

としても使われる。すなわち,このことは,Invoke基本操作を使って呼び出される,すべてのJavaメソッ

ドに適用できるように一般化される。MHEG-6仕様において,基本的Javaスレッドは,MHEGオブジェク

トの活性化によって生成され,MHEGオブジェクトの非活性化によって消去される。Invoke基本操作を経

由して呼び出されたすべてのメソッドは,このとき,このスレッドから起動される。 

E.3 グラフィックス環境との統合 本体8.3で示したようにMHEG-6アプレットは,関連したグラフィッ

クスAPIなしに,実体化可能な交換プログラムとして単純に利用することができる。 

この規格は,グラフィックス環境又はグラフィックスAPIを規定しない。しかし,応用領域は,アプレ

ットによって利用できる付加的なJava APIを定義してもよい。さらに,アプレットが活性化されていると

きには,Fork基本操作でJavaクラスを規定しても何の制限もされない。応用領域は,MHEG-6のJavaコ

ードとグラフィックス領域との間のリンクを確立するために,そのような制限を規定してもよい。特に,

インタネットとの互換性を望む応用領域は,Fork基本操作の引数として規定されるクラスがjava. applet. 

Appletから継承される,という制限を規定するほうがよい。 

102 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

附属書F(参考) 主な特徴 

この附属書は,多数の要求及び次に関する制約に応じる目的で開発されている。 

− 応用 

− 機能性 

− 使用場面 

− 性能 

F.1 特徴 この規格は,次を特徴とする応用からの要求に適合させるように,JIS X 4345を拡張する。 

1) MHEG-5実体の取扱い 

2) 計算,変数の取扱い及び構造体の制御 

3) 外部装置の制御 

4) データの取得 

5) 外部データへのアクセス 

6) 任意の外部実行時サービスへのアクセス 

F.1.1 MHEG-5実体の取扱い 応用は,通常,マルチメディアの提示を目的としてMHEG-5実体を取り扱

う。 

F.1.2 計算,変数の取扱い及び構造体の制御 応用は,高度で動的な振る舞いを実装するために,これら

のデータ処理機能を必要とする。 

F.1.3 外部装置の制御 装置は,しばしば,プラットホーム固有のインタフェースを提供する。JIS X 4345

及びそれにカプセル化されたモノメディア規格を実装した実行プラットホームの構成要素は,通常,多数

の装置を利用可能とする。加えて,幾つかの応用は,これらの装置又は利用対象となっていないその他の

装置を直接制御する必要がある。 

F.1.4 データの取得 JIS X 4345及びそれにカプセル化されたモノメディア規格を実装した実行プラット

ホームの構成要素は,通常,多数のデータの取得機構を利用可能とする。加えて,幾つかの応用は,これ

らの機構又は利用対象となっていないその他の機構から(例えば,よりよく同調するために)データの取

得を直接制御する必要がある。 

F.1.5 外部データへのアクセス 幾つかの応用は,非MHEG-5データへのアクセスが必要。この非MHEG-5

データは,局所記憶装置ストリーム,又は実行時環境の通信装置を使用して遠隔データリポジトリから,

取得しなければならないことがある。 

F.1.6 任意の外部実行時サービスへのアクセス 実行時サービスは,どのようなサービスを参照してもよ

い。この場合,サービスのインタフェースが,応用プログラムの交換後に初めて分かるようなサービスを

も含む。 

F.2 機能の特徴 この規格は,次のものを表現可能なVMコードを定める。 

1) データ処理演算(F.2.1参照) 

2) 外部データ及び外部機能へのアクセス(F.2.2参照) 

F2.1 データ処理演算 交換されたVMコードで扱うことができるデータ処理演算には,次のものがある。 

− 構成された数値データ型の取扱い 

103 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

− 変数及びこれらの型の値 

− データへのアクセス又は変数の割当てを実行する命令 

− 実行制御フローに影響を及ぼす命令 

− 算術,論理及び比較演算を実行する命令 

F.2.2 外部データ及び外部機能へのアクセス 外部データ及び外部機能へのアクセスには,協調作業が必

要となる。すなわち,次のものとの間で,機能の呼出し,メッセージの受取り,及びデータの交換を行う

必要がある。 

− MHEG-5エンジン 

− 実行時環境内の他のモジュール 

MHEG-5エンジン及び実行環境内の他のモジュールとの協調作業は,交換されたVMコードが実行環境

固有のインタフェースを呼び出すのに使う,機構と同一の機構によって実現される。 

MHEG-5エンジンとの協調に関して,この機構は,次を行うために使用される。 

− 基本操作の起動 

− MHEG-5の動的な属性値の取得 

− 変数及びMHEG-5データ型の値の表示 

実行環境内の他のモジュールとの協調に関して,この機構は,次を行うために使用される。 

− 実行環境によって提供されるサービスインタフェースの宣言 

− 実行環境によって提供されるサービスの起動 

− これらのサービスによって発生する例外への反応 

− 構成された数値データ型及び高度な数値データ型の宣言 

− 変数及びこれらの型の値の表示 

加えて,VMコードは,VMパッケージ宣言の実際の実行環境構成要素への対応付けを定める。 

F.3 技術的な特徴 VMコードは,次の技術的な要求を満たすように定められている。 

− ハードウェア,プラットホーム及びオペレーティングシステムからの独立性 

− 安全なプログラム処理 

− 最終形式表現 

− 実時間交換のための規定 

− 意味の検証 

− 構文の検査可能性(汚染の危険に関して) 

− MHEG-5との双方向性の相互作用 

− MHEG-5機能との直交性 

F.3.1 ハードウェアからの独立性 ハードウェアからの独立性,及びそれによる応用プログラムの可搬性

は,交換されるプログラムを表現するVMコードの定義及びこのコードを解釈する仮想機械の定義によっ

て達成される。 

コード化された表現は,ハードウェアに依存しない符号化規則に基づいている。 

インタフェースは,Javaパッケージとして定義されている。これらのインタフェースの呼出しは,ハー

ドウェアに依存しない方法でVMコードに対応付けられる。 

104 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

F.3.2 安全なプログラム処理 システム設計者は,故意又は偶然によって生じる欠陥のあるプログラムの

実行が,配達システムに最小限の影響しかもたらさない保証,及びすべての外部サービスヘのアクセスが

注意深く監視できる保証を望んでもよい。VMは,この目標を援助する次のような特徴をもつ。 

− すべての外部サービスは,強い型付けが行われた,明示的なインタフェースをもつ。 

− すべての命令は,強い型付けをもつ。したがって,演算及びオペランドは,その処理前又は実行時の

いずれかに検査を行うだけでよい。 

− 意図しない副作用の可能性を防ぐために,記憶装置への直接参照はしない(すなわち,ポインタの計

算はない。)。 

− ハンドル,識別子又はポインタの直接の取扱いはしない。 

F.3.3 最終形式表現 交換されたプログラムの最終形式表現は,次によって達成される。 

− 交換されたプログラムの適正な符号化の使用 

− 一般的な目的の計算機の主要なクラスに意味的に近い仮想機械符号化 

− 能率のよい命令の符号化 

F.3.4 実時間交換のための規定 この規格は,その一般的な構造が実時間交換の要求を満たすために設計

されている,ISO/IEC 13522によって課せられた枠組みに適合する。 

交換プログラムに対する構文及び構造から,交換されたプログラムは,直接に実行してもよいし,固有

のコードに即時にコンパイルしてもよい。 

F.3.5 意味の検証 商用サービスの内容を実際に使用する前に,性能を検証する目的で,交換プログラム

の振る舞いを試験することが可能である。適合VM実装が交換プログラムの試験において,どのように振

る舞うかを示す,基準となるVMの実装を作成することも可能である。 

F.3.6 構文の検査可能性(汚染の危険に関して) VM構文の形式定義を用いることで,交換プログラム

の正当性を検査ができるので,何らかの方法でシステムに損害を与えようとするウイルスのようなコード

の交換を制限するのにも役立つ。構文及び意味の検査が,実行時又はロード時のいずれに行うかは,実装

の選択である。 

備考 計算機に独立なインタプリタ表現の使用は,汚染の危険性を減らす。残りの危険は,認証され

ていない実装又は正しくない実装によって生じる。伝送の場合の暗号化,認証,その他のセキ

ュリティ機構の規定は,この規格の範囲外である。 

F.3.7 MHEG-5との双方向性の相互作用 この規格は,MHEG-5オブジェクトを取り扱うためにVMコー

ドによって使用される,標準APIであるMHEG-5 APIを定める。 

この規格は,特段の規定を設けて,MHEG-5オブジェクトからVMコードがアクセスすることができる

ようにしてある。特に,MHEG-5の交換プログラムクラスヘの意味の拡張を行った。 

F.3.8 MHEG-5の機能性と重複しないこと この規格によって明記された環境は,重複した新しい手段を

定めることなしに,ISO/IEC 13522によって定められたマルチメディア表現機能を完全に活用する。 

F.4 技術的基準 この規格によって明記された環境は,十分に次の基準のすべてに答える。 

− 開放性及び拡張性 

− 多数の高水準言語からの効率のよいコンパイル 

− 簡潔さ 

− 解釈の効率 

− 改変性がない 

105 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

− 開放的及び完全な仕様 

F.4.1 開放性及び拡張性 “開放性及び拡張性”の基準は,次によって満足される。 

− VMコードからのアクセスを可能とするインタフェースの一般的な定義 

− VMコード表現の構造を変更することのない新しいAPIの追加の可能性 

F.4.2 多数の高水準言語からの効率のよいコンパイル 高水準言語からのコンパイルは可能であり,多く

の場合効率がよい。 

命令集合は,コンパイル速度,及びセキュリティ要件を満足している限り生成したコードの品質に関し

てどのような制限もない。 

F.4.3 簡潔さ 交換プログラムに関するコード表現の簡潔さは,次を含む最適化によって達成される。 

− VMコードの定義がスタック方式の計算機に基づいているので,命令が幾つかのオペランドをもって

もよいし,もたなくてもよい。 

− 交換形式としてバイトコードを使用することによって,型−長さ−値 (TLV) コードに含まれるオーバ

ヘッドを回避する。 

F.4.4 解釈の効率 “解釈の効率”の基準は,次によって満足される。 

− スタックに基づいたVMコードの使用 

− 低水準な命令の使用 

− 最終形式表現の使用 

F.4.5 非改変性 非改変性は,最終形態及び/又は低水準な表現の使用によって達成される。この表現は,

特殊な計算機ツールによって制作されるためのもので,スクリプト言語及び/又は編集作成環境を用いて,

人によって設計された元のソースコードへの復元を容易に許さない。したがって,プログラムの意味の不

当な改変が少なくなる。 

F.4.6 公開及び完全な仕様 国際規格として,この仕様は,国際標準化団体の知的財産権の方針による。

仕様の改定は,これらの団体の管理下におかれ,また公知で,厳密に適用された規則によって管理される。 

106 

X 4346 : 1999 (ISO/IEC 13522-6 : 1998) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

附属書G(参考) 知的財産権 

ISO/IEC JTC1/SC29/WG12は,この規格に関連する知的財産権又は特許についての権利を主張する場合

にはその旨を宣言するようにという,公開要求を発行した。 

この規格の最終版が承認された時点では,この規格に関連する特許又は知的財産権を主張するいかなる

貢献者や組織もなかった。 

財団法人日本規格協会・情報技術標準化センター 

画像処理技術調査研究委員会MHEG JIS化分科会 (WG6)  構成表 

氏名 

所属 

(主査) 

滝 川   啓 

NTTソフトウェア株式会社 

内 山 光 一 

株式会社東芝 

大 森 淳 夫 

パイオニア株式会社 

加 井 謙二郎 

日本放送協会 

亀 山   渉 

株式会社メディアグルー 

楠 見 雄 規 

松下電器産業株式会社 

斎 藤 伸 雄 

凸版印刷株式会社 

出 羽 義 治 

ソニー株式会社 

羽 田 知 史 

株式会社KDD研究所 

濱 川   礼 

日本電気株式会社 

半 田 晶 彦 

日本ビクター株式会社 

矢 田 健 一 

NTTソフトウェア株式会社 

山 田 勝 彦 

沖電気工業株式会社 

中 島 知 行 

通商産業省工業技術院 

(事務局) 

川中子   肇 

財団法人日本規格協会