Translation:Properties Represented as Elements

From IDMLWiki

Jump to: navigation, search

Contents

9.5.2 エレメントとしてのプロパティ表現

与えられたプロパティが属性として書かれているために、上で説明した規則を満たさないと、含んでいるオブジェクトを表しながら、XML要素の<Properties>子要素で言い表されるでしょう。スクリプト用のプロパティの名前はエレメントの名前として使用されます、そして、プロパティの値はエレメントの内容としてシリアライズされます。一般に、値のデータ型はエレメントの「type」属性で指定されるでしょう。

プロパティはエレメントの2つの基本的なフォームで示されます: 「単一の値」と「リスト値」として。

表2 エレメントのプロパティ

単一の値:

  1. <Properties>
  2.   <GuideColor type="enumeration">LightBlue</GuideColor>
  3. </Properties>

リスト値:

  1. <Properties>
  2.   <GuideColor type="list">
  3.     <ListItem type="double">128</ListItem>
  4.     <ListItem type="double">0</ListItem>
  5.     <ListItem type="double">255</ListItem>
  6.   </GuideColor>
  7. </Properties>

上の例では、UIColors_EnumValueのEnumerationかカスタムRGBカラーのいずれかなので、InDesignガイドのガイドカラーのプロパティがエレメントとして示されています。

スクリプト用のオブジェクトモデルはIDMLのエレメントとしていつも表される2つのデータ型を含みます: 「RecordType」と「Geometry」。 さらに、VariableType タイプのいくつかのプロパティがエレメントとしてIDMLに書かれています。 以下のセクションはこれらのタイプについて論じます。

RecordType

データ型(スクリプト用のオブジェクト・モデルの)がRecordTypeであるプロパティは<Properties>エレメントにおける一連の子要素としてXMLに連載されます。以下の例に示します(TabListはプロパティの名前、Alignment、AlignmentCharacter、Leader、およびPositionがプロパティのレコードのアイテムです):

IDML例3 RecordTypeのシリアライズ
  1. <TabList type="record">
  2.   <Alignment type="enumeration">LeftAlign</Alignment>
  3.   <AlignmentCharacter type="string">$ID/.</AlignmentCharacter>
  4.   <Leader type="string">$ID/</Leader>
  5.   <Position type="unit">36</Position>
  6. </TabList>
Geometry

ページアイテムgeometry(ページアイテムの形状)は<PathGeometry>エレメントとして表されます。 この要素は順番に1つ以上の<GeometryPathType>エレメントを含んでいます。それはそれぞれ順番に2つ以上の<PathPoint>エレメントを含みます。

<PathGeometry>エレメントは次の形式を持っています:

IDML例4 Geometryシリアライズ
  1. <PathGeometry>
  2.   <GeometryPathType PathOpen=" false">
  3.     <PathPointArray>
  4.       <PathPointType Anchor="72 -324" LeftDirection=" 72 -324" RightDirection=" 72 -324"/>
  5.       <PathPointType Anchor="72, -252" LeftDirection=" 72, -252" RightDirection=" 72, -252"/>
  6.       <PathPointType Anchor="144 -252" LeftDirection=" 144 -252" RightDirection=" 144 -252"/>
  7.       <PathPointType Anchor="144 -324" LeftDirection=" 144 -324" RightDirection=" 144 -324"/>
  8.     </PathPointArray>
  9.   </GeometryPathType>
  10. </PathGeometry>

IDMLのGeometryの詳細は「10.3 スプレッドとマスタースプレッド」を参照してください。

VariableType

StreamTypeデータ型または名前が「Contents」であるスクリプト用のオブジェクトモデルのプロパティは、XMLエレメントとして表されます。

Complex Structures

プロパティのスクリプト用のオブジェクトモデルデータ型が私たちが議論した構造より複雑であるなら、それはエレメントのリストとしてシリアライズされます。<Descriptor>エレメント(<Page>エレメント中)は1つ以上の任意のタイプのエレメントを含んでいる配列です。以下の例に示すように一連のプロパティのエレメントを含むエレメントとしてシリアライズします:

  1. <Descriptor type="list">
  2.   <ListItem type="string"></ListItem>
  3.   <ListItem type="enumeration">Arabic</ListItem>
  4.   <ListItem type="boolean">true</ListItem>
  5.   <ListItem type="boolean">false</ListItem>
  6.   <ListItem type="long">1</ListItem>
  7.   <ListItem type="string"></ListItem>
  8. </Descriptor>

一般に、<ListItem>エレメントのようにシリアライズされた特性は、InCopyとのやりとりに使用され、読み出し専用と見なすことができます。あなたがこれらのエレメントを構築する必要はおそらくないでしょう。

Personal tools