<!-- $XConsortium: ch11.sgm /main/2 1996/12/17 06:28:12 cde-hit $ -->
<!-- (c) Copyright 1995 Digital Equipment Corporation. -->
<!-- (c) Copyright 1995 Hewlett-Packard Company. -->
<!-- (c) Copyright 1995 International Business Machines Corp. -->
<!-- (c) Copyright 1995 Sun Microsystems, Inc. -->
<!-- (c) Copyright 1995 Novell, Inc. -->
<!-- (c) Copyright 1995 FUJITSU LIMITED. -->
<!-- (c) Copyright 1995 Hitachi. -->
<Chapter Id="SAG.CrDT.div.1">
<Title Id="SAG.CrDT.mkr.1">手動によるデータ型の作成</Title>
<Para>
データ型定義は次の２つの方法で作成されます。
<IndexTerm><Primary>ファイル型、「データ型&lt;$nopage>」を参照してください</Primary></IndexTerm><IndexTerm><Primary>データ型</Primary><Secondary>手動による作成</Secondary></IndexTerm>
</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>
アクション作成ツールを使用する。アクション作成ツールの使用方法については、
<!--Original XRef content: 'Chapter&numsp;9, &xd2;Creating Actions and Data Types Using Create Action'--><XRef Role="ChapNumAndTitle" Linkend="SAG.dtCrA.mkr.1"> を参照してください。
</Para>
</ListItem>
<ListItem>
<Para>
手動でデータ型定義を作成する。
</Para>
</ListItem>
</ItemizedList>
<Para>
手動でデータ型を作成するには、データベース・ファイルを編集しなければなりません。
</Para>
<Para>
この章では、手動によるデータ型定義の作成方法について説明します。
</Para>
<InformalTable Id="SAG.CrDT.itbl.1" Frame="All">
<TGroup Cols="1">
<ColSpec Colname="1" Colwidth="4.0 in">
<TBody>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Reasons You Must Create a Data Type Manually186'--><XRef Role="JumpText" Linkend="SAG.CrDT.div.3"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Components of a Data Type Definition: Criteria and Attributes186'--><XRef Role="JumpText" Linkend="SAG.CrDT.div.4"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Creating a Data Type Manually: General Steps187'--><XRef Role="JumpText" Linkend="SAG.CrDT.div.5"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Example of Creating a Personal Action and Data Type189'--><XRef Role="JumpText" Linkend="SAG.CrDT.div.8"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Defining the Data Criteria for a Data Type193'--><XRef Role="JumpText" Linkend="SAG.CrDT.div.14"></Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
<Sect1 Id="SAG.CrDT.div.2">
<Title>関連項目</Title>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>
データ型の概要については、
<!--Original XRef content: 'Chapter&numsp;8, &xd2;Introduction to Actions and Data Types'--><XRef Role="ChapNumAndTitle" Linkend="SAG.IntAc.mkr.1"> を参照してください。
</Para>
</ListItem>
<ListItem>
<Para>
データ型定義のリファレンス情報については、
<Filename>dtdtsfile(4)</Filename> のマニュアル・ページを参照してください。
</Para>
</ListItem>
</ItemizedList>
</Sect1>
<Sect1 Id="SAG.CrDT.div.3">
<Title Id="SAG.CrDT.mkr.2">手動でデータ型を作成しなければならない理由</Title>
<Para>
データ型を手動で作成すると、データ型定義の構文に構築されたすべての機能を使用することができます。
</Para>
<Para>
<IndexTerm><Primary>データ型</Primary><Secondary>手動による作成の要件</Secondary></IndexTerm>
次のデータ型の機能を使用する場合は、データ型を手動で作成する必要があります。
</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>位置（パス）ベースのデータ型作成</Para>
</ListItem>
<ListItem>
<Para>[開く]および[印刷]以外のデータ型に関連するアクションを指定する機能</Para>
</ListItem>
<ListItem>
<Para>同じデータ型に対する複数の名前、パターン、内容の基準 &mdash; たとえば、<Filename>*.abc</Filename> または <Filename>*.def</Filename> という名前のファイルに基づくデータ型など</Para>
</ListItem>
<ListItem>
<Para>リンクベースのデータ型</Para>
</ListItem>
</ItemizedList>
</Sect1>
<Sect1 Id="SAG.CrDT.div.4">
<Title Id="SAG.CrDT.mkr.3">データ型定義のコンポーネント: 基準と属性</Title>
<Para>
データ型定義は、次の２つの異なるデータベース定義で構成されます。
</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>
<IndexTerm><Primary>DATA_ATTRIBUTES</Primary><Secondary>定義</Secondary></IndexTerm><Filename>DATA_ATTRIBUTES</Filename> 定義</Para>
<Para>
<Filename>DATA_ATTRIBUTES</Filename> 定義は、データ型の名前およびこの型のファイルの外観と動作を説明します。
</Para>
</ListItem>
<ListItem>
<Para>
<Filename><IndexTerm><Primary>DATA_CRITERIA</Primary><Secondary>定義</Secondary></IndexTerm>DATA_CRITERIA</Filename> 定義</Para>
<Para>
<Filename>DATA_CRITERIA</Filename> 定義は型を作成するための基準を説明します。各基準定義は、基準を適用する <Filename>DATA_ATTRIBUTES</Filename> をもつことができます。
</Para>
</ListItem>
</ItemizedList>
<Para>
各 <Filename>DATA_ATTRIBUTES</Filename> 定義に対して、少くともひとつの 
<Filename><IndexTerm><Primary>DATA_CRITERIA</Primary><Secondary>DATA_ATTRIBUTES とともに指定する</Secondary></IndexTerm>DATA_CRITERIA</Filename> 定義がなければなりません。<Filename>DATA_ATTRIBUTES</Filename> 定義は、関連する複数の <Filename>DATA_CRITERIA</Filename> をもつことができます。
</Para>
<Para>
たとえば、ファイル・マネージャでの PostScript ファイルの外観と動作を説明する PostScript ファイルの属性定義を作成できます。次に、PostScript データ型の２つの異なる基準を作成できます。ひとつの基準はファイル名に基づき、もうひとつはファイル内容に基づきます。
</Para>
<Para>
詳細については、
<!--Original XRef content: '&xd2;Defining the Data Criteria for a Data Type&xd3; on page&numsp;193'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.CrDT.div.14"> を参照してください。
</Para>
</Sect1>
<Sect1 Id="SAG.CrDT.div.5">
<Title Id="SAG.CrDT.mkr.4">手動によるデータ型の作成: 一般的な手順</Title>
<Para>
この節では、データ型構成ファイルの作成方法を説明します。
</Para>
<Sect2 Id="SAG.CrDT.div.6">
<Title Id="SAG.CrDT.mkr.5">データ型の構成ファイル<IndexTerm><Primary>データ型</Primary><Secondary>構成ファイル</Secondary></IndexTerm><IndexTerm><Primary>構成ファイル</Primary><Secondary>データ型</Secondary></IndexTerm></Title>
<Para>
データ型定義を含む構成ファイルの要件は次のとおりです。
</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>
ファイルが <Symbol Role="Variable">name</Symbol><Filename>.dt</Filename> という命名規則を使用していること。
</Para>
</ListItem>
<ListItem>
<Para>
ファイルがデータベース検索パス上にあること。デフォルトの検索パスは次のとおりです。
</Para>
<InformalTable>
<TGroup Cols="2" colsep="0" rowsep="0">
<colspec colwidth="1.63in">
<colspec colwidth="3.84in">
<TBody>
<Row>
<Entry><Para>個人用データ型</Para></Entry>
<Entry><Para><Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/types</Filename></Para></Entry>
</Row>
<Row>
<Entry><Para>システム共通データ型</Para></Entry>
<Entry><Para><Filename>/etc/dt/appconfig/types/</Filename><Symbol Role="Variable">language</Symbol></Para></Entry>
</Row>
<Row>
<Entry><Para>組み込みデータ型</Para></Entry>
<Entry><Para><Filename>/usr/dt/appconfig/types/</Filename><Symbol Role="Variable">language</Symbol>
このディレクトリは使用しないでください。
</Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
</ListItem>
</ItemizedList>
<Para>
データベース検索パスの変更については、
<!--Original XRef content: '&xd2;Setting the Value of a Search Path&xd3; on page&numsp;115'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.Datab.mkr.6"> を参照してください。
</Para>
</Sect2>
<Sect2 Id="SAG.CrDT.div.7" Role="Procedure">
<Title Id="SAG.CrDT.mkr.6">データ型定義を作成するには<IndexTerm><Primary>データ型</Primary><Secondary>定義</Secondary></IndexTerm></Title>
<OrderedList>
<ListItem>
<Para>
既存のデータベース・ファイルを開くか、新しいファイルを作成します。
</Para>
<Para>
詳細については、前節の
<!--Original XRef content: '&xd2;Configuration Files for Data Types'--><XRef Role="SectionTitle" Linkend="SAG.CrDT.mkr.5"> を参照してください。
</Para>
</ListItem>
<ListItem>
<Para>
次の構文を使用して、データ型のデータ属性を定義します。
</Para>
<programlisting>DATA_ATTRIBUTES <Symbol Role="Variable">data_type_name</Symbol>
{
 ICON         <Symbol Role="Variable">image_name</Symbol>
 DESCRIPTION  <Symbol Role="Variable">string</Symbol>
              <Symbol Role="Variable">attribute_field</Symbol>
              <Symbol Role="Variable">attribute_field</Symbol>
  &hellip;
}
<IndexTerm><Primary>DATA_ATTRIBUTES</Primary><Secondary>構文</Secondary></IndexTerm>
</ProgramListing>
<Para>それぞれの意味は次のとおりです。</Para>
<InformalTable>
<TGroup Cols="2" colsep="0" rowsep="0">
<colspec colwidth="131*">
<colspec colwidth="397*">
<TBody>
<Row>
<Entry><Para><Emphasis>data_type_name</Emphasis></Para></Entry>
<Entry><Para>このデータ型に指定する固有の名前。</Para></Entry>
</Row>
<Row>
<Entry><Para><Symbol Role="Variable">image_name</Symbol></Para></Entry>
<Entry><Para>アイコン・ファイルのファイル名またはパス。ファイルのベース名を使用します。たとえば、<Command>myimage.m.pm</Command> および <Filename>myimage.t.pm</Filename> というアイコン・ファイルは、<Command>myimage</Command> を使用します。</Para></Entry>
</Row>
<Row>
<Entry><Para><Emphasis>attribute_field</Emphasis></Para></Entry>
<Entry><Para>データ型の外観と動作を定義するフィールド</Para></Entry>
</Row>
<Row>
<Entry><Para><Symbol Role="Variable">string</Symbol></Para></Entry>
<Entry><Para>文字列。内容はデータ型のアイテムヘルプです。</Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
<Para>
<!--Original XRef content: '&xd2;Example of Creating a Personal Action and Data Type&xd3; on page&numsp;189'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.CrDT.div.8"> を参照してください。
</Para>
</ListItem>
<ListItem>
<Para>
次の構文を使用して、データ型のデータ基準を定義します。
</Para>
<programlisting>DATA_CRITERIA <Symbol Role="Variable">criteria_name</Symbol>
{
 DATA_ATTRIBUTES_NAME  <Symbol Role="Variable">data_type_name</Symbol>
                       <Symbol Role="Variable">criteria_field</Symbol>
                       <Symbol Role="Variable">criteria_field</Symbol>
     &hellip;
}
<IndexTerm><Primary>DATA_CRITERIA</Primary><Secondary>構文</Secondary></IndexTerm>
</Programlisting>
<Para>それぞれの意味は次のとおりです。</Para>
<InformalTable>
<TGroup Cols="2" colsep="0" rowsep="0">
<TBody>
<Row>
<Entry><Para><Emphasis>criteria_name</Emphasis></Para></Entry>
<Entry><Para>この基準定義の固有の名前。</Para></Entry>
</Row>
<Row>
<Entry><Para><Emphasis>data_type_name</Emphasis></Para></Entry>
<Entry><Para><Filename>DATA_ATTRIBUTES</Filename> 定義で使用する名前</Para></Entry>
</Row>
<Row>
<Entry><Para><Emphasis>criteria_field</Emphasis></Para></Entry>
<Entry><Para>ファイルをこのデータ型に割り当てるための基準を定義するために使用するフィールド。</Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
<Para>
<!--Original XRef content: '&xd2;Defining the Data Criteria for a Data Type&xd3; on page&numsp;193'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.CrDT.div.14"> を参照してください。
</Para>
</ListItem>
<ListItem>
<Para>
データベース・ファイルを保存します。
</Para>
</ListItem>
<ListItem>
<Para>
データ型のアイコンを作成します。
</Para>
<Para>
詳細については、
<!--Original XRef content: '&xd2;Specifying the Icon Image Used for a Data Type&xd3; on page&numsp;190'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.CrDT.div.10"> を参照してください。
</Para>
</ListItem>
<ListItem>
<Para>
必要に応じて、属性定義の <Command>ACTIONS</Command> フィールドにリストされたアクションを作成します。
</Para>
</ListItem>
<ListItem>
<Para>
[デスクトップツール]アプリケーション・グループの[アクションの再読込み]をダブルクリックし、データベースの再読み込みを行います。
</Para>
</ListItem>
</OrderedList>
</Sect2>
<Sect2 Id="SAG.CrDT.div.8">
<Title Id="SAG.CrDT.mkr.7"><?X-setsize 13.0 pt>個人用アクションとデータ型の作成例<IndexTerm><Primary>データ型</Primary><Secondary>例</Secondary></IndexTerm><IndexTerm><Primary>個人用データ型とアクション、作成</Primary></IndexTerm></Title>
<Para>
GIF 画像を表示する <Command>xgif</Command> というアプリケーションがシステムに含まれているとします。通常は、次のように入力してプログラムを実行します。
</Para>
<ProgramListing>xgif <Symbol Role="Variable">filename</Symbol></ProgramListing>
<Para>
GIF 画像は、次の２つの方法で表示するものとします。
</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>
GIF データ・ファイルをダブルクリックする
</Para>
</ListItem>
<ListItem>
<Para>
データ・ファイルを選択し、[選択]メニューからアプリケーションを選択する
</Para>
<OrderedList>
<ListItem>
<Para>
編集のため、新規ファイル <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/types/GifViewer.dt</Filename> を開きます。
</Para>
</ListItem>
<ListItem>
<Para>
データ型定義を入力します。
</Para>
<programlisting>DATA_ATTRIBUTES Gif
{
 DESCRIPTION  Gif image file.
 ICON         GifIcon
 ACTIONS      View
}
DATA_CRITERIA Gif_Criteria
{
 DATA_ATTRIBUTES_NAME  Gif
 NAME_PATTERN          *.gif
}
</Programlisting>
</ListItem>
<ListItem>
<Para>
GifViewer アクションのアクション定義を入力します。</Para>
<programlisting>ACTION GifViewer
{
 EXEC_STRING     xgif &percnt;(File)Arg_1&ldquo;Gif file to view:&rdquo;
 WINDOW_TYPE     NO_STDIO
 DESCRIPTION     Double-click or drop a file to \
                 start the Gif viewer.
}
</Programlisting>
<Para>
定義に <Command>ICON</Command> フィールドは含まれないので、アクションはシステムのデフォルト・アイコンを使用します。
</Para>
</ListItem>
<ListItem>
<Para>
次のマップ・アクションを入力し、GifViewer アクションを、データ型定義にリストされた View アクションに接続します。この表示アクションを Gif 型ファイルに制限するには <Filename>ARG_TYPE</Filename> フィールドを使用します。
</Para>
<programlisting>ACTION View
{
 ARG_TYPE    Gif
 TYPE        MAP
 MAP_ACTION  GifViewer
}
</Programlisting>
</ListItem>
<ListItem>
<Para>
ファイルを保存します。
</Para>
</ListItem>
<ListItem>
<Para>
[デスクトップツール]アプリケーション・グループの[アクションの再読込み]をダブルクリックし、データベースの再読み込みを行います。
</Para>
</ListItem>
</OrderedList>
</ListItem>
</ItemizedList>
</Sect2>
</Sect1>
<Sect1 Id="SAG.CrDT.div.9">
<Title>データ型のデータ属性の定義<IndexTerm><Primary>DATA_ATTRIBUTES</Primary><Secondary>定義</Secondary></IndexTerm><IndexTerm><Primary>データ型</Primary><Secondary>属性</Secondary></IndexTerm></Title>
<Para>
<Filename>DATA_ATTRIBUTES</Filename> 定義は、データ型の外観と動作を定義します。データ型の名前を指定し、次の内容を指定する機能を提供します。
</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>ファイル・マネージャ・アイコン (<Command>ICON</Command> フィールド)</Para>
</ListItem>
<ListItem>
<Para>[選択]メニューのダブルクリック動作と内容 (<Command>ACTIONS</Command> フィールド)</Para>
</ListItem>
<ListItem>
<Para>データ型のアイテムヘルプ (<Command>DESCRIPTION<IndexTerm><Primary>DESCRIPTION フィールド</Primary></IndexTerm><IndexTerm><Primary>データ型</Primary><Secondary>〜についてのヘルプ</Secondary></IndexTerm><IndexTerm><Primary>ヘルプ</Primary><Secondary>データ型についての〜</Secondary></IndexTerm></Command> フィールド)</Para>
</ListItem>
</ItemizedList>
<Sect2 Id="SAG.CrDT.div.10">
<Title Id="SAG.CrDT.mkr.8">データ型に使用するアイコン・イメージの指定<IndexTerm><Primary>アイコン</Primary><Secondary>データ型</Secondary></IndexTerm><IndexTerm><Primary>データ型</Primary><Secondary>〜のアイコン</Secondary></IndexTerm></Title>
<Para>
<Command><IndexTerm><Primary>ICON フィールド</Primary><Secondary>データ型の</Secondary></IndexTerm>ICON</Command> フィールドを使用して、ファイル・マネージャで使用するアイコンを指定します。アイコン・イメージを指定しないと、ファイル・マネージャはラベルだけを表示します。
</Para>
<Para>
<Command><IndexTerm><Primary>ICON フィールド</Primary><Secondary>有効な値</Secondary></IndexTerm>ICON</Command> フィールドの値は次のいずれかです。</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>
<IndexTerm><Primary>ベース・ファイル名</Primary></IndexTerm><IndexTerm><Primary>アイコン</Primary><Secondary>ベース・ファイル名</Secondary></IndexTerm>
ベース・ファイル名</Para>
<Para>
ベース・ファイル名は、ファイル名からサイズに関する接尾辞拡張子 (<Command>l</Command>、<Command>m</Command>、および <Command>t</Command>) およびイメージ型に関する接尾辞拡張子 (<Command>bm</Command> および <Command>pm</Command>) を取ったアイコン・イメージのファイルの名前です。たとえば、<Filename>GameIcon.m.pm</Filename> および <Filename>GameIcon.t.pm</Filename> という名前のファイルは、<Command>GameIcon</Command> というベース・ファイル名を使用します。
</Para>
<Para>
ベース・ファイル名を使用する場合、アイコン・ファイルは次のアイコン検索パスのディレクトリに必ず指定してください。
</Para>
<ItemizedList Remap="Bullet2">
<ListItem>
<Para>個人用アイコン: <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/icons</Filename></Para>
</ListItem>
<ListItem>
<Para>システム共通アイコン: <Filename>/etc/dt/appconfig/icons/</Filename><Symbol Role="Variable">language</Symbol></Para>
</ListItem>
</ItemizedList>
</ListItem>
<ListItem>
<Para>
完全ファイル名を含むアイコン・ファイルの絶対パス
</Para>
<Para>
アイコン・ファイルがアイコン検索パスにない場合のみ絶対パスを使用してください。たとえば、アイコン・ファイル <Filename>GameIcon.m.pm</Filename> がアイコン検索パス上にないディレクトリ <Filename>/doc/projects</Filename> にある場合、<Command>ICON</Command> フィールドの値は <Filename>/doc/projects/GameIcon.m.pm</Filename> となります。
</Para>
</ListItem>
</ItemizedList>
<Para>[
<!--Original XRef content: 'Table&numsp;11&hyphen;1'--><XRef Role="CodeOrFigureOrTable" Linkend="SAG.CrDT.tbl.1"> は、作成するアイコンのサイズと、対応するファイル名のリストです。
</Para>
<Table Id="SAG.CrDT.tbl.1" Frame="Topbot">
<Title Id="SAG.CrDT.mkr.9">データ型アイコンのアイコン名とサイズ</Title>
<TGroup Cols="3">
<ColSpec Colname="1" Colwidth="1.0 in">
<ColSpec Colname="2" Colwidth="1.25 in">
<ColSpec Colname="3" Colwidth="1.25 in">
<THead>
<Row>
<Entry><Para><Literal>サイズ（ピクセル単位）</Literal></Para></Entry>
<Entry><Para><Literal>ビットマップ名</Literal></Para></Entry>
<Entry><Para><Literal>ピックスマップ名</Literal></Para></Entry>
</Row>
</THead>
<TBody>
<Row>
<Entry><Para>48 × 48</Para></Entry>
<Entry><Para><Symbol Role="Variable">name</Symbol><Filename>.l.bm</Filename></Para></Entry>
<Entry><Para><Symbol Role="Variable">name</Symbol><Filename>.l.pm</Filename></Para></Entry>
</Row>
<Row>
<Entry><Para>32 × 32</Para></Entry>
<Entry><Para><Symbol Role="Variable">name</Symbol><Filename>.m.bm</Filename></Para></Entry>
<Entry><Para><Symbol Role="Variable">name</Symbol><Filename>.m.pm</Filename></Para></Entry>
</Row>
<Row>
<Entry><Para>16 × 16</Para></Entry>
<Entry><Para><Symbol Role="Variable">name</Symbol><Filename>.t.bm</Filename></Para></Entry>
<Entry><Para><Symbol Role="Variable">name</Symbol><Filename>.t.pm</Filename></Para></Entry>
</Row>
</TBody>
</TGroup>
</Table>
</Sect2>
<Sect2 Id="SAG.CrDT.div.11">
<Title Id="SAG.CrDT.mkr.10">データ型とアクションの関連付け<IndexTerm><Primary>データ型</Primary><Secondary>アクションとの関連付け</Secondary></IndexTerm><IndexTerm><Primary>アクション</Primary><Secondary>データ型との関連付け</Secondary></IndexTerm><IndexTerm><Primary>データ型</Primary><Secondary>アクションとの関連付け</Secondary></IndexTerm></Title>
<Para>
データ型をアクションに関連付けるには、次の２つの方法があります。
</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>
<Filename>DATA_ATTRIBUTES</Filename> 定義の <Command><IndexTerm><Primary>ACTIONS フィールド</Primary></IndexTerm>ACTIONS</Command> フィールドは、ファイル・マネージャの[選択]メニューに表示されるアクションをリストします。リストの最初のアクションは、デフォルト（ダブルクリック）アクションです。
</Para>
</ListItem>
<ListItem>
<Para>
アクション定義の <Filename><IndexTerm><Primary>ARG_TYPE フィールド</Primary></IndexTerm>ARG_TYPE</Filename> フィールドを使用して、指定したデータ型にアクションを制限できます。
</Para>
</ListItem>
</ItemizedList>
<Para>
たとえば、次のデータ型定義は、<Filename>*.rm</Filename> という命名規則を使用してシステム管理者が作成した特殊な &ldquo;readme&rdquo; ファイルのデータ型を作成します。
</Para>
<programlisting>DATA_ATTRIBUTES SysReadmeFile
{
 ICON     SysReadMe
 ACTIONS  Open,Respond
}
DATA_CRITERIA SysReadmeFileCriteria
{
 NAME_PATTERN           *.rm
 DATA_ATTRIBUTES_NAME   SysReadmeFile
}
</ProgramListing>
<Para>
特別な Respond アクションは、ファイルに対して下記のように定義されます。このアクションは、テキスト・エディタで書き込み可能なファイルのコピーを開きます。ファイルを保存してテキスト・エディタを終了すると、ファイルはシステム管理者にメール送信されます（メール・アドレスは <Filename>sysadmin@utd</Filename> です）。
</Para>
<programlisting>ACTION Respond
{
 ARG_TYPE     SysReadmeFile
 EXEC_STRING  /bin/sh -c 'cp &percnt;Arg_1&percnt; $HOME/readme.temp;\
              chmod +w $HOME/readme.temp;              \
              dtpad $HOME/readme.temp;                 \
              cat $HOME/readme.temp |                  \
              /usr/bin/mailx sysadmin@utd;             \
              rm $HOME/readme.temp'
 WINDOW_TYPE  NO_STDIO
}
</ProgramListing>
</Sect2>
<Sect2 Id="SAG.CrDT.div.12">
<Title>データ型に基づいてファイルを隠す<IndexTerm><Primary>ファイル</Primary><Secondary>データ型に基づいて隠す</Secondary></IndexTerm><IndexTerm><Primary>データ型</Primary><Secondary>隠された</Secondary></IndexTerm><IndexTerm><Primary>データ型によってファイルを隠す</Primary></IndexTerm></Title>
<Para>
ファイルが非表示のデータ型の場合、ファイル・マネージャでは表示されません。
</Para>
<Para>
<Filename>DATA_ATTRIBUTES</Filename> 定義の <Command>PROPERTIES</Command> フィールドを使用して、この型のオブジェクトを隠すよう指定します。
</Para>
<ProgramListing>PROPERTIES  invisible</ProgramListing>
</Sect2>
<Sect2 Id="SAG.CrDT.div.13">
<Title>ファイルを処理するときの動作の指定</Title>
<Para>
次の <Filename>DATA_ATTRIBUTES</Filename> フィールドは、おもにアプリケーション・プログラマが使用します。ユーザがさまざまなデスクトップ・アクティビティを実行したときのファイルの動作を指定します。
</Para>
<Para>
詳細については、開発者環境のマニュアルである <Emphasis>共通デスクトップ環境 プログラマーズ・ガイド</Emphasis> を参照してください。
</Para>
<InformalTable>
<TGroup Cols="2" colsep="0" rowsep="0">
<colspec colwidth="1.65in">
<colspec colwidth="4.08in">
<THead>
<Row>
<Entry><Para>フィールド</Para></Entry>
<Entry><Para>説明</Para></Entry>
</Row>
</THead>
<TBody>
<Row>
<Entry><Para><Filename>MOVE_TO_ACTION</Filename><IndexTerm><Primary>MOVE_TO_ACTION フィールド</Primary></IndexTerm>
</Para></Entry>
<Entry><Para>
ディレクトリなどのコンテナに対して使用します。ファイルをこのデータ型のコンテナに移動したときに実行するアクションを指定します。
</Para></Entry>
</Row>
<Row>
<Entry><Para><Filename>COPY_TO_ACTION</Filename><IndexTerm><Primary>COPY_TO_ACTION フィールド</Primary></IndexTerm>
</Para></Entry>
<Entry><Para>
ディレクトリなどのコンテナに対して使用します。ファイルをこのデータ型のコンテナにコピーしたときに実行するアクションを指定します。
</Para></Entry>
</Row>
<Row>
<Entry><Para><Filename>LINK_TO_ACTION</Filename><IndexTerm><Primary>LINK_TO_ACTION フィールド</Primary></IndexTerm>
</Para></Entry>
<Entry><Para>
ファイルをこのデータ型のファイルにリンクしたときに実行するアクションを指定します。
</Para></Entry>
</Row>
<Row>
<Entry><Para><Filename>IS_TEXT</Filename><IndexTerm><Primary>IS_TEXT フィールド</Primary></IndexTerm>
</Para></Entry>
<Entry><Para>
このデータ型のファイルが、テキスト・ボックスに表示できるテキストを含むよう指定します。
</Para></Entry>
</Row>
<Row>
<Entry><Para><Command>MEDIA</Command><IndexTerm><Primary>MEDIA フィールド</Primary></IndexTerm>
</Para></Entry>
<Entry><Para>
対応する ToolTalk メディア型を指定します。
</Para></Entry>
</Row>
<Row>
<Entry><Para><Filename>MIME_TYPE</Filename><IndexTerm><Primary>MIME_TYPE_MEDIA フィールド</Primary></IndexTerm>
</Para></Entry>
<Entry><Para>
対応する MIME 型を指定します。
</Para></Entry>
</Row>
<Row>
<Entry><Para><Filename>X400_TYPE</Filename><IndexTerm><Primary>X400_TYPE フィールド</Primary></IndexTerm>
</Para></Entry>
<Entry><Para>
対応する X400 型を指定します。
</Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
</Sect2>
</Sect1>
<Sect1 Id="SAG.CrDT.div.14">
<Title Id="SAG.CrDT.mkr.11">データ型のデータ基準の定義<IndexTerm><Primary>データ型</Primary><Secondary>基準</Secondary></IndexTerm><IndexTerm><Primary>データ型</Primary><Secondary>差分</Secondary></IndexTerm><IndexTerm><Primary>データ型</Primary><Secondary>分類基準</Secondary></IndexTerm><IndexTerm><Primary>2</Primary></IndexTerm></Title>
<Para>
<Filename><IndexTerm><Primary>DATA_CRITERIA</Primary><Secondary>定義</Secondary></IndexTerm>DATA_CRITERIA</Filename> 定義は、オブジェクト型をファイルまたはディレクトリに割り当てるのに使用する基準を定義します。
</Para>
<Para>
使用できるオブジェクト型の基準は次のとおりです。
</Para>
<InformalTable>
<TGroup Cols="2" colsep="0" rowsep="0">
<colspec colwidth="99*">
<colspec colwidth="429*">
<THead>
<Row>
<Entry><Para>基準</Para></Entry>
<Entry><Para>説明</Para></Entry>
</Row>
</THead>
<TBody>
<Row>
<Entry><Para>ファイル名</Para></Entry>
<Entry><Para>
ファイル名は指定したパターンに一致しなければなりません。<Filename>NAME_PATTERN</Filename> フィールドを使用します。
<IndexTerm><Primary>NAME_PATTERN フィールド</Primary></IndexTerm>
</Para></Entry>
</Row>
<Row>
<Entry><Para>ファイル位置</Para></Entry>
<Entry><Para>
パスは指定したパターンと一致しなければなりません。<Filename>PATH_PATTERN</Filename> フィールドを使用します。
<IndexTerm><Primary>PATH_PATTERN フィールド</Primary></IndexTerm>
</Para></Entry>
</Row>
<Row>
<Entry><Para>ファイル内容</Para></Entry>
<Entry><Para>
ファイル内容の指定した部分が指定したデータに一致しなければなりません。<Command>CONTENT</Command> フィールドを使用します。
<IndexTerm><Primary>CONTENT フィールド</Primary></IndexTerm>
</Para></Entry>
</Row>
<Row>
<Entry><Para>ファイル・モード</Para></Entry>
<Entry><Para>
ファイルは指定したアクセス権（読み取り、書き込み、実行、ディレクトリ）を所有しなければなりません。<Command>MODE</Command> フィールドを使用します。
<IndexTerm><Primary>MODE フィールド</Primary></IndexTerm>
</Para></Entry>
</Row>
<Row>
<Entry><Para>シンボリック・リンク<IndexTerm><Primary>シンボリック・リンク</Primary><Secondary>データ型の基準</Secondary></IndexTerm>
</Para></Entry>
<Entry><Para>
リンク名はオブジェクトがリンクするファイルに基づきます。
</Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
<Para>
ひとつのデータ型に２つ以上の基準を使用することができます。ただし、<Filename>NAME_PATTERN</Filename> と <Filename>PATH_PATTERN</Filename> を同じデータ型で使用してはいけません。
</Para>
<Sect2 Id="SAG.CrDT.div.15">
<Title>名前に基づいたデータ型<IndexTerm><Primary>データ型</Primary><Secondary>名前に基づいた</Secondary></IndexTerm><IndexTerm><Primary>名前に基づいたデータ型</Primary></IndexTerm></Title>
<Para>
<Filename>NAME_PATTERN</Filename> フィールドを使用して、命名要件を指定します。フィールド値には、次のワイルドカードを指定できます。
</Para>
<InformalTable>
<TGroup Cols="2" colsep="0" rowsep="0">
<colspec colwidth="64*">
<colspec colwidth="464*">
<TBody>
<Row>
<Entry><Para><Filename>?</Filename><IndexTerm><Primary>? ワイルドカード文字</Primary></IndexTerm>
</Para></Entry>
<Entry><Para>任意の１文字に一致します</Para></Entry>
</Row>
<Row>
<Entry><Para><Filename>*</Filename><IndexTerm><Primary>* ワイルドカード文字</Primary></IndexTerm><IndexTerm><Primary>データ型のワイルドカード文字</Primary></IndexTerm>
</Para></Entry>
<Entry><Para>任意の文字列（空文字列を含む）に一致します</Para></Entry>
</Row>
<Row>
<Entry><Para><Filename>[</Filename><Symbol Role="Variable">cc</Symbol>&hellip;<Filename>]</Filename></Para></Entry>
<Entry><Para>角括弧で囲まれた任意の文字 (<Symbol Role="Variable">c</Symbol>) に一致します</Para></Entry>
</Row>
<Row>
<Entry><Para><Filename>[</Filename><Symbol Role="Variable">c</Symbol>&minus;<Symbol Role="Variable">c</Symbol><Filename>]</Filename></Para></Entry>
<Entry><Para><Symbol Role="Variable">c</Symbol> から <Symbol Role="Variable">c</Symbol> までの範囲の任意の文字に一致します</Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
<Sect3 Id="SAG.CrDT.div.16">
<Title>例</Title>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>
次のデータ型定義は、ファイル名に基づいたデータ型を作成します。ファイル名は、必ず <Command>QS</Command> で始まり、<Filename>.doc</Filename> で終わるようにしてください。
</Para>
<programlisting>DATA_ATTRIBUTES QS_Doc
{
 DESCRIPTION  This file contains a document for the QS project.
 ICON         Word_Doc
 ACTIONS      Open
}

DATA_CRITERIA QS_Doc_Criteria
{
 NAME_PATTERN          QS*.doc
 DATA_ATTRIBUTES_NAME  QS_Doc
}
</Programlisting>
</ListItem>
<ListItem>
<Para>
次の定義は、<Filename>Demo_</Filename><Symbol Role="Variable">n</Symbol> (<Symbol Role="Variable">n</Symbol> は 0 から 9) という名前のディレクトリのデータ型を作成します。
</Para>
<programlisting>DATA_ATTRIBUTES Demo_directory
{
 DESCRIPTION  This is a directory. Double-click to open it.
 ICON         Demo
 ACTIONS      OpenInPlace,OpenNewView
}

DATA_CRITERIA Demo_directory_criteria
{
 NAME_PATTERN          Demo_[0-9]
 MODE                  d
 DATA_ATTRIBUTES_NAME  Demo_directory
}
</Programlisting>
</ListItem>
</ItemizedList>
</Sect3>
</Sect2>
<Sect2 Id="SAG.CrDT.div.17">
<Title>位置に基づいたデータ型<IndexTerm><Primary>データ型</Primary><Secondary>パスに基づいた</Secondary></IndexTerm><IndexTerm><Primary>データ型</Primary><Secondary>位置に基づいた</Secondary></IndexTerm><IndexTerm><Primary>位置に基づいたデータ型</Primary></IndexTerm><IndexTerm><Primary>パスに基づいたデータ型</Primary></IndexTerm></Title>
<Para>
<Filename><IndexTerm><Primary>PATH_PATTERN フィールド</Primary><Secondary>構文</Secondary></IndexTerm>PATH_PATTERN</Filename> フィールドを使用してパスを指定します。<Filename>NAME_PATTERN</Filename> と同じワイルドカードを使用できます。
</Para>
<Para>
たとえば、次のデータ型はパスに基づいた基準を使用します。
</Para>
<programlisting>DATA_ATTRIBUTES Project_Graphics
{
 DESCRIPTION   Graphics file for the QS project. Double-click the \
               icon to see the graphic.
 ICON          QSgraphics
}
DATA_CRITERIA Project_Graphics_Criteria
{
 DATA_ATTRIBUTES_NAME  Project_Graphics
 PATH_PATTERN          */projects/QS/graphics/*
}
</ProgramListing>
</Sect2>
<Sect2 Id="SAG.CrDT.div.18">
<Title>名前と位置に基づいたデータ型</Title>
<Para>
ファイル名と位置の両方に基づいたデータ型を作成するには、<Filename>PATH_PATTERN</Filename> の値に名前を取り込みます。<Filename>NAME_PATTERN</Filename> と <Filename>PATH_PATTERN</Filename> の両方を同じ基準定義で使用することはできません。
</Para>
<Sect3 Id="SAG.CrDT.div.19">
<Title>例</Title>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>
次に定義する QS_Source_Files データ型は、<Filename>*/projects/QS</Filename> というサブディレクトリにある <Command>app</Command><Symbol Role="Variable">n</Symbol><Filename>.c</Filename> (<Symbol Role="Variable">n</Symbol> は 1 から 9) という名前のすべてのファイルに適用されます。
</Para>
<programlisting>DATA_ATTRIBUTES QS_Source_Files
{
   &hellip;
}
DATA_CRITERIA QS_Source_Files_Criteria
{
 PATH_PATTERN      */projects/QS/*/app[1-9].c
 DATA_ATTRIBUTES_NAME      QS_Source_Files
}
</Programlisting>
</ListItem>
<ListItem>
<Para>
次のデータ型は、<Filename>/doc/project1</Filename> ディレクトリの <Command>ch</Command><Symbol Role="Variable">nn</Symbol><Filename>.</Filename><Symbol Role="Variable">xxx</Symbol> (<Symbol Role="Variable">n</Symbol> は 0 から 9、<Symbol Role="Variable">xxx</Symbol> は任意の３文字のファイル名の拡張子) という名前のすべてのファイルに適用されます。
</Para>
<programlisting>DATA_ATTRIBUTES ChapterFiles
{
 DESCRIPTION  Chapter file for the project document.
 ICON         chapter
 ACTIONS      Edit,Print
}

DATA_CRITERIA Chapter_Criteria
{
 PATH_PATTERN          /doc/project1/ch[0-9][0-9].???
 DATA_ATTRIBUTES_NAME  ChapterFiles
}
</Programlisting>
</ListItem>
</ItemizedList>
</Sect3>
</Sect2>
<Sect2 Id="SAG.CrDT.div.20">
<Title Id="SAG.CrDT.mkr.12">データ型作成基準としてのファイル・モードの使用<IndexTerm><Primary>データ型</Primary><Secondary>モード基準</Secondary></IndexTerm></Title>
<Para>
<Command><IndexTerm><Primary>MODE フィールド</Primary><Secondary>構文</Secondary></IndexTerm>MODE</Command> フィールドを使用して、必須アクセス権を指定します。
</Para>
<Para>
通常、モード基準は名前、位置、内容に基づいたデータ型作成の組み合わせで使用します。これらの基準によって、データ型をファイルまたはディレクトリに制限したり、必須の読み取り、書き込み、実行権を指定することができます。
</Para>
<Para>
<Command>MODE</Command> フィールドには、次の論理演算子および文字を指定できます。
</Para>
<InformalTable>
<TGroup Cols="2" colsep="0" rowsep="0">
<colspec colwidth="80*">
<colspec colwidth="448*">
<THead>
<Row>
<Entry><Para>演算子</Para></Entry>
<Entry><Para>説明</Para></Entry>
</Row>
</THead>
<TBody>
<Row>
<Entry><Para><Filename>!</Filename></Para></Entry>
<Entry><Para>論理演算子 NOT<IndexTerm><Primary>MODE フィールドの NOT 演算子</Primary></IndexTerm>
</Para></Entry>
</Row>
<Row>
<Entry><Para><Filename>&amp;</Filename></Para></Entry>
<Entry><Para>論理演算子 AND<IndexTerm><Primary>MODE フィールドの AND 演算子</Primary></IndexTerm>
</Para></Entry>
</Row>
<Row>
<Entry><Para>|</Para></Entry>
<Entry><Para>論理演算子 OR<IndexTerm><Primary>MODE フィールドの OR 演算子</Primary></IndexTerm>
</Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
<InformalTable>
<TGroup Cols="2" colsep="0" rowsep="0">
<colspec colwidth="84*">
<colspec colwidth="444*">
<THead>
<Row>
<Entry><Para>文字</Para></Entry>
<Entry><Para>説明</Para></Entry>
</Row>
</THead>
<TBody>
<Row>
<Entry><Para><Command>f</Command><IndexTerm><Primary>ファイル、データ型基準</Primary></IndexTerm>
</Para></Entry>
<Entry><Para>ファイルだけに適用されるデータ型</Para></Entry>
</Row>
<Row>
<Entry><Para><Command>d</Command><IndexTerm><Primary>ディレクトリ</Primary><Secondary>データ型基準</Secondary></IndexTerm>
</Para></Entry>
<Entry><Para>ディレクトリだけに適用されるデータ型</Para></Entry>
</Row>
<Row>
<Entry><Para><Command>r</Command></Para></Entry>
<Entry><Para>任意のユーザが読み取れるファイル</Para></Entry>
</Row>
<Row>
<Entry><Para><Command>w</Command><IndexTerm><Primary>読み込み専用のデータ型基準</Primary></IndexTerm><IndexTerm><Primary>データ型</Primary><Secondary>読み込み専用</Secondary></IndexTerm>
</Para></Entry>
<Entry><Para>任意のユーザが書き込めるファイル</Para></Entry>
</Row>
<Row>
<Entry><Para><Command>x</Command><IndexTerm><Primary>データ型</Primary><Secondary>実行可能ファイル</Secondary></IndexTerm><IndexTerm><Primary>実行可能ファイル、データ型基準</Primary></IndexTerm>
</Para></Entry>
<Entry><Para>任意のユーザが実行できるファイル</Para></Entry>
</Row>
<Row>
<Entry><Para><Command>l</Command><IndexTerm><Primary>リンク、データ型基準</Primary></IndexTerm>
</Para></Entry>
<Entry><Para>リンクであるファイル</Para></Entry>
</Row>
<Row>
<Entry><Para><Command>u</Command>
</Para></Entry>
<Entry><Para>set-uid であるファイル</Para></Entry>
</Row>
<Row>
<Entry><Para><Command>g</Command>
</Para></Entry>
<Entry><Para>set-gid であるファイル</Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
<Para>
特定モードのデフォルトは、モードには関係ありません。
</Para>
<Sect3 Id="SAG.CrDT.div.21">
<Title>例</Title>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>
次のモード・フィールドは、データ型を制限します。
</Para>
<InformalTable>
<TGroup Cols="2" colsep="0" rowsep="0">
<colspec colwidth="63*">
<colspec colwidth="465*">
<TBody>
<Row>
<Entry><Para><Filename>f&amp;!w</Filename></Para></Entry>
<Entry><Para>読み専用ファイル</Para></Entry>
</Row>
<Row>
<Entry><Para><Filename>!w</Filename></Para></Entry>
<Entry><Para>読み専用ファイルおよび読み専用ディレクトリ</Para></Entry>
</Row>
<Row>
<Entry><Para><ComputerOutput>f&amp;x</ComputerOutput></Para></Entry>
<Entry><Para>実行可能ファイル</Para></Entry>
</Row>
<Row>
<Entry><Para><Filename>f&amp;w&amp;x</Filename></Para></Entry>
<Entry><Para>書き込み可能および実行可能ファイル</Para></Entry>
</Row>
<Row>
<Entry><Para>x|!w</Para></Entry>
<Entry><Para>実行可能ファイルまたは読み専用ファイル</Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
</ListItem>
<ListItem>
<Para>
次のデータ型定義は、読み専用で実行可能でないファイルのデータ型を作成します。ファイル名は、<Filename>*.doc</Filename> という命名規則にしたがっています。View アクションはデータ型に対して定義されているものとします。
</Para>
<programlisting>DATA_ATTRIBUTES ReadOnlyDocument
{
 ICON         read_only
 DESCRIPTION  This document is not writable. Double-clicking  \
              runs your editor with a read-only copy of the   \
              file.
 ACTIONS      View
}

DATA_CRITERIA ReadOnlyDocument_Criteria
{
 NAME_PATTERN          *.doc
 MODE                  !d&amp;!x&amp;!w
 DATA_ATTRIBUTES_NAME  ReadOnlyDocument
}
</Programlisting>
</ListItem>
</ItemizedList>
</Sect3>
</Sect2>
<Sect2 Id="SAG.CrDT.div.22">
<Title>内容に基づいたデータ型<IndexTerm><Primary>データ型</Primary><Secondary>内容に基づいた</Secondary></IndexTerm><IndexTerm><Primary>内容に基づいたデータ型</Primary></IndexTerm></Title>
<Para>
<Command><IndexTerm><Primary>CONTENT フィールド</Primary></IndexTerm>CONTENT</Command> フィールドを使用して、ファイル内容に基づいたデータ型を作成します。内容に基づいたデータ型の作成には、名前または位置に基づいたデータ型を組み合わせて使用できます。
</Para>
<Para>
データ型の作成は、ファイルの文字または数字内容に基づいて行われます。ファイルの最初のバイトの番号は 0 です。
</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>
ファイルの文字内容には、次の構文を使用します。
</Para>
<programlisting>CONTENT  <Symbol Role="Variable">starting_byte</Symbol> string <Symbol Role="Variable">string</Symbol></programlisting>
</ListItem>
<ListItem>
<Para>
ファイルの数字内容については、次の構文を使用します。
</Para>
<programlisting>CONTENT <Symbol Role="Variable">starting_byte</Symbol> byte <Symbol Role="Variable">number</Symbol>
CONTENT <Symbol Role="Variable">starting_byte</Symbol> short <Symbol Role="Variable">number</Symbol>
CONTENT <Symbol Role="Variable">starting_byte</Symbol> long <Symbol Role="Variable">number</Symbol>
</Programlisting>
</ListItem>
<ListItem>
<Para>
ディレクトリの内容については、次の構文を使用します。
</Para>
<programlisting>CONTENT 0 filename &ldquo;<Symbol Role="Variable">file_name</Symbol>&rdquo;</programlisting>
<Para>
8進数（先頭が <literal>0</literal>）および16進数（先頭が <literal>0X</literal>）については、標準Ｃ表記を使用します。
</Para>
</ListItem>
</ItemizedList>
<Note>
<Para>
内容に基づいたデータ型を作成すると、システム性能の速さが遅くなります。できるだけ、名前または位置に基づいたデータ型を使用してください。
</Para>
</Note>
<Para>
たとえば、次のデータ型 Writable_Wingz は、ファイルの最初に <Command>WNGZ</Command> 文字列が入っていて書き込み権をもつすべてのファイルに適用されます。
</Para>
<programlisting>DATA_ATTRIBUTES Writable_Wingz
{
 &hellip;
}

DATA_CRITERIA Writable_Wingz_Criteria
{
 CONTENT               0 string WNGZ
 MODE                  w&amp;!d
 DATA_ATTRIBUTES_NAME  Writable_Wingz
}
</ProgramListing>
</Sect2>
<Sect2 Id="SAG.CrDT.div.23" Role="Procedure">
<Title Id="SAG.CrDT.mkr.13">独自の基準をもつデータ型を作成するには<IndexTerm><Primary>データ型</Primary><Secondary>複数の基準</Secondary></IndexTerm></Title>
<Para>
いくつかの独自の基準をもつデータ型を作成できます。つまり、基準の<Emphasis>いずれか</Emphasis>（または両方）に一致した場合に、ファイルはデータ型に割り当てられます。
</Para>
<OrderedList>
<ListItem>
<Para>
データ型の <Filename>DATA_ATTRIBUTES</Filename> 定義を作成します。
</Para>
</ListItem>
<ListItem>
<Para>
各基準ごとに <Filename><IndexTerm><Primary>DATA_CRITERIA</Primary><Secondary>複数の</Secondary></IndexTerm>DATA_CRITERIA</Filename> 定義を作成します。
</Para>
<Para>
<Filename>DATA_ATTRIBUTES_NAME</Filename> フィールドを使用して、各基準を同じ <Filename>DATA_ATTRIBUTES</Filename> 定義に接続します。
</Para>
</ListItem>
</OrderedList>
<Para>
たとえば、次の定義は Mif データ型を作成します。データ型の作成は、名前または内容に基づきます。
</Para>
<programlisting>DATA_ATTRIBUTES Mif
{
 ICON         Frame
 ACTION_LIST  Open,Print
}

DATA_CRITERIA Mif_Name_Criteria
{
 DATA_ATTRIBUTES_NAME  Mif
 NAME_PATTERN          *.mif
}

DATA_CRITERIA Mif_Content_Criteria
{
 DATA_ATTRIBUTES_NAME  Mif
 CONTENT               1 string MIFFile
}
</ProgramListing>
</Sect2>
</Sect1>
<Sect1 Id="SAG.CrDT.div.24">
<Title>ローカライズされたデータ型の作成<IndexTerm><Primary>データ型</Primary><Secondary>ローカライズされた</Secondary></IndexTerm><IndexTerm><Primary>ローカリゼーション</Primary><Secondary>データ型</Secondary></IndexTerm></Title>
<Para>
データ型の検索パスには、言語に依存した位置を含みます。デスクトップは
<IndexTerm><Primary>LANG 変数</Primary><Secondary>データ型の影響</Secondary></IndexTerm> LANG の値を使用して、データ型定義を検索する場所を決定します。
</Para>
<Sect2 Id="SAG.CrDT.div.25">
<Title>ローカライズされたデータ型の位置</Title>
<Para>
ローカライズされたデータ型定義は、アクション検索パス上にある正しい言語依存ディレクトリになければなりません。
</Para>
<Para>
デフォルトの検索パスは次のとおりです。
</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>個人用アクション: <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/types</Filename></Para>
</ListItem>
<ListItem>
<Para>システム共通アクション: <Filename>/etc/dt/appconfig/types/</Filename><Symbol Role="Variable">language</Symbol></Para>
</ListItem>
<ListItem>
<Para>組み込みアクション: <Filename>/usr/dt/appconfig/types/</Filename><Symbol Role="Variable">language</Symbol></Para>
</ListItem>
</ItemizedList>
</Sect2>
<Sect2 Id="SAG.CrDT.div.26" Role="Procedure">
<Title>データ型をローカライズするには</Title>
<OrderedList>
<ListItem>
<Para>
適切な言語依存ディレクトリ（<Filename>/etc/dt/appconfig/types/japanese</Filename>) にファイルを作成します。
</Para>
</ListItem>
<ListItem>
<Para>
データ型定義を言語に依存した構成ファイルにコピーします。
</Para>
</ListItem>
<ListItem>
<Para>
データ型定義のひとつ以上のフィールドをローカライズします。
</Para>
</ListItem>
</OrderedList>
</Sect2>
</Sect1>
</Chapter>
<!--fickle 1.14 mif-to-docbook 1.7 01/02/96 06:16:56-->
