外部構造要素

外部構造要素は、提示プロセスの環境内で利用可能な構造要素とする。 外部構造要素は、SPDLインスタンスの構造内に参照を介して含めることができる。 外部構造要素は、SPDLインスタンスの正当な要素であれば、この規 格が定義する構造要素であっても、他で定義されたデータ構造(例えば &isoiec9541;が定義するフォント属性集合)であってもよい。

ある外部構造要素を参照を介して包含するSPDLインスタンスは、 それを外部宣言中で宣言しなければならない。 外部宣言は、データ要素を提示プロセスの環境内で識別し、 そのデータ要素中に含まれている外部構造要素に対して識別子を結びつける。 参照されているデータ要素から外部構造要素を得る方法は、そのデータ要素に依存する。

外部宣言中で宣言されている外部構造要素は、 SPDLインスタンス中に外部参照を置くことによって、参照を介してSPDLインスタンス中に含めることができる。 "the within" --> "within" ]]> その識別子の外部構造要素への結合の有効範囲内であれば、 外部参照をSPDLインスタンスの構造内の任意の場所、 ただし対応する外部構造要素が現われうる場所に置くことができる。 構造プロセサは、 参照されている外部構造要素で外部参照構造要素を置き換えることによって、 その外部参照構造要素を処理する。

この規格中の、構造要素とそれらの下位要素に関する定義の中では、 外部参照を指定された任意の構造要素で置き換えることができるという事実について、 これ以上特に明記することはしない。

包含可能構造(INCLUDABLE STRUCTURE)

包含可能構造構造要素は、 この規格が定義する構造要素であって、 外部参照構造要素を用いることによって 他のSPDLインスタンスに包含することができる構造要素とする。 包含可能構造構造要素は、次のいずれかとする。

  • ページ集合構造要素
  • ピクチャ構造要素
  • ピクチャ本体構造要素
  • 非SPDLピクチャ本体構造要素
  • プロローグ構造要素
  • 参考情報宣言構造要素
  • ヒント構造要素
  • 文脈宣言構造要素
  • 資源定義構造要素
  • 初期設定手続き構造要素
  • トークン列構造要素
  • フォント参照構造要素
  • 辞書資源仕様構造要素
  • フォント仕様構造要素
  • フォント参照フォント仕様構造要素
  • "FONTTYPE1 SPECIFICATION" --> "FONTTYPE1 FONT SPECIFICATION" ]]> フォントタイプ1フォント仕様構造要素
  • 再対応済みフォント仕様構造要素
  • 複合フォント仕様構造要素
  • ユーザフォント仕様構造要素
  • フォント属性構造要素
  • グリフ指標対応表仕様構造要素
  • グリフ指標変換表構造要素
  • フォント指標対応表構造要素
  • データソース仕様構造要素
  • 色空間資源仕様構造要素
  • パターン資源仕様構造要素
  • フォーム資源仕様構造要素
  • DPI宣言構造要素
  • 補足DPI構造要素 FONT IDENTIFIER FONT SPECIFICATIONも必要なのでは?

外部宣言(EXTERNAL DECLARATION)

外部宣言構造要素は、1個の識別子をある外部構造要素に結びつける。 外部宣言構造要素は、次に示す直接の下位要素群をもつ複合構造要素とする。

  • 1個の構造要素クラス識別子構造要素
  • 1個の構造要素識別子構造要素
  • 1個の位置識別子構造要素

これらの直接の下位要素群は、ここに示した通りの順序で現れなければならない。

構造要素クラス識別子(STRUCTURE ELEMENT CLASS IDENTIFIER)

構造要素クラス識別子構造要素は、基底構造要素とする。 構造要素クラス識別子の値の型は、外部宣言によって参照される構造要素を、 指定されたクラスの要素として識別する列挙型とする。 . ]]> この型の値と、識別される構造要素のクラスとの対応をに示す。 構造要素クラス識別子 構造要素のクラス pageset ページ集合構造要素 picture ピクチャ構造要素 picture-body ピクチャ本体構造要素 non-spdl-picture-body 非SPDLピクチャ本体構造要素 prologue プロローグ構造要素 informative-declaration 参考情報宣言構造要素 hint ヒント構造要素 context-declaration 文脈宣言構造要素 resource-definition 資源定義構造要素 dictionary-spec 辞書資源仕様構造要素 setup-procedure 初期設定手続き構造要素 tokensequence トークン列構造要素 font-reference フォント参照構造要素 font-attribute-set &isoiec9541;で定義するフォント属性集合 font-properties フォント属性構造要素 font-spec フォント仕様、フォント識別子フォント仕様、 フォント参照フォント仕様、フォントタイプ1フォント仕様、 再対応済みフォント仕様、複合フォント仕様 及びユーザフォント仕様構造要素 font-ref-font-spec フォント参照フォント仕様構造要素 fonttype1-font-spec フォントタイプ1フォント仕様構造要素 remapped-font-spec 再対応済みフォント仕様構造要素 composite-font-spec 複合フォント仕様構造要素 user-font-spec ユーザフォント仕様構造要素 glyph-index-map-spec グリフ指標対応表仕様構造要素 gitt グリフ指標変換表構造要素 font-index-map フォント指標対応表構造要素 color-space-spec 色空間資源仕様構造要素 data-source-spec データソース仕様構造要素 pattern-spec パターン資源仕様構造要素 form-spec フォーム資源仕様構造要素 dpi-declaration DPI宣言構造要素 additional-dpi 補足DPI構造要素

構造要素識別子(STRUCTURE ELEMENT IDENTIFIER)

構造要素識別子構造要素は、基底構造要素とする。 構造要素識別子の値の型は、名前型とする。

外部宣言の処理

外部宣言構造要素の処理は、 構造要素識別子の値を、外部構造要素に結合することからなる。 この結合の有効範囲は、 最も近い上位ブロック中の構造要素群のうち 並び順の上でその外部宣言に続くものすべて、 及びそれらの下位要素群すべての集合とする。 この結合の効果は、同一ブロック内又は下位ブロック内の 後続する同種の外部宣言によって覆すことができる。

ある外部宣言が、 構造要素識別子の値が等しい先行する他の外部宣言の有効範囲内に含まれている場合、 後続する外部宣言によって指定される結合の方が、その有効範囲内では優先権をもつ。

次に示す外部宣言があっても、構造エラー又は構造警告とはならない。

  • 提示プロセスの環境内に、 その位置識別子の値によって識別される利用可能な外部構造要素が存在しない。
  • 位置識別子の値の構文が、構造プロセサで解釈できない。

このような構造要素識別子が、 外部構造要素を参照するために外部参照中で用いられた場合にだけ、 構造エラーが発生する。

位置識別子(LOCATION IDENTIFIER)

位置識別子構造要素は、次に示すデータ要素を識別する。

  • 外部構造要素
  • データソース資源を生成するために用いられるデータ要素

外部構造要素の識別に用いる場合、 この位置識別子によって識別されるデータ要素は、 その外部構造要素そのもの、 その外部構造要素を含んでいるデータ要素、 及びその外部構造要素を得るために用いることのできるプロセス?のいずれであってもよい。 . ]]> 識別されるデータ要素と参照される外部構造要素との間の関係は、 で規定する。

主として用いられる符号化方式がASN.1である環境と、 それがSGMLである環境とでは情報オブジェクトを識別する方式が異るので、 位置識別子の構造は、用いられている構造表現に依存する。 位置識別子構造要素は、次のいずれかとする。

  • 公開位置識別子構造要素
  • ローカル位置識別子構造要素
  • 符号化依存位置識別子構造要素

公開位置識別子(PUBLIC LOCATION IDENTIFIER)

公開位置識別子構造要素は、基底構造要素とする。 公開位置識別子の値の型は、公開オブジェクト識別子型とする。

公開位置識別子の値である公開オブジェクト識別子が 提示プロセスの環境内でデータ要素を識別する方法は、 この規格の適用範囲外とする。

ローカル位置識別子(LOCAL LOCATION IDENTIFIER)

ローカル位置識別子構造要素は、基底構造要素とする。 ローカル位置識別子の値の型は、オクテット列型とする。

ローカル位置識別子構造要素のこの値は、 ローカルな構文に従ってデータ要素を識別する。 この値がデータ要素を識別する方法は、 この規格の適用範囲外とする。 ローカル位置識別子の値は、 一般にはローカルな構文に従ったファイル名を表す。 この値は、私的なデータからなるので、 開放型情報交換の際には何らかのデータの置き換えが必要になるかもしれない。 この置き換えを行なう際、 コメントがプロセス又はユーザ(人間)の手助けとなるかもしれない。

符号化依存位置識別子(ENCODING DEPENDENT LOCATION IDENTIFIER)

符号化依存位置識別子構造要素は、用いられている構造表現に依存する。

2進構造表現交換様式が用いられている場合、 符号化依存位置識別子は、次のいずれかとする。

  • DOR位置識別子構造要素
  • 識別済み構文位置識別子構造要素

平文構造表現交換様式が用いられている場合、 符号化依存位置識別子は、次のいずれかとする。

  • SGMLシステム識別子構造要素
  • SGML実体構造要素

符号化依存位置識別子が提示プロセスの環境内でデータ要素を識別する方法は、 この規格の適用範囲外とする。

DOR位置識別子(DOR LOCATION IDENTIFIER)

DOR位置識別子構造要素は、 ISO/IEC 10031-2で定義するDistinguished Object Reference (DOR)とする。

識別済み構文位置識別子(IDENTIFIED SYNTAX LOCATION IDENTIFIER )

識別済み構文位置識別子構造要素は、 次に示す構成要素をもつASN.1外部型のインスタンスとする。

  • オブジェクト識別子型の1個の"direct-reference"
  • 任意型の"single-ASN.1-type"のインスタンスである1個の"encoding"

SGMLシステム識別子(SGML SYSTEM IDENTIFIER)

SGMLシステム識別子構造要素は、ISO 8879で定義するSGML外部識別子とする。

SGML実体(SGML ENTITY)

SGML実体構造要素は、ISO 8879で定義するSGML一般実体名とする。 この一般実体名によって指定される位置は、 この一般実体名がその中で用いられる文書(又は副文書)のための SGML文書型宣言部分集合の一部を構成するSGML実体宣言中で与えられる。

被参照構造要素の識別

位置識別子の値は、直接に外部構造要素を識別してもよく、 外部構造要素を含むデータ要素を識別してもよく、 また外部構造要素を入手するために利用できるプロセスを識別してもよい。 外部宣言によって識別される外部構造要素を識別する過程は、 次に示す2段階の過程としてとらえることができる。

  1. 提示プロセスの環境中で被参照外部構造要素を含む(又は生成する) データ要素を識別するために、位置識別子が用いられる。
  2. 段階1で識別されたデータ要素から、被参照外部構造要素を得る。

位置識別子の値が外部構造要素を直接識別する場合、 段階1で識別されるデータ要素は、その外部構造要素そのものとなる。

  • 構造要素を含むデータ構造の例としては、 例えばローカルファイルシステム中のファイルがあげられる。 そのようなファイルは、SPDLインスタンスを含んでいてもよく、 1個以上の構造要素を含むデータ構造を含んでいてもよい。
  • 構造要素を生成するプロセスの例としては、 例えばデータベースから構造要素を取り出すことができる 関係データベースプログラムがあげられる。

    位置識別子によって識別されるデータ要素は、次のいずれであってもよい。

    1. SPDL表現交換様式に従って表現された、 1個の包含可能構造構造要素からなるデータ要素。
    2. SPDL表現交換様式に従って表現された、 1個のSPDLインスタンスからなるデータ要素。
    3. 非標準の様式に従って表現された、 1個の包含可能構造構造要素からなるデータ要素。
    4. SPDL表現交換様式又は非標準の様式のいずれかに従って表現された、 1個の包含可能構造構造要素を生成することができるプロセス又は知的オブジェクト。

    上記の各場合において参照される外部構造要素は、次のとおりとす る。

    1. 識別された(SPDL表現交換様式に従って表現された)データ要素によって表される構造要素。
    2. 識別された(SPDL表現交換様式に従って表現された)データ要素中の、 識別されたSPDLインスタンス中に含まれる最上位構造構造要素。
    3. 識別されたデータ要素によって表される構造要素。 (このデータ要素はSPDL表現交換様式以外の様式に従って表現されているものとする。 この様式は提示プロセスによって処理可能でなければならない。)
    4. 位置識別子によって識別されるプロセス又は知的オブジェクトによって 生成される構造要素。
    2番目の場合、外部構造要素を得る過程は、 SPDLインスタンスからSPDL識別情報を取り除くことからなる。 その後、その最上位構造は、 参照している文書中に字句的に含めてもよい。

    外部参照(EXTERNAL REFERENCE)

    外部参照構造要素は、基底構造要素とする。 外部参照の値の型は、名前型とする。

    外部参照の処理

    外部参照構造要素の処理は、次の各段階からなる。

    1. 下位要素としてもつ構造要素識別子の値を外部構造要素に結合する、 最も近い上位の外部宣言を識別する。
    2. ; ]]> で規定したとおり、段階1で識別された 外部宣言の下位にある位置識別子の値によって識別される外 部構造要素を得る。
    3. 段階2で得られた外部構造要素が、 段階1で識別された外部宣言の下位にある 構造要素クラス識別子によって指定されるクラスに 属しているかどうかを検証する。
    4. 段階2で得られた構造要素がSPDL表現交換様式に従って表されている場合、 外部参照構造要素をその外部構造要素で字句的に置き換え、 それをこの規格の規定に従って処理する。
    5. 段階2で得られた構造要素がSPDL表現交換様式に従って表されていない場合、 外部参照構造要素を、SPDL表現交換様式に従って表された、 その構造要素と等価な外部構造要素で置き換えて処理する。

    上の段階のいずれかが失敗した場合、構造プロセサはエラーを生成する。