内容データ型

. Those types which can occur are explicitly specified below. Only types defined or referenced in this Clause may occur in the processing of content values. ]]> この節は,内容の処理の際に現れることのできるオブジェクトの型を定義する。 それらの型には,すべてではないが, で定義する型の幾つかも含まれる。 で定義した型によって, 内容の処理の際に現れることのできる型は, この節で明示的に規定する。 この節で定義又は参照した型だけが,内容値の処理中に現れることができる。

. ]]> SPDL仮想機械が処理する各オブジェクトは, それに関連づけられたオブジェクト型をもつ。 型の体系の構造は,に記述する。 with the introduction of composite objects and object references. Values and composite objects are subclasses of the class of objects. Object references are a subclass of values. ]]> 型の体系は,で, 複合オブジェクト及びオブジェクト参照を導入して拡張されている。 値及び複合オブジェクトは,オブジェクトのクラスのサブクラスとする。 オブジェクト参照は,値のサブクラスとする。

複合オブジェクトは,単純な値及びオブジェクト参照両方の値の容器とする。 . ]]> 複合オブジェクトは,オブジェクト参照によって識別される。 すなわち,ある複合オブジェクトが,別の複合オブジェクトを参照することもある。 複合オブジェクト型については,で記述する。 すべての複合オブジェクト型は,対応するオブジェクト参照型を 暗黙的に定義する。 複合オブジェクト型とそれを参照する オブジェクト参照型を別々に定義することはしない。

複合オブジェクト型の部分集合を参照する オブジェクト参照型が幾つかある。 . ]]> これらのオブジェクト参照についての明示的な定義は, で与える。

and . ]]> 内容交換様式においてリテラル表現をもつオブジェクト型の部分集合は, 及びで規定する。 . ]]> では、内容表現交換様式においてリテラル表現をもたないオブジェクト型も列挙する。

値型

. ]]> 値型は,単純な値型及びオブジェクト参照型とする。 構造内で使われる単純な値型の中には,内容内でも使われる値型がいく つかある。 そのような値型は,ここでは, での定義を参照することで識別される。 and explicitly in . ]]> それ以外,構造内で使われることがなく,内容中で使用できる単純な値型は, この節で定義する。 オブジェクト参照型は,で暗黙的に, で明示的に定義する。

任意

Any type is a super type (see ) of all the content value types, both simple value types and object references. The set of values of the Any type consists of the union of the set of values all the types defined in , and the implied object reference types for the composite objects defined in . Two values of the Any type are equal only if both values are of the same base type and they are equal within that base type. ]]> 任意(Any)型は,単純な値型及びオブジェクト参照の双方, すなわちすべての内容値型の上位型(参照)とする。 任意型の値の集合は, 及びで定義する型,並びに で定義する複合オブジェクトに対する暗黙の オブジェクト参照型のすべての集合の和集合からなる。 二つの任意型の値は,両方が同じ基底型で,その基底型の値として 等しい場合に限り,等しいとする。

論理

Boolean type is defined in . ]]> 論理(Boolean)型は,で定義する。

非負整数

Cardinal type is defined in . ]]> 非負整数(Cardinal)型は,で定義する。

辞書キー

DictionaryKey type is a super type of the Identifier type (see ) and the Cardinal type. The set of values of the DictionaryKey type consists of the union of the set of values of the Identifier type and the set of values of the Cardinal type. Two values of theDictionaryKey type are equal if and only if they are both of the same base type and are equal as values of that type. ]]> 辞書キー型(DictionaryKey)は, 識別子型(参照)及び非負整数型の上位型とする。 辞書キー型の値の集合は, 識別子型の値の集合と非負整数型の値の集合との和集合からなる。 二つの辞書キー型の値は,両方が同じ基底型の値であって, かつその型の値として等しい場合に限り,等しいとする。 , Dictionaries contain key/value pairs. The DictionaryKey type defines the set of values which may be used as the name component of such a key/value pair. name componentはkey? 18.2.4 --> 18.2.1 ]]> の記述のとおり,辞書は,キーと値との複数の対を含む。 辞書キー型は,キーと値との対で,キーとして用いることができる 値の集合を定義する。

識別子

Identifier type is a base type. The set of values of the Identifier type consists of a set of abstract values each of which corresponds to a sequence of octets where each octet represents an ISO 646 character encoding. Two values of the Identifier type are equal if and only if the octet strings corresponding to each value are equal. ]]> 識別子型は,基底型とする。 識別子型の値の集合は,抽象値の集合で,その抽象値それぞれは, 各オクテットがISO 646文字符号を表すオクテットの列に対応する。 つの識別子型の値は,それぞれの値に対応した 二つのオクテット列が等しい場合に限り,等しいとする。

Name in ). ]]> すべての可能な識別子の集合のうち,ある部分集合は,内容中でそのまま 符号化できる( 副型"名前"を参照)。 Name type may be encoded as an OctetStrings and converted to an Identifier via execution of the ConvertToIdentifier operator. ]]> 名前型に課される制限に適合しない値をもつ識別子は,オクテット列と して符号化し,ConverToIdentifier演算子の実行によって識別子に変換 することができる。

整数

Integer type is defined in . ]]> 整数(Integer)型は,で定義する。

マーク

Mark type is a base type. The set of values of the Mark type consists of a single value, the result of the Mark operator. This value may be used to delimit sequences of arguments on the operand stack. ]]> マーク(Mark)型は,基底型とする。 マーク型の値の集合は,Mark演算子を実行したときの結果である, ただ一つの値からなる。 この値は,オペランドスタック上の引数列を区切るために使うことができる。

名前

Name type is a sub-type of the Identifier type. This type represents the subset of the Identifier type which may be encoded directly in content. ]]> 名前(Name)型は,識別子型の副型とする。 この型は,内容中でそのまま符号化できる識別子型の部分集合を表す。 Name type consists of those abstract values of Identifier type that correspond to an octet string with the following properties: ]]> 名前型の値の集合は,次の示す特性をもつオクテット列 に対応した識別子型の抽象値からなる。 名前の値の先頭にくるオクテットは, 26個のラテンアルファベット文字(a, b, c, . . . , z; A, B, C, . . . , Z) 又はピリオド(.)のいずれかのISO 646符号化文字の符号とする。 列内でその後に続く各オクテットは,ラテンアルファベット文字, 10進数字(0, 1, 2, . . . , 9),アンダーバー(_),ハイフン(-),コロン(:), 又はピリオド(.)から選択されたものからなる列とする。

Name type may be executable or literal. The processing of each is outlined in and . ]]> 内容中では,名前型のオブジェクトは,実行可能又はリテラル のいずれかでもよい。 それぞれの処理は,及びで概説する。

ヌル

Null type is a base type. The set of values of the Null type consists of a single value, the result of the Null operator. This value is used to initialize the elements of Vectors at the time of their creation by the MakeVector operator. ]]> ヌル(Null)型は,基底型とする。 ヌル型の値の集合は,Null演算子を実行したときの結果である, ただ一つの値からなる。 この値は,MakeVector演算子によってベクタを生成する際, その各要素を初期化するために用いる。

Number type is defined in . ]]> 数(Number)型は,で定義する。

演算子

Operator type is a base type. The set of values of the Operator type consists of a set of values each of which, when executed, causes the virtual machine to perform a specific action or set of actions. ]]> 演算子(Operator)型は,基底型とする。 演算子型の値の集合は,それぞれの値を実行したときに, 仮想機械に特定の動作又は動作の集合を遂行させるものの集合とする。 Operator type causes the interpretation of the Operator as outlined in . The semantics of the values of Operator type are defined by this International Standard. ]]> 演算子型の値の実行によって, で概説するように,その演算子の解釈が行われる。 演算子型の値の意味は,この規格によって定義される。 Operator type is the value of a key/value pair in the standard Dictionary, SystemDict. The content of SPDL documents may not create values of Operator type, but may cause Identifiers to be bound to such values. ]]> 演算子型のそれぞれの値は,標準辞書SystemDict内にある キーと値との対における値とする。 SPDL文書の内容は,演算子型の値を生成することはできないが, 演算子の値に識別子を結合することはできる。

Operator type is executed by the virtual machine when a Name bound to the object is encountered in content, or when the operand to the Execute operator is an object of Operator type or is an Identifier which is bound to an object of Operator type. ]]> 演算子型の値は,そのオブジェクトに結合した名前が内容中に現れた場合, 及びExecute演算子のオペランドが演算子型のオブジェクト又は 演算子型のオブジェクトに結合した識別子である場合に, 仮想機械によって実行される。

実数

Real type is defined in . ]]> 実数(Real)型は,で定義する。

退避オブジェクト

SaveObject type is a base type. The set of values of the SaveObject type consists of the results of the SaveState operator. Each such value has all the information necessary to allow the RestoreState operator to restore the Virtual Machine State at the time the SaveState operator was executed and the SaveObject was created. ]]> 退避オブジェクト(SaveObject)型は,基底型とする。 退避オブジェクト型の値の集合は,SavedState演算子を実行したときの 結果からなる。 その値それぞれは, RestoreState演算子が,仮想機械の状態を,SaveState演算子が 実行され,退避オブジェクトが生成されたときの状態に 戻すために必要とするすべての情報から構成される。

ストリームオブジェクト

StreamObject type is a base type. The set of values of the StreamObject type consists of the results of the Filter operator or of the FindResource operator when used to find a Data Source resource. ]]> ストリームオブジェクト(StreamObject)型は,基底型とする。 ストリームオブジェクト型の値の集合は, Filter演算子の実行結果又は,データソース資源を探すために使われた FindResource演算子の実行結果からなる。 StreamObject type provides content-level access to data from Data Source resources or data that is output from filters (see ). ]]> ストリームオブジェクト型の値は, データソース資源からのデータ又は,フィルタからの出力データ への内容レベルでのアクセス機能を提供する。 (参照)

複合オブジェクト型

複合オブジェクト型は,オブジェクト参照によって識別され容器を定義する。 複合オブジェクトは,内容演算子のオペランドとして直接使われることはない。 その代わりに,内容演算子のオペランドとしては, オブジェクト参照を使用することとする。 複合オブジェクト型は,この副節で明示的に定義される。 X there is an object reference type XReference. ]]> 対応するオブジェクト参照型の定義は,暗黙的である。 各複合オブジェクト型のXに対して, オブジェクト参照型のXReference参照が存在する。 複合オブジェクト型は,ここでは単に仮想機械モデルの一部として定義されている。 仮想機械モデルと同様,この規格における複合オブジェクトは, 文書内容の意味を定義するための機構としてだけに用いられる。 これは,文書内容プロセサの実際の実装方法を指示するものでも, 特定の実装において文書内容の意味処理を実現する方法を制限するものでもない。

辞書

Dictionary type is a composite object type. The Dictionary type consists of a set of containers each of which holds a set of key/value pairs. Each key/value pair shall consist of a value of the DictionaryKey type, and another value of the Any type. The first element of each key/value pair is called the key, and the second element is called the value. Within a single Dictionary, no two key/value pairs shall have the same key. ]]> 辞書(Dictionary)型は,複合オブジェクト型とする。 辞書型は,キーと値との対の集合を一つずつもつ容器の集合からなる。 個々のキーと値との対は,辞書キー型の値及び, 任意型のもう一つ別の値からなる。 個々のキーと値との対の1番目の要素を"キー"と呼び,2番目の要素を"値"と呼ぶ。 一つの辞書内には,同じキーをもつキーと値との対は存在しない。

key: DictionaryKey> is said to be in a Dictionary, or a Dictionary is said to contain the <key:DictionaryKey>, if there is an key/value pair in the Dictionary whose key is <key: DictionaryKey>. ]]> 辞書内に,<key: 辞書キー>をキーとするキーと値との対がある場合, "オブジェクト<key: 辞書キー>が辞書の中にある",又は "辞書は,<key: 辞書キー>を含む"と言う。

key: DictionaryKey is in a Dictionary, then the value bound to key by Dictionary is the value of the key/value pair whose key is key. If the Dictionary containing key is evident from context, then this may be called simply the value bound to key or the value of key. ]]> <key: 辞書キー>が辞書中にある場合, MakeDictionary or the MakeandStoreDictionary operator during processing of document content or by the processing of a DICTIONARY RESOURCE SPECIFICATION in structure. Dictionaries are referenced explicitly via a DictionaryReference. ]]> 辞書は,文書内容の処理中に MakeDictionary又はMakeandStoreDictionary 演算子,及び 構造内の辞書資源仕様の処理によって生成される。 辞書は,辞書参照を介して明示的に参照される。

capacity which shall be the number of pairs the Dictionary can hold. When the Dictionary is created, an initial capacity shall be specified. ]]> 辞書は,その辞書がもつことのできる対の数である容量をもつ。 辞書を作成する際には,初期容量を指定しなければならない。 容量いっぱいの数の対をもつ辞書と, その辞書内にまだ含まれていないキーをもつ一つの対とを結合する場合, 辞書の容量は,少なくとも1対分の拡張ができる。 Capacity operator. The number of pairs currently contained in the Dictionary may be obtained using the EntriesUsed operator. ]]> 辞書の容量は,Capacity 演算子を使用することによって得られる。 現在の辞書内に含まれる対の数は, EntriesUsed演算子を使用することによって得られる。

ReadWrite may be changed using the Put operator. ]]> 読み書き可能のアクセス属性値もち,明示的に参照される辞書は, Put演算子を用いて変更できる。 ReadWrite, it may be changed implicitly using the Define operator. ]]> 文脈スタック上で1番上の辞書が,読み書き可能のアクセス属性値をもつ場合, Define演算子を用いて暗黙的に変更できる。 どちらの場合も,値オペランドは,指定した辞書内のキーオペランドへ 結合される。

Get operator with the key and a reference to the same Dictionary as operands or the GetTest operator may be used to test if the Dictionary contains that key. ]]> 同じキーを用いた後からの変更がない場合,その値は, オペランドとしてそのキー及び同じ辞書への参照をともなう Get演算子を用いて得ることができるし, また,辞書がそのキーを含んでいることを検査するために, GetTest演算子を用いることができる。

Name, or it may be retrieved explicitly using the GetValue operator with the key when the key could be any DictionaryKey. The GetValueTest operator may be used to test if the key is contained in a Dictionary on the Context Stack. ]]> Put演算子を用いて変更された辞書が文脈スタック内にあって, 文脈スタックのより上位に同じキーを含む辞書がない場合, その値は,キーが名前であれば,実行可能名を使って暗黙的に得ることができる。 キーが任意の辞書キーであれば, GetValue演算子を使って明示的にその値を得ることができる。 GetValueTest演算子は,文脈スタック上の辞書のそのキーが含まれているか どうかを調べるために使用することができる。

オクテット列

OctetString type is a composite object type. The OctetString type consists of a set of containers each of which holds an octet. Each octet is a value of the Cardinal type in the range 0 to 255, inclusive. ]]> オクテット列(OctetString)型は,複合オブジェクト型とする。 オクテット列型は,1個のオクテットが入る容器の集合とする。 各オクテットは,0以上255以下の範囲の非負整数値型の値とする。 オクテットは,8ビットのバイトとしても知られる。

OctetString type are created using the MakeString operator. The MakeString operator takes a Cardinal as its operand which specifies the capacity of the OctetString, the number of octets it can hold. The capacity of an OctetString cannot be changed once the OctetString has been created. The Capacity operator returns the capacity of an OctetString. ]]> オクテット列型のオブジェクトは,MakeString演算子を使って 生成される。 MakeString演算子は,オクテット列が保持できるオクテットの数である オクテット列の容量を規定する非負整数をそのオペランドとしてとる。 オクテット列の容量は,オクテット列が生成された後では変更できない。 Capacity演算子は,オクテット列の容量を返す。

Put operator or a subsequence at a time using the PutInterval operator. The elements can be accessed individually using the Get operator or the GetInterval operator returns an OctetStringReference to a subsequence of an OctetString. ]]> オクテット列へのオブジェクト参照の場合, オクテット列の内容は,Put演算子を使用して1回に1要素分を 変更できるし, PutInterval演算子を使用して1回に1部分列分を変更できる。 要素群は,Get演算子を用いて個々にアクセスできる。 GetInterval演算子は,オクテット列の部分列へのオクテット列参照を返す。

パス

Path type is a composite object type. The Path type consists of a set of containers each of which holds a sequence of zero or more path segments. Each path segment begins with a start point created by the SetPosition operator (see ) and consists of a sequence of zero or more path elements. A path element is one of: ]]> パス(Path)型は,複合オブジェクト型とする。 パス型は,0個以上のパスセグメントからなる列を入れる 容器の集合からなる。 各パスセグメントは,SetPosition演算子によって作られる 始点で始まり(参照), 0個以上のパス要素の列からなる。 パス要素は,次のいずれかとする。

  • 線分セグメント
  • 円又はだ(楕)円の弧
  • ベジエ曲線

. ]]> パスセグメント及びパス要素は,それぞれ,RCS上の位置での 始点と終点をもつ。点は,で定義する。

各パスセグメント内の最初のパス要素の始点を,そのパスセグメントの始点とする。 パスセグメント内のその他のパス要素の始点を,それぞれその直前のパス要素 の終点とする。

directed, where its direction is defined to be from its start point to its end point. ]]> 各パスセグメントは終点をもつ。 パスセグメントがただ一つの始点からなる場合,そのパスセグメントの終点は, その始点と同一とする。 パスセグメントが一つ以上のパス要素をもつ場合,そのパスセグメントの終点は, パスセグメント内の最後のパス要素の終点とする。 このようなパスセグメントは,"方向をもつ"といわれる。 ここで,その方向は,その始点から終点に向かうように定義される。

各パスは,1個の始点をもつ。 それは,最初のパスセグメントの始点とする。 null path, and has no start point or end point. ]]> 各パスは,1個の終点をもつ。 それは,最後のパスセグメントの終点とする。 唯一の例外は,パスセグメントを一つももたない空パスと呼ばれるパスで, これは始点も終点ももたない。 パスの主要な使用目的は,幾何図形イメージ要素及びクリップ領域の構築にある。

ベクタ

Vector type is a composite object type. The Vector type consists of a set of containers each of which holds a sequence of values, termed elements. ]]> ベクタ(Vector)型は,複合オブジェクト型とする。 ベクタ型は,要素群と呼ぶ値の列を入れる容器の集合からなる。 index. The index of each element is a Cardinal, between zero and n-1 inclusive, where n is the number of elements in the sequence. ]]> 列内の各値は,指標に対応付けられている。 各要素の指標は,0以上n-1以下の非負整数値とする。 ここで,nは,列内にある要素の個数とする。 指標は,列内でのその要素の位置を示す。 ベクタの各要素は,同一の型である必要はない。

MakeVector or the MakeandStoreVector operator. It is created with a fixed capacity, n above, that cannot be changed once the Vector is created. The Capacity operator returns the capacity of a Vector. ]]> ベクタは,MakeVector 又はMakeandStoreVector 演算子を用いて 生成することができる。 ベクタは,一定の容量,つまり上のn,で生成され, いったん生成した後で変更することはできない。 Capacity演算子は,ベクタの容量を返す。

Put operator or a subsequence at a time using the PutInterval operator. The elements can be accessed individually using the Get operator, or the GetInterval operator returns a VectorReference to a subsequence of a Vector. ]]> ベクタへのオブジェクト参照の場合, ベクタの内容は,Put演算子を使用して1回に1要素分 の変更ができるし, PutInterval演算子を使用して,1回に1部分列分の変更ができる。 要素群は,Get演算子を用いて個々にアクセスできる。 GetInterval演算子は,ベクタ列の部分列へのベクタ列参照を返す。

オブジェクト参照型

各複合オブジェクト型に対応して暗黙のうちに定義されたオブジェクト参照型の定義に加えて, 特定の複合オブジェクト型内の複合オブジェクトの部分集合を参照する オブジェクト参照型が幾つかある。 それらの部分集合は,複合オブジェクトのクラスの副型である。 ただし,それらの副型には,それらの自身の型名はない。 その代わり,それらは,その副型を参照するオブジェクト参照型によって参照される。

指標付きフォント

IndexedFont object reference type represents the subset of the DictionaryReference object type which references Dictionaries containing the information necessary for the presentation of character text using a particular font. ]]> 指標付きフォントオブジェクト参照型は, 特定のフォントを使用して文字テキストを提示する場合に必要となる情報を 含む辞書を参照する辞書参照オブジェクト型の部分集合を表す。

DefineFont, PutWMode, ScaleFont, and TransformFont operators in document content or, by use of the FindFont and FindResource operators, may be selected from the Set of Resources made available through the document structure. An IndexedFont may be used for the rendering of character text by assigning its value to the Graphics State Variable CurrentFont. ]]> 指標付きフォントは,文書内容中でDefineFont, PutWMode, ScaleFont 及びTransformFont演算子を用いて作成してもよいし, FindFont 及び FindResource 演算子を用いて 文書構造において利用可能になった資源の集合から選択してもよい。

グリフ列

GlyphString object reference type represents the subset of the OctetStringReference object type which is suitable for use as an operand to the ShowString operator. ]]> グリフ列(GlyphString)オブジェクト参照型は,オクテット列参照 オブジェクト型のうち,ShowString演算子のオペランドとして使うのに 適したものからなる部分集合を表す。 CurrentFont. ]]> グリフ列の主要な使用目的は,文字テキストの効率的な提示とする。 グリフ列の要素群は,グリフ指標の列として解釈され,現フォントに関連付けられた グリフ指標対応表への参照を介してグリフ群を表現する。

手続き

Procedure object reference type represents the subset of the VectorReference object type in which each VectorReference has an executability attribute that is executable. ]]> 手続き(Procedure)オブジェクト参照型は,ベクタ参照 オブジェクト型のうち,実行可能属性値が実行可能であるものからなる部分集合を表す。

ConvertToExecutable operator to VectorReferences. A Procedure is interpreted when a name bound to the Procedure is encountered in content as an executable Name, or a Procedure may be caused to be interpreted by the Execute operator. See for more details. ]]> 手続きは,内容表記法を用いて符号化してもよく,ベクタ参照に ConvertToExecutable演算子を適用して生成してもよい。 手続きは,その手続きに束縛されている名前が実行可能名として内容中に現れた 場合に解釈される。 さらに,Execute演算子を用いて強制的に解釈してもよい。 詳細については,参照。

座標変換

Transformation object reference type is the subset of the VectorReference type for which the referenced Vector is of the form: ]]> 座標変換(Transformation)オブジェクト参照型は, 次に示す形式のベクタを参照するベクタ参照型の部分集合とする。 [ a b c d e f ]

この座標変換は,次に示すとおり,あるデカルト座標系から別のデカルト 座標系への線形対応付けを表す。

このような対応付けは,すべて次の形式を用いて表現できる。

  • x′ = a×x + c×y + e
  • y′ = b×x + d×y + f

    x and y are coordinates in the first Cartesian Coordinate System, and x' and y' are coordinates in the second Cartesian Coordinate System. ]]> ここでa,b,c,d,e及びfは数値,x及びyはもとののデカルト座標系での座標, x'及びy'は変換後のデカルト座標系での座標を表す。 次に示す条件を満たすすべての対応付けは,縮退しており,逆変換できない。 a × d - b × c = 0

    associated with a particular transformation, and are also said to define the particular transformation. The coefficients are dimensionless unless the associated transformation is the current value of CurrentTransformation, in which case the coefficients have units of millimeters. ]]> 係数a,b,c,d,e,fのある特定の集合は,"特定の座標変換に対応する"又は "特定の座標変換を定義する"と言う。 係数は,対応した座標変換がCurrentTransformationの現在値の場合には, ミリメートルの次元をもつが,それ以外の場合には次元をもたない。

    これらの式は,次に示す行列乗算の形を用いて表現することもできる。

  • [ x' y' 1 ] = [ x y 1 ] × ace bdf 001

    このため,次に示す行列Mは,上の式による"座標変換Tに対応する" 又は"定義する"と言う。 M = ace bdf 001

    属性

    attributes associated with them. The two possible attributes are an executability attribute, which determines whether the object is treated as data to be pushed onto the operand stack or as an executeable object, and an access attribute, which determines whether the value of the object may be explicitly read, written or executed by SPDL content operators. The two attributes are an executability attribute, which determines whether the object is treated as data to be pushed onto the operand stack or as an executable object, and an access attribute, which determines whether the value of the object may be explicitly read, written or executed by SPDL content operators. ]]> SPDLオブジェクト中には,オブジェクトに関連する1個又は2個の属性をもつもの がある。 2個の属性とは,実行可能属性(Executability attribute)及び アクセス属性(access attribute)とする。 実行可能属性は,そのオブジェクトを演算スタックへ積むべきデータとして 扱うのか,それとも実行可能なオブジェクトとして扱うのかを決定する。 アクセス属性は,そのオブジェクトの値が 明示的にSPDLの演算子によって読めるか,書けるか, 又は実行できるかどうかを決定する。

    実行可能属性

    literal or executable. Only objects of the Identifier, Operator, or VectorReference types have an executability attribute. The executability attribute of objects of the Operator type is always executable. The executability attribute of an object of the Identifier or VectorReference types may explicitly be made executable via execution of the ConvertToExecutable operator. ]]> 実行可能属性は,リテラル又は実行可能のいずれかである。 識別子型,演算子型及びベクタ参照型のオブジェクトだけが, 実行可能属性をもつ。 演算子型のオブジェクトの実行可能属性値は,常に実行可能とする。 識別子型,ベクタ参照型のオブジェクトの実行可能属性値は, ConvertToExecutable演算子の実行によって明示的に実行可能にすることができる。

    識別子

    ConvertToIdentifier operator is literal at the time of their creation. The executability attribute of Names encountered in the content representation is determined as specified in and and . ]]> ConvertToIdentifier演算子の実行によって作られる識別子の 実行可能属性は,それらを作成した時点では,リテラルとする。 内容表現の中で現れた名前の実行可能属性は, 並びに 及び で規定されているとおりにして決まる。

    ベクタ参照

    MakeVector operator is literal; their executability attribute can be made executable via execution of the ConvertToExecutable operator. VectorReferences with an executability attribute of executable belong to the Procedure type. ]]> MakeVector演算子によって作られたベクタ参照の実行可能属性値は, リテラルとする。 それらの実行可能属性は,ConvertToExecutable演算子の実行によって 実行可能にすることができる。 実行可能の実行可能属性もつベクタ参照は,手続き型に属する。

    この属性は,参照されているベクタに対してではなく,ベクタ参照そのも のに対して適用する。これは,同じベクタを参照する,実行可能属性が異なる二つ のベクタ参照は,内容中で異なる扱いを受けることを意味する。

    アクセス属性

    Dictionary, OctetStringReference, or VectorReference types. There are four access attributes: ]]> アクセス属性は,辞書型,オクテット列参照型及びベクタ参照型の オブジェクトに対してだけ適用する。 アクセス属性の取りうる値には,次の四つがある。

    • ReadWrite - An object referenced via an object reference with an access attribute of ReadWrite may be explicitly read or written in content by operators or it may be executed (if it is executable) by the interpreter. A composite object is written by any operator which modifies the contents of the composite object (see ) ]]> 参照)
    • ReadOnly - An object referenced via an object reference with an access attribute of ReadOnly may be explicitly read, but not explicitly written, in content by operators and it may be executed (if it is executable) by the interpreter. ]]> ExecuteOnly - An object referenced via an object reference with an access attribute of ExecuteOnly may not be explicitly read or written in content by operators, but may be executed (if it is executable). ]]> NoAccess - An object referenced via an object reference with an access attribute of NoAccess may not be explicitly read or written in content by operators, nor may it be executed. ]]>

      Dictionary, OctetStringReference, or VectorReference types created in content have an access attribute of ReadWrite unless otherwise specified. ]]> 内容中で新たに生成した辞書型,オクテット列参照型及びベクタ参照型の オブジェクトは,特に指定がない限り読み書き可能のアクセス属性値をもつ。

      OctetStringReference and VectorReference types, the attribute applies to the reference, rather than the object being referenced (see the discussion under Executability Attribute in ). For objects of the Dictionary type, however, the attribute is directly associated with the Dictionary. ]]> オクテット列参照型及びベクタ参照型のオブジェクトの場合, アクセス属性は参照されるオブジェクトに対してではなく, 参照そのものに対して適用する。 (の実行可能属性での記述参照) しかしながら,辞書型のオブジェクトの場合,アクセス属性は, 直接辞書に対して適用される。

      MakeReadOnly, MakeExecuteOnly or NoAccess. ]]> オブジェクトのアクセス属性は, MakeReadOnly演算子,MakeExecuteOnly演算子又はNoAccess演算子 によって制限することができる。