平文表現交換様式

平文表現交換様式は,平文構造表現交換様式及び平文内容表現交換様式からなる。

平文構造表現交換様式

平文構造表現交換様式は,SGMLに基づく。 . ]]> 基底構造要素値型のSGML表現は,に示す。 . ]]> SGML文書型定義は,に示す。

. ]]> このSGML文書型定義は,ASN.1モジュールの構造にできるだけ合わせて 構造化されている。ASN.1モジュールについては,で定義する。 "EMPTY"と宣言された内容をもつ要素の場合を除いて, 終了タグは,平文構造表現交換様式において省略してはならない。 in content are not allowed 削除 ]]> 平文構造表現交換様式における要素内容中では,一般実体参照は,許されない。 文書型宣言部分集合の内容は,平文構造表現交換様式の実体文に対する 外部実体指定形式を用いる一般実体宣言群に限られる。 詳細については,ISO/IEC 9070を参照のこと。 良いSGMLのスタイルは,文書の先頭に位置する実体参照群によって 外部的に定義される文書構成要素をすべて包含する。 これによって,簡単なSGMLプロセスでも,包含されたすべての文書構成要素を 見つけだすことができる。 このプロセスは,SGMLの情報だけを用い,SGMLが表現するものの意味を 理解する必要はない。 この規格は,このような良いSGMLスタイルを作り上げることを容易にする。 しかし,これを用いなければならないというわけではない。

基底構造要素値型

基底構造要素値型のSGML表現を,次に示す。 値の表現上付加すべきものについては,通常,SPDL文書型定義の中の注釈に 記述する。 これらの要求は,満たされるべきものである。

論理型

--改訂前 --as an attribute of an element for which the attribute may be one of the names in the list: true, false. ]]> 論理型の値は,要素のCDATA型の属性として表現される。 この属性は,その値として文字データ 列挙型

列挙型が,この規格が規定する値からなる有限集合から構成される場合, その型は,要素の属性として表現される。 この属性は,その値からなる有限集合を表現する名前のリストとする。 列挙型が,公開オブジェクト識別子が規定する値からなる開集合から 構成される場合,その型は,適切なNOTATION属性をもったCDATAによって表現される。

整数型

整数型の値は,その整数が正又は非負である場合, 要素の数値属性として表現される。 その他の場合,要素の名前トークン属性として表現され, この名前トークンは,必要であれば,"+"又は"−"符号を前に付けた10進数字列の形を とらなければならない。

実数型

. ]]> 実数型の値は,で定義する平文様式を用いて表現する。 通常、この表現は,要素の属性である名前トークンの値に用いられる。 その他の場合,この表現は、要素中のCDATAに用いられる。

印刷可能文字列型

印刷可能文字列型の値は,要素の内容であるCDATAとして表現される。

オクテット列型

オクテット列型の値は,要素の内容であるCDATAとして表現される。 ). ]]> オクテット列がデータブロック構造要素中にある場合, それはASCII85符号化列(参照)として表現される。 そのオクテット列が局所位置識別子構造要素中にある場合, それはISO 646の図形文字に含まれるオクテットに限定される。 その他の場合,オクテット列は,16進符号化列として表現される。

名前型

名前型の値は,要素の内容であるCDATAとして表現される。 CDATA中で名前の前後にある空白文字は,無視される。

オブジェクト識別子型

オブジェクト識別子型の値は,NOTATION属性の値が"objid"である要素 の内容であるCDATAとして表現される。 この表記法の定義例を見るには,そのNOTATION宣言を参照すること。 CDATA中で識別子の前後にある空白文字は,無視される。

公開識別子型

公開識別子型の値は,NOTATION属性の値が"pubid"である要素 の内容であるCDATAとして表現される。 この表記法の定義例を見るには,そのNOTATION宣言を参照すること。 CDATA中で識別子の前後にある空白文字は,無視される。

環境内名前型

環境内名前型の値は,NOTATION属性の値が"envnm"である要素 の内容であるCDATAとして表現される。 この表記法の定義例を見るには,そのNOTATION宣言を参照すること。 CDATA中で名前の前後にある空白文字は,無視される。

グリフ識別子型

. ]]> グリフ識別子型の値は,&isoiec9541;による構造化名又はによる単純名の 構文上の要求に適合するCDATAとして,表現される。 CDATA中で識別子の前後にある空白文字は,無視される。

SPDL文書型定義

, when a composite structure element has a subordinate that is a sequence of Cardinals or a similarly simple type, that sequence is encoded as CDATA in which the elements of the sequence are separated by one or more space characters and the individual elements are represented as defined in . ]]> に定義する型表現に加えて, 複合構造要素が非負整数又は同じような単純型の列である下位要素をもつ場合, その列は,CDATAとして符号化される。この列の要素群は,一つ以上の空白文字で 区切られ,個々の要素は,に定義するとおり表現される。 この複合表現については,注釈の中で指示する。

. ]]> このSGML文書型定義は,ASN.1モジュールの構造にできるだけ合わせて 構造化される。ASN.1モジュールについては,で定義する。

  • SGML要素の名前の長さは,常に8オクテット以下であり、 そのほとんどは7オクテット長である。 これらの短い名前は,それらが表しているSPDL構造要素を示俊する。 この対応をよりわかりやすく示すために、SGMLの注釈を用いる。 基底構造要素の型は,注釈において、構造要素名に続く括弧中に示す。
  • 構造要素名の値に一対一対応する値をもつ列挙型がある場合, 同じ短縮名が列挙型の要素と構造要素の符号化の両方のために用いられる。
  • 単純な基底構造要素は,その単純な基底構造要素を下位要素とする複合構造要素を 表現するSGML要素の属性として,符号化される場合がある。 その属性の値の型は,基底構造要素の型にできるだけ近い, SGMLにおいて可能なものが選択される。 その型が他の型群の和集合である基底構造要素は, 常に独立した要素として符号化される。 和集合に含まれる型のうちのどれが与えられた要素の型かを示す属性が ある場合もある。
  • ある複合構造要素の下位要素のすべてを属性として表現する場合, その複合構造要素を表現するSGML要素の宣言済み内容は,"EMPTY"となる。 多くの場合,下位要素が任意の順番で現れる複合構造要素は, 属性として表現される下位要素群,及びSGML要素として表現される下位要素群をもつ。 このような場合,SGML構文は,包含されたSGML要素の前にその属性が置かれる ことを要求する。 しかし,各グループ内においては,それらの下位要素は任意の順番であってもよい。 下位要素群が指定された順番に存在する複合構造要素において, 最初の下位要素を属性によって表現することができる場合には,そのようにする。 他のすべての下位要素は,複合構造要素を表現しているSGML要素の内容モデル内の SGML要素によって表現される。
  • be ---> by ]]> SGMLにおけるASN.1型定義では,ASN.1型と同じ名前(又はその名前の短 縮形)を もったパラメタ実体を定義することによって近似される。 そのパラメタ実体の値は,値がその型である構造要素に 各SGML要素名が"|"で区切られているグループとする。 このパラメタ実体は,内容モデル及びその型の値に関連づけられた属性を 指定する要素宣言内のSGML要素型の置かれる位置で用いられる。 値がその型であるすべてのSGML要素は,1箇所で定義され, 型定義に影響を及ぼすこの規格への今後の変更が, この一つの"型定義"を編集することによって達成される。 (SGMLには名前グループに入れることのできる要素名の数に限界があるので, グループ内に多数の名前が既にある場合には,複数のパラメタ実体を 定義する必要が生じる。)

    SGML文書型定義は,次のとおりとする。

    <!-- (C) International Organization for Standardization 1993 Permission to copy in any form is granted for use with conforming SGML systems and applications as defined in ISO 8879-1986, provided this notice is included in all copies. Creator: Stephen Zilles Version: 1.03 94-Dec-16 --> <!-- 公開文書型定義。典型的な呼出しは次のとおり: <!DOCTYPE SPDL PUBLIC "ISO/IEC 10180//DTD Standard Page Description Language//EN" --> <!ENTITY % doctype "spdl" -- 文書型の共通識別子 --> <!-- これは、標準ページ記述言語ISO 10180用の文書型定義である。 この定義は,38.に示す2進表現交換様式の構造に可能な限り近いものと なるようにした。この定義は、使用する実体,要素型の定義、及びそれ らの要素型の属性リストを定義する"モジュール"に分割される。 --> <!-- 包含するDTD実体群 --> <!ENTITY % fontset PUBLIC "ISO 9541-2:1991//DTD Font Attribute Set//EN" > <!ENTITY % strucnm PUBLIC "ISO 9541-2:1991//DTD Structured Name//EN" > <!-- 注意:この規格に対する正誤表に照らし合わせて これらのDTDに関する公開文を訂正すること。 --> %fontset; %strucnm; <!-- 構造定義"モジュール" --> <!-- 識別子に用いる表記法 --> <!NOTATION pubid PUBLIC "ISO/IEC 9070//NOTATION Public Identifiers//EN" > <!NOTATION objid PUBLIC "ISO/IEC 10180//NOTATION Object Identifier type//EN" > <!NOTATION envnm PUBLIC "ISO/IEC 9070//NOTATION object-name component//EN" > <!-- 基底構造要素の型 --> <!-- 実体 --> <!ENTITY % Boolean "CDATA" -- 論理型 --> <!-- 許される値は小文字の"true"又は"false"だけとする --> <!ENTITY % Real "CDATA" -- Real type --> <!ENTITY % Number "CDATA" -- Number type --> <!ENTITY % NnNgNum "CDATA" -- Non Negative Number type --> <!ENTITY % Name "CDATA" -- Name type --> <!ENTITY % PrntStr "CDATA" -- Printable String type --> <!ENTITY % PblcIdn "CDATA" -- Public Identifier type --> ]]> <!ENTITY % Integer "CDATA" -- 整数型 --> <!ENTITY % Cardinl "NUMBER" -- 非負整数型 --> <!ENTITY % PosIntg "NUMBER" -- 正整数型 --> <!ENTITY % Real "CDATA" -- 実数型 --> <!ENTITY % Number "CDATA" -- 数型 --> <!ENTITY % NnNgNum "CDATA" -- 非負数型 --> <!ENTITY % Name "CDATA" -- 名前型 --> <!ENTITY % PrntStr "CDATA" -- 印字可能文字列型 --> <!ENTITY % PblcIdn "CDATA" -- 公開識別子型 --> <!-- GRPCNT容量の制限を超えないよう、環境内識別子型は三つに分けて定義する --> <!ENTITY % envid "hintnm | nSPDLnm | envrsid | fnidspc | ndxfnid | gmap | fntrsid" -- 環境内識別子型 --> <!ENTITY % envid1 "namddim | namdxyd | namdloc | mednam | medmclr | medmtyp | medtooh | medgran | edgfnsh | medmid | fnshnam | stchnam | stchtyp | bindnam | bindtyp | bindclr | trimnam | diecnam | diecnm | pnchnam | perfnam" -- 環境内識別子型(続き) --> <!ENTITY % envid2 "perftyp | slitnam | nsrtnam | nsrtnm | covrnam | covrnm | foldnam | nfinprm | colrsid | colrid | strpage | seppage | endpage | abrtdpi | outbnam" -- 環境内識別子型(続き) --> <!ELEMENT (%envid;) - - CDATA -- 環境内識別子 --> <!ATTLIST (%envid;) notation NOTATION (pubid | objid | envnm) #REQUIRED -- 環境内識別子を表す表記法 --> <!ELEMENT (%envid1;) - - CDATA -- 環境内識別子 --> <!ATTLIST (%envid1;) notation NOTATION (pubid | objid | envnm) #REQUIRED -- 環境内識別子を表す表記法 --> <!ELEMENT (%envid2;) - - CDATA -- 環境内識別子 --> <!ATTLIST (%envid2;) notation NOTATION (pubid | objid | envnm) #REQUIRED -- 環境内識別子を表す表記法 --> <!-- 公開オブジェクト識別子型 --> <!ENTITY % pubobid "pubobid | clrsnm | psetid | pcolrid | matchrl | satisfc | dpiname | propnam | plexdpi | finopnm | colrcls | ospcnm" -- 公開オブジェクト識別子型 --> <!ELEMENT (%pubobid;) - - CDATA -- 公開オブジェクト識別子 --> <!ATTLIST (%pubobid;) notation NOTATION (pubid | objid) #REQUIRED -- 公開オブジェクト識別子を表す表記法 --> <!-- 構造要素,SPDLインスタンス及びトークン列 --> <!-- 実体 --> <!ENTITY % documnt "pageset|picture" -- 文書 --> <!-- ページ構造要素は,意図的に符号化しない --> <!ENTITY % ifntspc "fntrspc|fnt1spc|rfntspc|cfntspc|ufntspc" -- 包含可能なフォント仕様 --> <!ENTITY % fontspc "fnidspc|%ifntspc;" -- フォント仕様 --> <!ENTITY % inclst0 "pageset | picture" -- 包含可能構造,パート0 --> <!ENTITY % inclst1 "pictbdy | nonSPDL | prologue |infrdcl | hint | cntxdcl | resdefn | stupprc | tknseqn | fontrfr| dictspc | %ifntspc;" -- 包含可能構造,パート1 --> <!ENTITY % inclst2 " fontset |gmapspc | gmapspc | fndxmap | gndxtbl | datsspc | clrsspc | patnspc | formspc | dpidcls | addldpi" -- 包含可能構造,パート2 --> <!-- 包含可能構造要素の一覧 pageset ページ集合 picture ピクチャ pictbdy ピクチャ本体 nonSPDL 非SPDLピクチャ本体 prologue プロローグ infrdcl 参考情報宣言 hint ヒント cntxdcl 分脈宣言 resdefn 資源定義 stupprc 初期設定手続き tknseqn トークン列 fontrfr フォント参照 dictspc 辞書資源仕様 fontspc フォント仕様 fntrspc フォント参照フォント仕様 fnt1spc フォントタイプ1仕様 rfntspc 再対応済みフォント仕様 cfntspc 複合フォント仕様 ufntspc ユーザフォント仕様 gmapspc グリフ指標対応表仕様 fndxmap フォント指標対応表 fontset 9541フォント属性集合 gndxtbl グリフ指標対応表変換表 datsspc データソース仕様 clrsspc 色空間資源仕様 patnspc パターン資源仕様 formspc フォーム資源仕様 dpidcls dpi宣言 addldpi 追加dpi --> <!ENTITY % tknsref "(tknseqn | strctid)" -- トークン列又は参照 --> <!-- 要素 --> <!-- ELEMENTS MIN CONTENT (EXCEPTIONS) --> <!ELEMENT %doctype; - - (%documnt;|envres|%inclst1;|%inclst2;) +( comment ) -- SPDL最上位構造 --> <!ELEMENT tknseqn - - CDATA -- トークン列 --> <!ELEMENT comment - - CDATA -- SPDL注釈 --> <!-- 注釈及び公開識別子 --> <!-- 注釈は、SGMLの注釈に関する規約に従って符号化される --> <!-- "オブジェクト"は,SPDL DTD参照によって識別される --> <!-- この規格で定義する公開識別子の接頭辞は, --> <!-- "ISO/IEC 10180//" となる --> <!-- SPDL文書"モジュール" --> <!-- 上位構造要素 --> <!-- 実体 --> <!ENTITY % pgstbdy "(pageset|picture|strctid)*" -- ページ集合本体 --> <!ENTITY % body "(picture|tknseqn|strctid)*" -- ピクチャの本体 --> <!ENTITY % prlgref "(prologue|strctid)" -- プロローグ又は参照 --> <!-- 要素 --> <!-- ELEMENTS MIN CONTENT (EXCEPTIONS) --> <!ELEMENT pageset - - ((%prlgref;)?,%pgstbdy;) > <!ELEMENT picture - - (%body; | nonSPDL | strctid) > <!ELEMENT pictbdy - - ((%prlgref;)?,%body;) -- ピクチャ本体 --> <!ELEMENT nonSPDL - - CDATA -- 非SPDLピクチャ本体 --> <!-- 要素の属性 --> <!-- ELEMENTS NAME VALUE DEFAULT --> <!ATTLIST picture contrep CDATA #REQUIRED -- 内容表現 --> for values defined in this standard --> <!-- for non-SPDL pictures, it specifies the notation used --> ]]> <!-- この値は,ISO/IEC 9070が定義する公開識別子でなけれはならない。 --> <!-- この規格が定義する値については,参照。 --> <!-- 非SPDLピクチャの場合、使用する表記法を指定する。 --> <!ATTLIST nonSPDL encoded (true|false) false -- ASCII85符号化がデータに使用されたかどうかを示す --> <!-- プロローグ構造要素群 --> <!-- 実体 --> <!ENTITY % infrref "(infrdcl | strctid)" -- 参考情報宣言又は参照 --> <!ENTITY % hintref "(hint | strctid)" -- ヒント又は参照 --> <!ENTITY % dpirref "(dpidecl | strctid)" -- dpi宣言又は参照 --> <!ENTITY % cntxref "(cntxdcl | strctid)" -- 分脈宣言又は参照 --> <!ENTITY % resdref "(resdefn | resdecl |cntxadd | strctid)" -- 資源定義又は宣言又は参照 --> <!ENTITY % stupref "(stupprc | strctid)" -- 初期設定手続き又は参照 --> <!-- 要素 --> <!-- ELEMENTS MIN CONTENT (EXCEPTIONS) --> <!ELEMENT prologue - - ( extndcl*, (%infrref;)?, nSPDLop*, dpidcls?, (%cntxref;)?, (%resdref;)*, (%stupref;)? ) > <!-- 次に示す構造要素のために定義される明示的な要素はない extndcl* 外部宣言リスト (%hintref;)* 参考情報宣言 nSPDLop* 非SPDL操作リスト (%cntxref;)? 分脈宣言 (%resdref;)* 資源定義,資源宣言又は文脈追加 (%stupref;)? 初期設定手続き --> <!ELEMENT dpidcls - - (%dpirref;)* -- dpi宣言リスト --> <!ELEMENT infrdcl - - (%hintref;)* -- 参考情報宣言 --> <!ELEMENT hint - - (hintnm,hintval) -- ヒント名及びヒント値 --> <!-- hintnm = envid(上記の基本型参照) ヒント名 --> <!ELEMENT hintval - - ANY -- ヒント値 --> <!-- 内容(hintval)の型はhintname (hintnm)に依存する --> <!ELEMENT nSPDLop - - (nSPDLnm,nSPDLvl) -- 非SPDL操作及び値 --> <!-- nSPDLnm = envid(上記の基本型参照) 非SPDL操作名 --> <!ELEMENT nSPDLvl - - ANY -- 非SPDL操作値 --> <!-- 内容(nSPDLvl)の型はopname(nSPDLnm)に依存する --> <!ELEMENT cntxdcl - - (intrsid)* -- 文脈辞書名リスト --> <!-- 各intrsidは、文脈辞書の名前でなけらばならない --> <!ELEMENT cntxadd - - (intrsid) -- 文脈辞書名 --> <!ELEMENT stupprc - - %tknsref; -- 初期設定手続きトークン列 --> <!-- SPDL外部参照モジュール --> <!-- 代入リスト --> <!-- 実体 --> <!ENTITY % locatid "pubobid|loclcid|sgmlext|sgmlent" -- 位置識別子 --> <!-- 位置識別子は次のいずれかとなる: pubobid 公開オブジェクト識別子 loclcid 局所位置識別子 sgmlext 符号化依存位置識別子-1  sgmlent 符号化依存位置識別子-2 --> <!-- 要素 --> <!-- ELEMENTS MIN CONTENT (EXCEPTIONS) --> <!ELEMENT extndcl - - (strctid, (%locatid;)) -- 外部宣言 --> <!ELEMENT strctid - - CDATA -- 構造要素識別子 --> <!-- pubobid = pubobid(see ENTITY above) sgml公開識別子 --> <!ELEMENT loclcid - - CDATA -- 局所位置識別子 (Octet/Char 文字列) --> <!ELEMENT sgmlext - - CDATA -- sgml外部識別子 (ISO 8879による外部id) --> <!ELEMENT sgmlent - O EMPTY -- ISO 8879実体名が示すsgml外部識別子 --> <!-- 要素群属性 --> <!-- ELEMENTS NAME VALUE DEFAULT --> <!ATTLIST sgmlent entname ENTITY #REQUIRED -- 実体の宣言がデータ位置を定義する実体の名前 --> <!ATTLIST extndcl strclid (%inclst0;|%inclst1; |%inclst2;|fontspc) #REQUIRED -- 構造要素クラス識別子 (列挙型) --> <!-- 注意:クラス識別子は,クラス識別子が対応する要素の一般識別子と 同じものが選択される。ただし,選択構造要素であるためSGML要素 として符号化されないフォント仕様(fontspc)は除く。 --> <!-- SPDL資源定義"モジュール" --> <!-- 代入リスト --> <!-- 実体 --> <!-- fontspc: フォント仕様(上記の包含可能なインスタンスを参照のこと。) --> <!ENTITY % resspec "dictspc|%fontspc;|gmapspc|fmapspc|clrsspc|datsspc|patnspc|formspc" -- 資源仕様 --> <!ENTITY % resclas "(Dict|Font|Encoding|ColorSp|DataSrc|Pattern|Form|Filter)" -- 資源クラス(列挙型) --> <!-- 要素 --> <!-- ELEMENTS MIN CONTENT (EXCEPTIONS) --> <!ELEMENT envres - - ( extndcl*, (%infrref;)*, (resdecl | cntxadd)*, (resdefn | resundf)) -- 環境内資源 --> <!ELEMENT resdefn - - (envrsid,((%resspec;)|strctid)) -- 資源定義 --> <!ELEMENT resundf - - (envrsid) -- 資源定義解除 --> <!ELEMENT resdecl - - (intrsid,envrsid) -- 資源宣言 --> <!ELEMENT intrsid - - CDATA -- 内部資源識別子(名前) --> <!-- envrsid = envid(上記の型参照) 環境内資源識別子 --> <!-- 要素の属性 --> <!-- ELEMENTS NAME VALUE DEFAULT --> <!ATTLIST resdefn resclid %resclas; #REQUIRED -- 資源クラス識別子(列挙型) --> <!ATTLIST resundf resclid %resclas; #REQUIRED -- 資源クラス識別子(列挙型) --> <!ATTLIST resdecl resclid %resclas; #REQUIRED -- 資源クラス識別子(列挙型) --> <!-- 資源仕様 --> <!-- 実体 --> <!ENTITY % psetspc "(psetid | psetlst)?" -- 原色集合仕様 --> <!-- 要素 --> <!-- ELEMENTS MIN CONTENT (EXCEPTIONS) --> <!ELEMENT dictspc - - (%tknsref;)+ -- 辞書資源仕様 --> <!ELEMENT datsspc - - (%locatid;|datablk) -- データソース資源仕様 --> <!ELEMENT datablk - - CDATA -- データブロック(オクテット列)--> <!-- CDATAは,ASCII85符号化オクテット列でなければならない --> <!ELEMENT clrsspc - - (clrsnm, %psetspc;, (%tknsref;)+) -- 色空間資源仕様 --> <!-- clrsnm = pubobid(上記の型参照) 色空間ファミリ識別子 --> <!-- psetid = pubobid(上記の型参照) 原色集合識別子 --> <!ELEMENT psetlst - - (pcolrid+) -- 原色集合リスト --> <!-- pcolrid = pubobid(上記の型参照) 原色識別子 --> <!ELEMENT patnspc - - (%tknsref;)+ -- パターン資源仕様 --> <!ELEMENT formspc - - (%tknsref;)+ -- フォーム資源仕様 --> <!-- 要素の属性 --> <!-- ELEMENTS NAME VALUE DEFAULT --> <!-- SPDLフォント及びグリフ指標対応表"モジュール" --> <!-- 指標フォント資源仕様 --> <!ENTITY % fndxref "fndxmap | strctid" -- フォント指標対応表又は参照 --> <!-- 実体 --> <!-- fontspc: フォント仕様 (上記の包含可能インスタンス参照) --> <!ENTITY % fmaplst "escchar? & shftout? & shftin? & subvect?" -- フォント対応表型パラメタリスト --> <!ENTITY % fontlst "((%fontspc;)|strctid)+" -- フォント又は参照リスト --> <!ENTITY % gndxref "gndxtbl|strctid" -- グリフ指標変換表又は参照 --> <!ENTITY % fnrfref "fontrfr|strctid" -- フォント参照又は参照 --> <!ENTITY % remap "(gmap | (%gndxref;))" -- 再対応 --> <!-- 実体 --> <!-- ELEMENTS MIN CONTENT (EXCEPTIONS) --> <!-- fnidspc = envid(上記参照) フォント識別子フォント仕様 --> <!ELEMENT fntrspc - - (%fnrfref:, gmap) -- フォント参照フォント仕様 --> <!ELEMENT fnt1spc - - CDATA -- フォントタイプ1フォント仕様 --> <!ELEMENT rfntspc - - (ndxfnid, (%remap;)?) -- 再対応済みフォント仕様 --> <!-- ndxfnid = envid(上記基本型参照) 指標フォント識別子 --> <!-- gmap = envid(上記基本型参照) グリフ指標対応表識別子 --> <!ELEMENT gndxtbl - - CDATA -- グリフ指標対応表変換 --> ]]> <!-- このCDATAは,1個以上の空白によって区切られた非負整数のリストとする。 この要素の"size"属性の値が, このリストに含まれるべき非負整数の正確な数を示す。--> <!ELEMENT cfntspc - - ((%fmaplst;),(%fndxref;),(%fontlst;)) -- 複合フォント仕様 --> <!ELEMENT escchar - - CDATA -- エスケープ文字 (非負整数) --> <!ELEMENT shftout - - CDATA -- シフトアウト (非負整数) --> <!ELEMENT shftin - - CDATA -- シフトイン (非負整数) --> <!ELEMENT subvect - - CDATA -- 置換ベクタ (オクテット列) --> <!ELEMENT fndxmap - - CDATA -- フォント指標対応表 --> ]]> <!-- このCDATAは,1個以上の空白によって区切られた非負整数のリストとする。 この要素の"size"属性の値が, このリストに含まれるべき非負整数の正確な数を示す。--> <!ELEMENT ufntspc - - (%tknsref;)+ -- ユーザフォント仕様 --> <!-- 要素の属性 --> <!-- ELEMENTS NAME VALUE DEFAULT --> <!ATTLIST gndxtbl size NUMBER #REQUIRED -- 表サイズ(非負整数) --> <!ATTLIST cfntspc type NUMBER #REQUIRED -- フォント対応表型 (非負整数) --> <!ATTLIST fndxmap size NUMBER #REQUIRED -- 対応表サイズ (非負整数) --> <!-- フォント参照 --> <!-- 実体 --> <!ENTITY % fntaref "fntset|strctid" -- フォント属性集合又は参照 --> <!-- 要素 --> <!-- ELEMENTS MIN CONTENT (EXCEPTIONS) --> <!ELEMENT fontrfr - - (fntrsid?, reqprop?, advprop?, matchrl?, satisfc?) -- フォント参照 --> <! -- fntrsid = envid(上記基本型参照) フォント資源識別子 --> <!ELEMENT reqprop - - (%fntaref;) -- 必す(須)属性 --> <!ELEMENT advprop - - (%fntaref;) -- 参考属性 --> <!-- matchrl = pubobid(上記参照) 照合規則(列挙型) --> <!-- satisfc = pubobid 判定基準(列挙型) --> <!-- グリフ対応表仕様 --> <!-- 実体 --> <!ENTITY % glyphid "smplname|strucnm" -- 選択すべきグリフ識別子型 --> <!-- 実体 --> <!-- ELEMENTS MIN CONTENT (EXCEPTIONS) --> <!ELEMENT gmapspc - - (%glyphid;)+ -- グリフ指標対応表資源仕様 --> <!ELEMENT smplname - - CDATA -- 文書内における局所名 --> <!-- 要素の属性 --> <!-- ELEMENTS NAME VALUE DEFAULT --> <!ATTLIST gmapspc size NUMBER #REQUIRED -- 対応表サイズ (非負整数) --> <!-- SPDL文書作製命令"モジュール" --> <!-- 有用なデータ型:寸法 --> <!-- 実体 --> <!ENTITY % dimensn "(pnchdia | pnchoff | trimoff | procoff)" -- 寸法型 --> <!ENTITY % dimsval "(numrdim | namddim)" -- 寸法値 --> <!-- 要素 --> <!-- ELEMENTS MIN CONTENT (EXCEPTIONS) --> <!ELEMENT %dimensn; - - %dimsval; -- 寸法 --> <!ELEMENT numrdim - - CDATA -- 数値寸法 (非負数) --> <!-- namddim = envid(上記基本型参照) 名前付き寸法 --> <!-- 要素の属性 --> <!-- ELEMENTS NAME VALUE DEFAULT --> <!ATTLIST %dimensn; tolrnce NMTOKEN #IMPLIED -- 許容誤差 (非負数) --> <!-- 有用なデータ型:xy寸法 --> <!-- 実体 --> <!ENTITY % xydimsn "(medmsz | refrsz | trimdim | diecpos)" -- xy寸法型 --> <!ENTITY % xydmval "(numrxyd | namdxyd)" -- xy寸法値 --> <!-- 要素 --> <!-- ELEMENTS MIN CONTENT (EXCEPTIONS) --> <!ELEMENT %xydimsn; - - %xydmval; -- xy寸法 --> <!ELEMENT numrxyd - O EMPTY -- 数値xy寸法 --> <!-- namdxyd = envid(上記基本型参照) 名前付きxy寸法 --> <!-- 要素の属性 --> <!-- ELEMENTS NAME VALUE DEFAULT --> <!ATTLIST %xydimsn; tolrnce NMTOKEN #IMPLIED -- 許容誤差 (非負数) --> <!ATTLIST numrxyd xdim NMTOKEN #REQUIRED -- x寸法 (非負数) -- ydim NMTOKEN #REQUIRED -- y寸法 (非負数) --> <!-- 有用なデータ型:ヘッド位置並び --> <!-- 実体 --> <!ENTITY % hdlcval "(numrloc | namdloc)" -- ヘッド位置並び値 --> <!-- 要素 --> <!-- ELEMENTS MIN CONTENT (EXCEPTIONS) --> <!ELEMENT headloc - - %hdlcval; -- ヘッド位置並び --> <!ELEMENT numrloc - - (hdloctn)+ -- 数値ヘッド位置並び --> <!ELEMENT hdloctn - - CDATA -- ヘッド位置並び (非負数) --> <!-- namdloc = envid(上記基本型参照) 名前付きヘッド位置並び --> <!-- 要素の属性 --> <!-- ELEMENTS NAME VALUE DEFAULT --> <!ATTLIST headloc tolrnce NMTOKEN #IMPLIED -- 許容誤差 (非負数) --> <!-- 有用なデータ型:辺 --> <!-- 実体 --> <!ENTITY % edge "edge (topedge | botedge | lftedge | rgtedge) #REQUIRED" -- 辺型 --> <!-- このパラメタ実体は,次に示すとおりに用いられる -- --ELEMENT pnchedg - O EMPTY -- -- 穴開け辺 -- --ATTLIST pnchedg %edge; -- -- 辺 --> <!-- DPI宣言 --> <!ELEMENT dpidecl - - ( meddpi? & medsdpi? & cmeddpi? & colrdpi? & copidpi? & pagedpi? & spagdpi? & plexdpi? & sidedpi? & xshfdpi? & yshfdpi? & csiddpi? & fnshdpi? & auxpdpi? & outbdpi? & dcmtdpi? & dstrdpi? & denddpi? & timedpi? & abrtdpi? & ospcdpi? & addldpi* ) -- dpi宣言 --> <!DPI構造要素の一覧 medsdpi 媒体選択dpi meddpi 媒体dpi cmeddpi 現媒体dpi colrdpi 現色材集合dpi copidpi 部数dpi pagedpi ページ選択dpi plexdpi 出力面指定dpi sidedpi 出力面数dpi xshfdpi x画像移動dpi yshfdpi y画像移動dpi csiddpi 現印刷面dpi fnshdpi 仕上げdpi auxpdpi 補助ページ型dpi outbdpi 出力ビンdpi ospcdpi 出力仕様dpi dcmtdpi 文書注釈dpi dstrdpi 文書開始メッセージdpi denddpi 文書終了メッセージdpi timedpi タイムアウトdpi abrtdpi 中断方針dpi addldpi 追加dpi --> <!-- 追加DPI --> <!ELEMENT addldpi - - (dpiname, dpivalu) -- 追加dpi --> <!-- dpiname = pubobid(上記基本型参照) 追加dpi名 --> <!ELEMENT dpivalu - - ANY -- 追加dpi値 --> <!-- 内容(値)の型は,dpi名に依存する --> <!-- DPI関連要素に共通して使用される接尾辞の一覧 clr 色(colrも同様) cnt 数 col 段 dia 直径 dim 寸法 edg 辺(edgeも同様) id 識別子 lng 長さ loc 位置 msg メッセージ nam 名前(name及びnmも同様) num 数 off オフセット pag ページ(pageも同様) pos 位置 prm パラメタ prp 特性 shf 移動 spc 仕様 sz 寸法 typ 型(typeも同様) wgt 重量 xyd xy寸法 --> <!-- 媒体文書作製命令 --> <!ELEMENT meddpi - - (meddecl*) -- 媒体dpi --> <!ELEMENT meddecl - - (medspc) -- 媒体宣言 --> <!ATTLIST meddecl medid CDATA #REQUIRED -- 媒体識別子(名前) --> <!ELEMENT medspc - - (mednam?, medmsg?, medprp?) -- 媒体仕様 --> <!-- mednam = envid(上記基本型参照) 媒体名 --> <!ELEMENT medmsg - - CDATA -- 媒体メッセージ(印刷可能文字列) --> <!ELEMENT medprp - - ( medmsz? & medmclr? & medmwgt? & medmtyp? & medtooh? & medgran? & medpnch? & medmult? & medfedg? & medlbls? & addlprp* ) -- 媒体特性 --> <!-- 媒体特性構造要素の一覧 medmsz 媒体寸法 medmclr 媒体色 medmwgt 媒体重量 medmtyp 媒体型 medtooh 媒体tooth medgran 媒体grain medpnch 媒体事前穴開け medmult 媒体マルチパート medfedg 媒体仕上げ辺 medlbls 媒体ラベル群 addlprp 追加特性 --> <!-- medium size = xydimension(上記の有用な型参照) --> <!-- medmclr = envid (上記基本型参照) 媒体色 --> <!ELEMENT medmwgt - O EMPTY -- 媒体重量(任意順) --> <!ATTLIST medmwgt value NUMBER #REQUIRED -- 媒体重量値(非負整数) -- tolrnce NUMBER #IMPLIED -- 媒体重量許可誤差(非負整数) --> <!-- medmtyp = envid(上記基本型参照) 媒体型 --> <!-- medtooh = envid(上記基本型参照) 媒体tooth --> <!-- medgran = envid(上記基本型参照) 媒体grain --> <!ELEMENT medpnch - - (pnchdia? & pnchoff? & headloc?) -- 媒体事前穴開け(任意順) --> <!ATTLIST medpnch count NUMBER #REQUIRED -- 穴開け数(非負整数) -- %edge; -- 辺(上記有用な型参照) --> <!-- punch diameter = dimensions(上記有用な型参照) --> <!-- punch offset = dimensions(上記有用な型参照) --> <!-- punch location = head locations(上の有用な型を参照のこと。) --> <!ELEMENT medmult - O EMPTY -- 媒体マルチパート(任意順) --> <!ATTLIST medmult seqnnum NUMBER #REQUIRED -- 並び数(非負整数) -- seqnlng NUMBER #REQUIRED -- 並び長(非負整数) --> <!ELEMENT medfedg - - (edgfnsh?) -- 媒体仕上げ辺 --> <!ATTLIST medfedg %edge; -- 辺id (上記有用な型参照) --> <!-- edgfnsh = envid(上記基本型参照) エッジ仕上げ型 --> <!ELEMENT medlbls - O EMPTY -- 媒体ラベル群 --> <!ATTLIST medlbls percolm NUMBER #REQUIRED -- 列内数(非負整数) -- perrow NUMBER #REQUIRED -- 行内数(非負整数) --> <!ELEMENT addlprp - - (propnam, propval) -- 追加特性 --> <!-- propnam = pubobid(上記基本型参照) 特性名 --> <!ELEMENT propval - - ANY -- 特性値(型は名前に依存) --> <!ELEMENT medsdpi - - (medslct)* -- 媒体選択dpi --> <!ELEMENT medslct - - (medmid) -- 媒体選択 --> <!ATTLIST medslct start NUMBER #REQUIRED -- 開始ページ = ページ識別子(正整数) -- end NUMBER #REQUIRED -- 終了ページ = ページ識別子(正整数) --> <!-- medmid = envid(上記基本型参照) 媒体識別子 --> <!ELEMENT cmeddpi - - CDATA -- 現媒体dpi(名前) --> <!-- 提示DPI --> <!ELEMENT copidpi - O EMPTY > <!ATTLIST copidpi copies NUMBER #REQUIRED -- 部数dpi(非負整数) --> <!ELEMENT pagedpi - - (pagslct)+ -- ページ選択dpi --> <!ELEMENT pagslct - O EMPTY -- ページ選択 --> <!ATTLIST pagslct start NUMBER #REQUIRED -- 開始ページ = ページ識別子 (正整数)-- end NUMBER #REQUIRED -- 終了ページ = ページ識別子 (正整数) --> <!ELEMENT spagdpi - - (pagslct)+ -- 補足ページ選択dpi --> <!ELEMENT sidedpi - O EMPTY > <!ATTLIST sidedpi sides NUMBER #REQUIRED -- 出力面数dpi [非負整数("1"又は"2")] --> <!-- plexdpi = pubobid(上記基本型参照) 出力面指定dpi --> <!ELEMENT xshfdpi - O EMPTY > <!ATTLIST xshfdpi shift NMTOKEN #REQUIRED -- x画像移動dpi (数) --> <!ELEMENT yshfdpi - O EMPTY > <!ATTLIST yshfdpi shift NMTOKEN #REQUIRED -- y画像移動dpi (数) --> <!ELEMENT csiddpi - O EMPTY > <!ATTLIST csiddpi side NUMBER #REQUIRED -- 現印刷面dpi [非負整数("1"又は"2")] --> <!-- 仕上げDPI --> <!-- 有用な仕上げ型 --> <!ELEMENT refredg - O EMPTY > <!ATTLIST refredg %edge; -- 参照辺 = 辺 --> <!ELEMENT jogedge - O EMPTY > <!ATTLIST jogedge %edge; -- そろ(揃)え辺 = 辺 --> <!ENTITY % fnshspc "( fnshnam | fspclst )" -- 仕上げ指定 --> <!-- 仕上げ処理指定構造要素の一覧 stchspc と(綴)じ合わせ指定 bindspc 製本指定 trimspc 化粧裁ち指定 diecspc 型抜き指定 pnchspc 穴開け指定 perfspc ミシン目指定 slitspc 切れ目指定 nsrtspc 挿入指定 covrspc カバー指定 foldspc 折畳み指定 ofinspc その他の仕上げ指定 --> <!ENTITY % stchspc "(stchnam | stchprm)" -- と(綴)じ合わせ指定 --> <!ENTITY % bindspc "(bindnam | bindprm)" -- 製本指定 --> <!ENTITY % trimspc "(trimnam | trimprm)" -- 化粧裁ち指定 --> <!ENTITY % diecspc "(diecnam | diecprm)" -- 型抜き指定 --> <!ENTITY % pnchspc "(pnchnam | pnchprm)" -- 穴開け指定 --> <!ENTITY % perfspc "(perfnam | perfprm)" -- ミシン目指定 --> <!ENTITY % slitspc "(slitnam | slitprm)" -- 切れ目指定 --> <!ENTITY % nsrtspc "(nsrtnam | nsrtprm)" -- 挿入指定 --> <!ENTITY % covrspc "(covrnam | covrprm)" -- カバー指定 --> <!ENTITY % foldspc "(foldnam | foldprm)" -- 折畳み指定 --> <!ENTITY % fprcsp1 "( %stchspc; | %bindspc; | %trimspc; | %diecspc; )" -- 仕上げ処理指定,パート1 --> <!ENTITY % fprcsp2 "( %pnchspc; | %perfspc; | %slitspc; | %nsrtspc; | %covrspc; | %foldspc; | ofinspc )" -- 仕上げ処理指定,パート2 --> <!ELEMENT fnshdpi - - (fnshmsg?, %fnshspc;) -- 仕上げdpi --> <!ELEMENT fnshmsg - - CDATA -- 仕上げメッセージ (印刷可能文字列) --> <!-- fnshnam = envid(上の基本型を参照のこと。) 名前付き仕上げ --> <!ELEMENT fspclst - - (%fprcsp1; | %fprcsp2;)+ -- 仕上げ指定リスト --> <!-- stchnam = envid(上記基本型参照) 名前付きと(綴)じ合わせ --> <!ELEMENT stchprm - - ( refrsz? & refredg? & jogedge? & procoff? & headloc? & stchtyp? ) -- と(綴)じ合わせパラメタ (任意順) --> <!-- refrsz = xydimension(上記有用な型参照) --> <!-- procoff = dimension(上記有用な型参照) --> <!-- headloc(上記有用な型参照) --> <!-- stchtyp = envid(上記有用な型参照) と(綴)じ合わせタイプ --> <!-- bindnam = envid(上記有用な型参照) 名前付き製本 --> <!ELEMENT bindprm - - ( refrsz? & refredg? & jogedge? & bindtyp? & bindclr?) -- 製本パラメタ (任意順) --> <!-- refrsz = xydimension(上記有用な型参照) --> <!-- bindtyp = envid(上記基本型参照) 製本タイプ --> <!-- bindclr = envid(上記基本型参照) 製本色 --> <!-- trimnam = envid(上記基本型参照) 名前付き化粧裁ち --> <!ELEMENT trimprm - - ( refrsz? & refredg? & jogedge? & trimoff & trimdim ) -- 化粧裁ちパラメタ (任意順) --> <!-- refrsz = xydimension(上記有用な型参照) --> <!-- trimoff = dimension(上記有用な型参照) --> <!-- trimdim = xydimensions(上記有用な型参照) --> <!-- diecnam = envid(上記基本型参照) 名前付き型抜き --> <!ELEMENT diecprm - - ( refrsz? & refredg? & jogedge? & diecpos & diecnm ) -- 型抜きパラメタ (任意順) --> <!-- refrsz = xydimension(上記有用な型参照) --> <!-- diecpos = xydimension(上記有用な型参照) --> <!-- diecnm = envid(上記基本型参照) 型抜き名 --> <!-- pnchnam = envid(上記基本型参照) 名前付き穴開け --> <!ELEMENT pnchprm - - ( refrsz? & refredg? & jogedge? & procoff? & headloc? & pnchdia? ) -- 穴開けパラメタ群 (任意順) --> <!-- refrsz = xydimension(上記有用な型参照) --> <!-- procoff = dimension(上記有用な型参照) --> <!-- headloc(上記有用な型参照) --> <!-- pnchdia = dimension(上記有用な型参照) --> <!-- perfnam = envid(上記基本型参照) 名前付きミシン目 --> <!ELEMENT perfprm - - ( refrsz? & refredg? & jogedge? & procoff & headloc & perftyp ) -- ミシン目パラメタ群 (任意順) --> <!-- refrsz = xydimension(上記有用な型参照) --> <!-- procoff = dimension(上記有用な型参照) --> <!-- headloc(上記有用な型参照) --> <!-- perftyp = envid(上記基本型参照) ミシン目タイプ --> <!-- slitnam = envid(上記基本型参照) 名前付き切れ目 --> <!ELEMENT slitprm - - ( refrsz? & refredg? & jogedge? & headloc ) -- 切れ目パラメタ群 (任意順) --> <!-- refrsz = xydimension(上記有用な型参照) --> <!-- headloc(上記有用な型参照) --> <!-- nsrtnam = envid(上記基本型参照)名前付き挿入 --> <!ELEMENT nsrtprm - - ( refredg? & jogedge? & nsrtlst ) -- 挿入パラメタ群 (任意順) --> <!-- refrsz = xydimension(上記有用な型参照) --> <!-- procoff = dimension(上記有用な型参照) --> <!-- headloc(上記有用な型参照) --> <!ELEMENT nsrtlst - - (nsrtsht)+ -- 挿入シートリスト --> <!ENTITY % nsrtid "(nsrtnm | nsrtbin)" -- 挿入識別子 --> <!ELEMENT nsrtsht - - (%nsrtid; & nsrtmsg?) -- 挿入シート(任意順) --> <!ATTLIST nsrtsht topsurf (top | bottom) #IMPLIED -- 挿入上面 (列挙型) -- after NUMBER #REQUIRED -- 後挿入 (非負整数) --> <!-- nsrtnm = envid(上記基本型参照) 挿入名 --> <!ELEMENT nsrtbin - O EMPTY > <!ATTLIST nsrtbin bin NUMBER #REQUIRED -- 挿入ビン (非負整数) --> <!ELEMENT nsrtmsg - - CDATA -- 挿入メッセージ (印刷可能文字列) --> <!-- covrnam = envid(上記基本型参照) 名前付きカバー --> <!ELEMENT covrprm - - ( refrsz? & refredg? & jogedge? & frntcvr? & backcvr?) -- カバーパラメタ群 (任意順) --> <!-- refrsz = xydimension(上記有用な型参照) --> <!ELEMENT frntcvr - - (covrnm | medspc) -- 表カバー --> <!ELEMENT backcvr - - (covrnm | medspc) -- 裏カバー --> <!-- covrnm = envid(上記基本型参照) カバー名 --> <!-- foldnam = envid(上記基本型参照) 媒体折畳み --> <!ELEMENT foldprm - - ( refrsz? & refredg? & jogedge? & headloc?) -- 折畳みパラメタ群 (任意順) --> <!-- refrsz = xydimension(上記有用な型参照) --> <!-- headloc(上記有用な型参照) --> <!ELEMENT ofinspc - - (finopnm & finoprm?) -- その他の仕上げ指定 (任意順) --> <!-- finopnm = pubobid(上記基本型参照) 仕上げ操作名 --> <!ELEMENT finoprm - - (nfinprm?, sfinprm?) -- 仕上げ操作パラメタ群 --> <!-- nfinprm = envid(上記型参照) 名前付き仕上げ操作パラメタ群 --> <!ELEMENT sfinprm - - ( refrsz? & refredg? & jogedge? & procoff? & headloc? & addlprm? ) -- と(綴)じ合わせパラメタ群 (任意順) --> <!-- refrsz = xydimension(上記有用な型参照) --> <!-- procoff = dimension(上記有用な型参照) --> <!-- headloc(上記有用な型参照) --> <!ELEMENT addlprm - - ANY -- 追加パラメタ群(仕上げ操作名に依存) --> <!-- 管理文書作製命令 --> <!ENTITY % colrspc "(colrsid | colrdsc)" -- 色材集合指定 --> <!ELEMENT colrdpi - - (colrmsg?, %colrspc;) -- 色材集合dpi --> <!ELEMENT colrmsg - - CDATA -- 色材集合メッセージ (印刷可能文字列) --> <!-- colrsid = envid(上記基本型参照) 色材集合識別子 --> <!ELEMENT colrdsc - - (colrcls, colrid+) -- 色材集合記述 --> <!-- colrcls = pubobid(上記参照) 色材集合クラス識別子 --> <!-- colrid = envid(上記基本型参照) 色材識別子 --> <!ELEMENT dstrdpi - - CDATA -- 文書開始メッセージdpi --> <!ELEMENT auxpdpi - - (strpage? & seppage? & endpage?) -- 補助ページタイプdpi --> <!-- strpage = envid(上記基本型参照) 開始ページタイプ --> <!-- seppage = envid(上記基本型参照) 分離ページタイプ --> <!-- endpage = envid(上記基本型参照) 終了ページタイプ --> <!ELEMENT dcmtdpi - - CDATA -- 文書注釈dpi (印刷可能文字列) --> <!ELEMENT timedpi - O EMPTY > <!ATTLIST timedpi timeout NUMBER #REQUIRED -- タイムアウトdpi (非負整数) --> <!-- abrtdpi = envid(上記基本型参照) 中断方針dpi --> <!ELEMENT outbdpi - - ((outbnam | outbnum)?) -- 出力ビンdpi (非負整数) --> <!ATTLIST outbdpi outposn NUMBER #IMPLIED -- 出力位置 (非負整数) --> <!-- outbnam = envid(上記基本型参照) 出力ビン名 --> <!ELEMENT outbnum - O EMPTY > <!ATTLIST outbnum binnum NUMBER #REQUIRED -- 出力ビン番号 (非負整数) --> <!ELEMENT ospcdpi - - (addlout*) -- 出力指定dpi --> <!ATTLIST ospcdpi collate %Boolean; #IMPLIED -- ページそろ(揃)え (論理値) -- -- 許される値は,小文字の"true"又は"false"だけとする -- offset %Boolean; #IMPLIED -- オフセット (論理値) -- -- 許される値は,小文字の"true"又は"false"だけとする -- burst %Boolean; #IMPLIED -- 裁断 (論理値) -- -- 許される値は,小文字の"true"又は"false"だけとする --> <!ELEMENT addlout - - (ospcnm,ospcvl?) -- 追加出力 --> <!-- ospcnm = pubobid(上記型参照) 出力指定名 --> <!ELEMENT ospcvl - - ANY -- 出力指定値 --> <!--出力指定値は,出力指定名に依存する --> <!ELEMENT denddpi - - CDATA -- 文書終了メッセージdpi (印刷可能文字列) -->
  • 平文内容表現交換様式

    SPDL内容は,トークン列から構成される。 各トークンは,内容プロセサによって処理される情報の1単位を表現する。 この節では,SPDL内容中のトークンの平文符号化について規定する。

    トークン構造及び区切り子

    各トークンは,ISO 646によって符号化された1個以上のオクテット (これ以降,文字として参照する。)の列によって符号化される。 各トークンを符号化する文字列は,幾つかの区切り子によって終了する。 空白文字類である空白,タブ,改行,書式送り,復帰及び間隔は, それらが文字列やデータブロック内にある場合,及び注釈の中の間隔である場合を除いて, 区切り子となる。 空白区切り子の後に続くトークンの符号化は, その後に続く最初の空白文字ではない文字から始まる。 , [, ], {, }, /, and % are special. ]]> 文字(、)、<、>、[、]、{、}、/及び%は,特別な働きをもつ。 文字(、<及び/は,それまでのトークンの符号化を区切り, 新しいトークンの符号化を開始する。 > are self delimiting tokens; they terminate the encoding of any preceding token, they are the encoding of a token themselves, and the encoding of the following token begins with the first following character that is not a whitespace character. ]]> 文字[、]、{、}及び文字列<<、>>は,区切り子を兼ねたトークンとする。 それらは,先行する任意のトークンの符号化を終了させる。 それらは,それら自身が一つのトークンの符号化とする。 そして,後続するトークンの符号化は,後に続く最初の空白文字以外の文字から始まる。 )文字は,(文字で開始されたトークンの符号化を終了させる。 そして,後続するトークンの符号化は,後に続く最初の空白文字以外の文字から始まる。 >, the character > terminates the encoding of a token begun with the character < and the encoding of the following token begins with the first following character that is not a white space character. ]]> 区切り子を兼ねたトークンである>>の中にある場合を除いて, >文字は,<文字で開始されたトークンの符号化を終了させる。 そして,後続するトークンの符号化は,後に続く最初の空白文字以外の文字から始まる。

    オクテット列,データブロック又は継続データブロックトークンの外部に置かれた すべての%文字は,注釈の開始を示す。 %文字から最初の復帰,改行又は書式送り文字が現れるまでのすべての文字が 注釈となる。 %文字及び注釈は,まとめて一つの空白文字として扱われる。

    トークン型

    base tokens and composite tokens. ]]> 平文内容符号化でのトークンには,基底トークン及び複合トークンの 2種類がある。

    基底トークンは,他のトークンを含まない。 SPDL内容中の文字列を処理することによって基底トークンが生成される。 基底トークンの例には,オクテット列,整数及び名前がある。

    複合トークンは,基底トークン列及び/又は他の複合トークンの列から構成される トークンとする。 複合トークンが内容中に現れた場合,パーサは, 複合トークンの中に含まれる各トークンを現れた順に処理し, それからそれらを含んでいた複合トークンを処理する。 手続きのためのトークンが,平文内容符号化における唯一の複合トークンとなる。

    内容オブジェクト型の符号化

    次の37.2.3.1から37.2.3.13まででは,各SPDLオブジェクト型の平文符号化 について詳述する。 Operator is described in . ]]> 演算子型のオブジェクトの符号化については,で述べる。

    論理値

    Boolean in the Clear Text Content Representation and Interchange Format. ]]> 平文表現交換様式には,論理値型の表現はない。 Boolean may be created in content via execution of the operators True and False. ]]> 論理値型のオブジェクトは,True演算子及びFalse演算子の 実行を介して,内容中に生成される。

    辞書

    Dictionary in the Clear Text Content Representation and Interchange Format. ]]> 平文表現交換様式には,辞書型の表現はない。 Dictionary may be created in content via execution of the MakeDictionary or MakeandStoreDictionary operators. ]]> 辞書型のオブジェクトは,MakeDictionary演算子又は MakeandStoreDictionary演算子の実行を介して,内容中に作成される。 > (representing Mark and MakeandStoreDictionary, respectively; see ) may be used to clearly demark the creation of a Dictionary in content: ]]> 区切り子を兼ねた演算子トークンである<<及び>> (これらは,それぞれ Mark演算子及びMakeandStoreDictionary演算子を表現する。 参照)は,次に示すとおり, 内容中での辞書の作成を明確に表すために用いられる。

  • << token token ... token >>

    整数

    平文内容表現及び交換様式には,整数のための二つの表現がある。 一つの表現は,1個の符号(なくてもよい)の直後に1個以上の10進数字が続いたもの からなる。 この数は,符号付10進整数として解釈され,SPDL整数オブジェクトに変換される。

    base#number where base is a decimal integer between 2 and 36, and number is then interpreted in that base; it must consist of digits in the range 0 to base-1, inclusive. ]]> もう一つの表現として,base#numberがある。 ここで,baseは,2以上36以下の10進整数とし, numberは,それを基数として解釈される。 各桁は,0以上base−1以下の範囲とならなければならない。 9より大きな数字は,AからZ(又はaからz)までの文字によって表現される。 その数は,与えられた数を基数とする符号なし整数として扱われ, SPDL整数オブジェクトに変換される。

    いずれの表現においても,表現された数が整数の大きさに関する実装依存の制限を 超えている場合,それは,オペランドスタックに積まれる前にSPDL実数オブジェクトに 変換される。

    マーク

    平文表現交換様式には,マーク型の表現はない。 Mark may be created in content via execution of the operator Mark. ]]> Mark型のオブジェクトは,マーク演算子の実行を介して内容中に作成 される。

    名前

    Name: one for executable Names and one for literal Names. ]]> 名前型のオブジェクトには,実行可能名とリテラル名の二つの表現がある。

    実行可能名

    実行可能名は,"a"、"b"、"c"、...、"z";"A"、"B"、"C"、...、"Z"という ラテンアルファベット文字の内の1文字,又は終止符によって表現される。 それに続く各文字は,ラテンアルファベット文字,10進数字"0"、"1"、"2"、...、"9"、アンダーバー"_"、":"又は終止符のいずれでもよい。

    リテラル名

    リテラル名は,/文字と,そのすぐ後に続く"a"、"b"、"c"、...、"z";"A"、"B"、"C"、...、"Z"というラテンアルファベット文字の内の1文字,又は終止符によって表現される。 それに続く各文字は,ラテンアルファベット文字,10進数字"0"、"1"、"2"、...、"9"、アンダーバー"_"、":"又は終止符のいずれでもよい。

    ヌル

    Null in the Clear Text Content Representation and Interchange Format. ]]> 平文表現交換様式には,ヌル型の表現はない。 Null mey be created in content via execution of the operator Null. ]]> ヌル型のオブジェクトは,Null演算子の実行を介して内容中に作成 される。

    オクテット列

    オクテット列には,文字列,16進符号化列及びASCII85符号化列の三つの表現がある。

    文字列

    オクテット列は,次の形で表現される。

  • (xyz)

    xyzは,0個以上のオクテットを表す文字列を表現する。 \文字が前に付かない限り,括弧の中のそれぞれの文字は,その文字のISO 646 符号化であるオクテットを表現する。 オクテット列は,括弧で囲まれることによってだけ,区切られる。 オクテット列の中の空白文字は,区切り子としてではなく,文字として扱われる。 0個以上のオクテットをその中に含む開閉括弧()が, オクテット列トークンの中に現れてもよい。 括弧とその中の文字との両方が,埋め込まれたオクテット列としてではなく, 文字として扱われる。

    \文字は,片括弧や非印刷文字や\文字そのものを引用するために 用いるエスケープ文字とする。 \文字のすぐ後に続く文字が,その解釈を決定する。

  • \r  復帰
  • \t  水平タブ
  • \b  後退
  • \f  書式送り
  • \\  \
  • \(  (
  • \)  )
  • \ddd  Arbitrary Octet]]>任意のオクテット

    \文字の後に続く文字が上のリストにない場合, \文字は,無視され\文字の後の文字は,普通に解釈される。 ddd form, each of the d's shall be an octal digit and the first d shall be 3 or less. ]]> \ddd様式では,各dは1個の8進数字を表し, 最初のdは3以下でなければならない。 ddd form is interpreted as the single octet whose value in octal is ddd. ]]> \ddd様式は,8進数としての値がdddである1個のオクテット として解釈される。 この様式は,オクテット列の中に任意のオクテットを含ませるために用いられる。

    16進符号化列

    オクテット列は,次の形で表現される。 <xyz>

    xyzは,0個以上の16進数字,すなわち0から9まで,及びAからFまで又はaからfまでの 文字とその組合せによる列を表現する。 これらは,二つ一組でオクテット列の中の一つのオクテットを表現する。 奇数個の16進数字がある場合,最後のオクテットの2番目の16進数字として 0があるものとみなされる。 16進符号化列の中の空白文字類は,無視され,区切り子として扱われない。 RaiseError is invoked with SyntaxError as its operand. ]]> 16進符号化列が正しい形になっていない場合,SyntaxErrorをオペランドと して,RaiseErrorを実行する。

    ASCII85 符号化列

    オクテット列は,次の形で表現される。

  • < xyz >

    ) in which the sub-sequence "</", the ISO 8879 ETAGO in the Reference Syntax, shall not occur. ]]> xyzは,0個以上のASCII85符号化オクテット(参照)の列を表現する。 この中には,部分列の"</",すなわち参照構文におけるISO 8879 ETAGO が現れてはならない。 オクテット列のASCII85符号化に部分列の"</"が含まれる場合, これらは,"<"と"/"の間に空白文字を挿入することによって 除去されなければならない。 RaiseError is invoked with SyntaxError as its operand. ]]> ASCII85符号化列が正しい形になっていない場合, SyntaxErrorをオペランドとして,RaiseErrorを実行する。

    パス

    平文表現交換様式には,パスの表現はない。 パスは,29.に記述するパス構築演算子の実行を介して,内容中に作成される。

    実数

    平文表現交換様式の実数は,1個の符号(なくてもよい。)の後ろに, 先頭又は途中に終止符(小数点)を含む1個以上の10進数字の列,又はさらに 末尾に指数部を続けたものが続く形で表現される。 指数部が存在する場合,それは,E又はe文字で構成される。 この文字のすぐ後には,符号(なくてもよい)が続き, その後にさらに1個以上の10進数字が続く。 IEEE 754-1987に規定されるとおり,この10進値は,2進値に変換される。 RaiseError is invoked with LimitCheck as its operand. ]]> 実数が実装内で表現可能な実数の範囲を超えている場合,LimitCheckを オペランドとして,RaiseErrorを実行する。

    退避オブジェクト

    平文表現交換様式には,退避オブジェクトの表現はない。 SaveState operator. ]]> 退避オブジェクトは,SaveState演算子の実行を介して,内容中に作成される。

    ストリームオブジェクト

    StreamObject in the Clear Text Content Representation and Interchange Format. ]]> 平文表現交換様式には,ストリームオブジェクト型のオブジェクトの表現はない。 StreamObject may be created in content via execution of the Filter operator or the FindResource operator. ]]> StreamObject型のオブジェクは,Filter演算子又は FindResource演算子の実行を介して,内容中に作成される。

    ベクタ

    Vector which have an executable object reference; such object references are of type Procedure. ]]> 実行可能なオブジェクト参照をもつベクタ型のオブジェクトには, 一つの表現がある。このオブジェクト参照は手続き型とする。 Vector which have a literal object reference. ]]> リテラルオブジェクト参照をもつベクタ型のオブジェクトの表現はない。

    リテラルオブジェクト参照付きベクタ

    Vector which have a literal object reference may be created in content via execution of the MakeVector or MakeandStoreVector operators. ]]> リテラルオブジェクト参照をもつベクタ型のオブジェクトは ,MakeVector演算子又はMakeandStoreVector演算子の実行を介して, 内容中に作成される。 Mark and MakeandStoreVector, respectively; ) may be used to clearly demark the creation of a literal Vector in content: ]]> 区切り子を兼ねた演算子トークンである[及び] (これらは,それぞれ Mark演算子及びMakeandStoreVectorを表現する。 参照)は,次に示すとおり,内容中でのリテラルベクタの作成を 明確に表すために用いられる。

  • [ token token ... token ]
    手続き(実行可能なベクタ参照)

    手続きトークンは,複合トークンとする。 平文表現交換様式において長さNをもつ手続き,すなわち実行可能ベクタ参照は, 次の形で表現される。

  • { token1 token2 ... tokenN }

    token Iは,復号されて,実行可能ベクタの要素Iとなる単純値 又はオブジェクト参照を生成する。 複合トークン全体を処理している間,トークンの実行は,一時停止される。 token1からtokenNのそれぞれのトークンは,基底トークンであっても 複合トークンであってもよい。 複合トークン群は,対となる{及び}区切り子の中の文字列に埋め込まれている 手続きトークン群を処理することで結果として得られる。 手続きトークン群は,手続きトークン群の中に任意の深さで 階層化させることができる。

    演算子

    >, there is no representation for objects of type Operator in the clear text encoding. ]]> 区切り子を兼ねたトークンである[、]、<<及び>>を除いて, 平文符号化には,演算子型のオブジェクトの表現はない。 SystemDict, and may be accessed in content via their Names. ]]> 演算子オブジェクトは,SystemDictの中の名前に結び付けられており, その名前を使って内容中でアクセスすることができる。 lists each SPDL operator and the Name (and, if applicable, the self-delimiting token) by which it may be accessed in the clear text encoding. ]]> 各SPDL演算子,及び平文符号化においてそれを使って演算子にアクセスするための 名前を(区切り子を兼ねたトークンがある場合にはそれも),に記述する。

    埋込みラスタ図形データトークン

    平文文書において,直接,ラスタ図形データソースを復号するために用いられる 一つのトークン型がある。 . ]]> このトークン型の使い方については,で述べる。

    データブロックトークン

    データブロックトークンは,次の形で表現される。

  • <|xyz|>

    ) in which the sub-sequence "</", the ISO 8879 ETAGO in the Reference Syntax, shall not occur. ]]> xyzは,0個以上のASCII85符号化オクテット(参照)の列を表現する。 この中には,部分列の"</",すなわち参照構文におけるISO 8879 ETAGO が現れてはならない。 データソースのASCII85符号化に部分列の"</"が含まれる場合, これらは,"<"と"/"の間に空白文字を挿入することによって 除去されなければならない。 RaiseError is invoked with SyntaxError as its operand. ]]> ASCII85符号化列が正しい形になっていない場合, SyntaxErrorをオペランドとして,RaiseErrorを実行する。 データブロックの長さに制限はない。