ch11.sgm 47 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931
  1. <!-- $XConsortium: ch11.sgm /main/11 1996/12/21 18:26:24 rws $ -->
  2. <!-- (c) Copyright 1995 Digital Equipment Corporation. -->
  3. <!-- (c) Copyright 1995 Hewlett-Packard Company. -->
  4. <!-- (c) Copyright 1995 International Business Machines Corp. -->
  5. <!-- (c) Copyright 1995 Sun Microsystems, Inc. -->
  6. <!-- (c) Copyright 1995 Novell, Inc. -->
  7. <!-- (c) Copyright 1995 FUJITSU LIMITED. -->
  8. <!-- (c) Copyright 1995 Hitachi. -->
  9. <chapter id="SAG.CrDT.div.1">
  10. <title id="SAG.CrDT.mkr.1">Datentypen manuell erstellen</title>
  11. <para><indexterm><primary>Datentypen</primary><secondary>manuell erstellen</secondary></indexterm>Es gibt zwei M&ouml;glichkeiten, eine Datentypdefinition
  12. zu erstellen:</para>
  13. <itemizedlist remap="Bullet1">
  14. <listitem><para>in dem Werkzeug 'Aktion erstellen'. Die Verwendung von 'Aktion
  15. erstellen' wird in <!--Original XRef content:
  16. 'Kapitel&numsp;9, &ldquo;Aktionen und Datentypen mit 'Aktion erstellen'
  17. erstellen'--><xref role="ChapNumAndTitle" linkend="SAG.dtCrA.mkr.1"> ausf&uuml;hrlich
  18. behandelt.</para>
  19. </listitem>
  20. <listitem><para>die Datentypdefinition manuell erstellen.</para>
  21. </listitem>
  22. </itemizedlist>
  23. <para>Um einen Datentyp manuell zu erstellen, ist es erforderlich, eine Datenbankdatei
  24. zu bearbeiten.</para>
  25. <para>Im folgenden Kapitel wird beschrieben, wie Datentypdefinitionen manuell
  26. erstellt werden.</para>
  27. <informaltable id="SAG.CrDT.itbl.1" frame="All">
  28. <tgroup cols="1" colsep="1" rowsep="1">
  29. <colspec colwidth="4.00in">
  30. <tbody>
  31. <row>
  32. <entry align="left" valign="top"><para><!--Original XRef content: 'Gr&uuml;nde,
  33. einen Datentyp manuell zu erstellen206'--><xref role="JumpText" linkend="SAG.CrDT.mkr.2"></para></entry>
  34. </row>
  35. <row>
  36. <entry align="left" valign="top"><para><!--Original XRef content: 'Komponenten
  37. einer Datentypdefinition: Kriterien und Attribute206'--><xref role="JumpText"
  38. linkend="SAG.CrDT.mkr.3"></para></entry></row>
  39. <row>
  40. <entry align="left" valign="top"><para><!--Original XRef content: 'Datentyp
  41. manuell erstellen: Allgemeine Schritte207'--><xref role="JumpText" linkend="SAG.CrDT.mkr.4"></para></entry>
  42. </row>
  43. <row>
  44. <entry align="left" valign="top"><para><!--Original XRef content: 'Beispiel
  45. f&uuml;r die Erstellung einer pers&ouml;nlichen Aktion und eines Datentyps209'--><xref
  46. role="JumpText" linkend="SAG.CrDT.mkr.7"></para></entry></row>
  47. <row>
  48. <entry align="left" valign="top"><para><!--Original XRef content: 'Datenkriterien
  49. f&uuml;r einen Datentyp definieren213'--><xref role="JumpText" linkend="SAG.CrDT.mkr.11"></para></entry>
  50. </row></tbody></tgroup></informaltable>
  51. <sect1 id="SAG.CrDT.div.2">
  52. <title>Weiterf&uuml;hrende Informationen</title>
  53. <itemizedlist remap="Bullet1">
  54. <listitem><para>Eine Einf&uuml;hrung in Datentypen enth&auml;lt <!--Original
  55. XRef content: 'Kapitel&numsp;8, &ldquo;Einf&uuml;hrung
  56. in Aktionen und Datentypen'--><xref role="ChapNumAndTitle" linkend="SAG.IntAc.mkr.1">.
  57. </para>
  58. </listitem>
  59. <listitem><para>Referenzinformationen zu Datentypdefinitionen k&ouml;nnen
  60. der Hilfeseite <filename>dtdtsfile(4)</filename> entnommen werden.</para>
  61. </listitem>
  62. </itemizedlist>
  63. </sect1>
  64. <sect1 id="SAG.CrDT.div.3">
  65. <title id="SAG.CrDT.mkr.2">Gr&uuml;nde, einen Datentyp manuell zu erstellen</title>
  66. <para>Wird ein Datentyp manuell erstellt, k&ouml;nnen alle M&ouml;glichkeiten,
  67. die die Syntax von Datentypdefinitionen bietet, ausgesch&ouml;pft werden.
  68. </para>
  69. <para><indexterm><primary>Datentypen</primary><secondary>Erfordernisse f&uuml;r
  70. manuelle Erstellung</secondary></indexterm>Sollen die folgenden Merkmale von
  71. Datentypen verwendet werden, mu&szlig; der Datentyp manuell erstellt werden:
  72. </para>
  73. <itemizedlist remap="Bullet1">
  74. <listitem><para>Datentypzuordnung auf der Grundlage der Position (des Pfads).
  75. </para>
  76. </listitem>
  77. <listitem><para>Die M&ouml;glichkeit, dem Datentyp neben '&Ouml;ffnen' und
  78. 'Drucken' weitere Aktionen zuzuordnen.</para>
  79. </listitem>
  80. <listitem><para>Mehrere Namens-, Muster- oder Inhaltskriterien werden f&uuml;r
  81. denselben Datentyp, beispielsweise ein Datentyp, der auf Dateien mit der Erweiterung <filename>*.abc</filename> oder <filename>*.def</filename> endet, verwendet.</para>
  82. </listitem>
  83. <listitem><para>Datentypzuordnung auf der Grundlage von Verweisen.</para>
  84. </listitem>
  85. </itemizedlist>
  86. </sect1>
  87. <sect1 id="SAG.CrDT.div.4">
  88. <title id="SAG.CrDT.mkr.3">Komponenten einer Datentypdefinition: Kriterien
  89. und Attribute</title>
  90. <para>Eine Datentypdefinition besteht aus zwei separaten Datenbankdefinitionen:
  91. </para>
  92. <itemizedlist remap="Bullet1">
  93. <listitem><para>Der Definition<indexterm><primary>DATA_ATTRIBUTES</primary>
  94. <secondary>Definition</secondary></indexterm> <filename>DATA_ATTRIBUTES</filename>.
  95. </para>
  96. <para>DerDefinition <filename>DATA_ATTRIBUTES</filename> beschreibt den Namen
  97. des Datentyps und das Erscheinungsbild und Verhalten von Dateien dieses Typs.
  98. </para>
  99. </listitem>
  100. <listitem><para>Die Definition <filename><indexterm><primary>DATA_CRITERIA</primary><secondary>Definition</secondary></indexterm>DATA_CRITERIA</filename>.
  101. </para>
  102. <para>Die Definition <filename>DATA_CRITERIA</filename> beschreibt, nach welchen
  103. Kriterien der Datentyp zugeordnet wird. Jede Kriteriendefinition gibt an,
  104. auf welche <filename>DATA_ATTRIBUTES</filename> Definition die Kriterien angewendet
  105. werden.</para>
  106. </listitem>
  107. </itemizedlist>
  108. <para>F&uuml;r jede Definition <filename>DATA_ATTRIBUTES</filename> mu&szlig;
  109. mindestens eine Definition <filename><indexterm><primary>DATA_CRITERIA</primary>
  110. <secondary>paarig mit DATA_ATTRIBUTES</secondary></indexterm>DATA_CRITERIA</filename> vorliegen. Es k&ouml;nnen ihr aber auch mehre Definitionen <filename>DATA_CRITERIA</filename> zugeordnet sein.</para>
  111. <para>Beispielsweise k&ouml;nnte ein Benutzer eine Attributdefinition f&uuml;r
  112. PostScript- Dateien erstellen, in der beschrieben wird, wie PostScript-Dateien
  113. im Dateimanager angezeigt werden und wie sie sich verhalten. Anschlie&szlig;end
  114. k&ouml;nnte der Benutzer zwei verschiedene Kriterien f&uuml;r den Datentyp
  115. PostScript erstellen, einen auf der Grundlage des Dateinamens und einen auf
  116. der Grundlage des Dateiinhalts.</para>
  117. <para>Weitere Informationen k&ouml;nnen dem Abschnitt <!--Original XRef content:
  118. '&ldquo;Datenkriterien f&uuml;r einen Datentyp definieren&rdquo; auf Seite&numsp;213'--><xref
  119. role="SecTitleAndPageNum" linkend="SAG.CrDT.mkr.11"> entnommen werden.</para>
  120. </sect1>
  121. <sect1 id="SAG.CrDT.div.5">
  122. <title id="SAG.CrDT.mkr.4">Datentyp manuell erstellen: Allgemeine Schritte</title>
  123. <para>In diesem Abschnitt wird beschrieben, wie eine Datentypkonfigurationsdatei
  124. erstellt wird.</para>
  125. <sect2 id="SAG.CrDT.div.6">
  126. <title id="SAG.CrDT.mkr.5">Konfigurationsdateien f&uuml;r Datentypen<indexterm>
  127. <primary>Datentypen</primary><secondary>Konfigurationsdateien</secondary>
  128. </indexterm><indexterm><primary>Konfigurationsdateien</primary><secondary>Datentypen</secondary></indexterm></title>
  129. <para>Konfigurationsdateien, die Datentypdefinitionen enthalten, m&uuml;ssen
  130. folgende Voraussetzungen erf&uuml;llen:</para>
  131. <itemizedlist remap="Bullet1">
  132. <listitem><para>Die Dateien m&uuml;ssen der Benennungsskonvention <symbol role="Variable">name</symbol><filename>.dt</filename> entsprechen.</para>
  133. </listitem>
  134. <listitem><para>Die Dateien m&uuml;ssen sich im Datenbanksuchpfad befinden.
  135. Der Standardsuchpfad lautet:</para>
  136. <informaltable>
  137. <tgroup cols="2" colsep="0" rowsep="0">
  138. <colspec colwidth="2.00in">
  139. <colspec colwidth="3.97in">
  140. <tbody>
  141. <row>
  142. <entry align="left" valign="top"><para>Pers&ouml;nliche Datentypen</para></entry>
  143. <entry align="left" valign="top"><para><symbol role="Variable">Standardverzeichnis</symbol><filename>/.dt/types</filename></para></entry></row>
  144. <row>
  145. <entry align="left" valign="top"><para>Systemweite Datentypen</para></entry>
  146. <entry align="left" valign="top"><para><filename>/etc/dt/appconfig/types/</filename><symbol role="Variable">sprache</symbol></para></entry></row>
  147. <row>
  148. <entry align="left" valign="top"><para>Integrierte Datentypen</para></entry>
  149. <entry align="left" valign="top"><para><filename>/usr/dt/appconfig/types/</filename><symbol role="Variable">sprache</symbol>. Dieses Verzeichnis sollte
  150. nicht verwendet werden.</para></entry></row></tbody></tgroup></informaltable>
  151. </listitem>
  152. </itemizedlist>
  153. <para>Weitere Informationen zum &Auml;ndern des Datenbanksuchpfads k&ouml;nnen
  154. dem Abschnitt <!--Original XRef content: '&ldquo;Wert eines Suchpfads setzen&rdquo;
  155. auf Seite&numsp;129'--><xref role="SecTitleAndPageNum" linkend="SAG.Datab.mkr.6">
  156. entnommen werden.</para>
  157. </sect2>
  158. <sect2 id="SAG.CrDT.div.7" role="Procedure">
  159. <title id="SAG.CrDT.mkr.6">Datentypdefinition erstellen<indexterm><primary>Datentypen</primary><secondary>definieren</secondary></indexterm></title>
  160. <orderedlist>
  161. <listitem><para>Eine bereits vorhandene Datenbankdatei &ouml;ffnen oder eine
  162. neue erstellen.</para>
  163. <para>Weitere Informationen k&ouml;nnen dem vorherigen Abschnitt <!--Original
  164. XRef content: '&ldquo;Konfigurationsdateien f&uuml;r Datenty--><!--pen'--><xref
  165. role="SectionTitle" linkend="sag.crdt.mkr.5"> entnommen werden.</para>
  166. </listitem>
  167. <listitem><para>Die Datenattribute f&uuml;r den Datentyp unter Verwendung
  168. folgender Syntax definieren:</para>
  169. <indexterm><primary>DATA_ATTRIBUTES</primary><secondary>Syntax</secondary>
  170. </indexterm>
  171. <programlisting>DATA_ATTRIBUTES daten_typ_name
  172. {
  173. ICON bild_name
  174. DESCRIPTION zeichenfolge
  175. attribute_field
  176. attribute_field
  177. &hellip;
  178. }</programlisting>
  179. <para>wobei die Parameter folgende Bedeutung haben:</para>
  180. <informaltable>
  181. <tgroup cols="2" colsep="0" rowsep="0">
  182. <colspec colwidth="1.36in">
  183. <colspec colwidth="4.61in">
  184. <tbody>
  185. <row>
  186. <entry align="left" valign="top"><para><symbol>daten_typ_name</symbol></para></entry>
  187. <entry align="left" valign="top"><para>Ein eindeutiger Name, der diesem Datentyp
  188. zugeordnet wird.</para></entry></row>
  189. <row>
  190. <entry align="left" valign="top"><para><symbol>bild_name</symbol></para></entry>
  191. <entry align="left" valign="top"><para>Dateiname oder Pfad einer Symboldatei.
  192. Den Dateinamen ohne Pfad f&uuml;r die Datei verwenden. Beispielsweise wird
  193. f&uuml;r die Symboldateien <filename>myimage.m.pm</filename> und <filename>myimage.t.pm</filename> der Name <command>myimage</command> verwendet.</para></entry>
  194. </row>
  195. <row>
  196. <entry align="left" valign="top"><para><symbol>attribut_feld</symbol></para></entry>
  197. <entry align="left" valign="top">Feld, das das Erscheinungsbild oder Verhalten
  198. des Datentyps definiert.</entry></row>
  199. <row>
  200. <entry align="left" valign="top"><para><symbol>zeichenfolge</symbol></para></entry>
  201. <entry align="left" valign="top"><para>Zeichenfolge. Der Inhalt dieser Zeichenfolge
  202. wird f&uuml;r diesen Datentyp als Kontexthilfe angezeigt.</para></entry></row>
  203. </tbody></tgroup></informaltable>
  204. <para>Weitere Informationen hierzu k&ouml;nnen dem Abschnitt <!--Original
  205. XRef content: '&ldquo;Beispiel f&uuml;r die Erstellung eine--><!--r pers&ouml;nlichen
  206. Aktion und eines Datentyps&rdquo; auf Seite&numsp--><!--;209'--><xref role="SecTitleAndPageNum"
  207. linkend="sag.crdt.mkr.7"> entnommen werden.</para>
  208. </listitem>
  209. <listitem><para>Die Datenkriterien unter Verwendung folgender Syntax definieren:
  210. </para>
  211. <para remap="CodeIndent1"><command>DATA_CRITERIA <symbol role="Variable">kriterien_name</symbol></command></para>
  212. <programlisting>DATA_CRITERIA kriterion_name
  213. {
  214. DATA_ATTRIBUTES_NAME daten_typ_name
  215. kriterien_feld
  216. kriterien_feld
  217. &hellip;
  218. }</programlisting>
  219. <para>wobei die Parameter folgende Bedeutung haben:</para>
  220. <informaltable>
  221. <tgroup cols="2" colsep="0" rowsep="0">
  222. <colspec colwidth="1.31in">
  223. <colspec colwidth="4.69in">
  224. <tbody>
  225. <row>
  226. <entry align="left" valign="top"><para><symbol>kriterien_name</symbol></para></entry>
  227. <entry align="left" valign="top"><para>Eindeutiger Name f&uuml;r diese Kriteriendefinition.
  228. </para></entry></row>
  229. <row>
  230. <entry align="left" valign="top"><para><symbol>daten_typ_name</symbol></para></entry>
  231. <entry align="left" valign="top"><para>Name, der in der Definition <filename>DATA_ATTRIBUTES</filename> verwendet wird.</para></entry></row>
  232. <row>
  233. <entry align="left" valign="top"><para><symbol>kriterien_feld</symbol></para></entry>
  234. <entry align="left" valign="top"><para>Feld, in dem das Kriterium f&uuml;r
  235. die Zuordnung einer Datei zu diesem Datentyp definiert wird.</para></entry>
  236. </row></tbody></tgroup></informaltable>
  237. <para>Weitere Informationen hierzu k&ouml;nnen dem Abschnitt <!--Original
  238. XRef content: '&ldquo;Datenkriterien f&uuml;r einen Datenty--><!--p definieren&rdquo;
  239. auf Seite&numsp;213'--><xref role="SecTitleAndPageNum" linkend="sag.crdt.mkr.11">
  240. entnommen werden.</para>
  241. </listitem>
  242. <listitem><para>Die Datenbankdatei sichern.</para>
  243. </listitem>
  244. <listitem><para>Die Symbole f&uuml;r den Datentyp erstellen.</para>
  245. <para>Weitere Informationen hierzu k&ouml;nnen dem Abschnitt <!--Original
  246. XRef content: '&ldquo;Symbolbild angeben, das f&uuml;r eine--><!--n Datentyp
  247. verwendet wird&rdquo; auf Seite&numsp;211'--><xref role="SecTitleAndPageNum"
  248. linkend="sag.crdt.mkr.8"> entnommen werden.</para>
  249. </listitem>
  250. <listitem><para>Falls erforderlich, die Aktionen, die im Feld <command>ACTIONS</command> der Attributsdefinition aufgelistet sind, erstellen.</para>
  251. </listitem>
  252. <listitem><para>'Aktionen erneut laden' in der Gruppe von Anwendungen 'Desktop-
  253. Werkzeuge' doppelklicken, um die Datenbank erneut zu laden.</para>
  254. </listitem>
  255. </orderedlist>
  256. </sect2>
  257. <sect2 id="SAG.CrDT.div.8">
  258. <title id="SAG.CrDT.mkr.7">Beispiel f&uuml;r die Erstellung einer pers&ouml;nlichen
  259. Aktion und eines Datentyps<indexterm><primary>Datentypen</primary><secondary>Beispiel</secondary></indexterm><indexterm><primary>Pers&ouml;nliche Aktion
  260. und Datentypen erstellen</primary></indexterm></title>
  261. <para>Angenommen, das System enth&auml;lt eine Anwendung mit dem Namen <command>xgif</command>, die GIF-Bilder anzeigt. Normalerweise wird das Programm ausgef&uuml;hrt,
  262. indem folgendes eingegeben wird:</para>
  263. <programlisting>xgif <symbol role="Variable">dateiname</symbol></programlisting>
  264. <para>Nun sollen GIF-Bilder auf verschiedene Weise angezeigt werden:</para>
  265. <itemizedlist remap="Bullet1">
  266. <listitem><para>Durch Doppelklicken einer GIF-Datendatei</para>
  267. </listitem>
  268. <listitem><para>Durch Ausw&auml;hlen der Datendatei und Ausw&auml;hlen der
  269. Anwendung im Men&uuml; 'Ausgew&auml;hlt'</para>
  270. <orderedlist>
  271. <listitem><para>Eine neue Datei <symbol role="Variable">Standardverzeichnis</symbol><filename>/.dt/types/GifViewer.dt</filename> zum Bearbeiten &ouml;ffnen.
  272. </para>
  273. </listitem>
  274. <listitem><para>Die Datentypdefinitionen eingeben:</para>
  275. <programlisting>DATA_ATTRIBUTES Gif
  276. {
  277. DESCRIPTION Gif image file.
  278. ICON GifIcon
  279. ACTIONS View
  280. }
  281. DATA_CRITERIA Gif_Criteria
  282. {
  283. DATA_ATTRIBUTES_NAME Gif
  284. NAME_PATTERN *.gif
  285. }</programlisting>
  286. </listitem>
  287. <listitem><para>Die Aktionsdefinition f&uuml;r die Aktion 'GifViewer' eingeben:
  288. </para>
  289. <programlisting>ACTION GifViewer
  290. {
  291. EXEC_STRING xgif %(File)Arg_1"Gif-Datei anzeigen:"
  292. WINDOW_TYPE NO_STDIO
  293. DESCRIPTION Eine Datei doppelklicken oder &uuml;bergeben,\
  294. um die GIF-Anzeige zu starten.
  295. }</programlisting>
  296. <para>Da die Definition kein Feld <command>ICON</command> enth&auml;lt, verwendet
  297. die Aktion das Standardsymbol des Systems.</para>
  298. </listitem>
  299. <listitem><para>Die folgende Zuordnungsaktion eingeben, um die Aktion GifViewer
  300. mit der Aktion View, die in der Datentypdefinition aufgelistet ist, zu verbinden.
  301. Mit dem Feld <command>ARG_TYPE</command> wird die Aktion View auf Dateien
  302. vom Typ Gif eingeschr&auml;nkt.</para>
  303. <programlisting>ACTION View
  304. {
  305. ARG_TYPE Gif
  306. TYPE MAP
  307. MAP_ACTION GifViewer
  308. }</programlisting>
  309. </listitem>
  310. <listitem><para>Die Datei sichern.</para>
  311. </listitem>
  312. <listitem><para>Auf 'Aktionen erneut laden' in der Gruppe von Anwendungen
  313. Desktop- Werkzeuge doppelklicken, um die Datenbank erneut zu lesen.</para>
  314. </listitem>
  315. </orderedlist>
  316. </listitem>
  317. </itemizedlist>
  318. </sect2>
  319. </sect1>
  320. <sect1 id="SAG.CrDT.div.9">
  321. <title>Datenattribute eines Datentyps definieren<indexterm><primary>DATA_ATTRIBUTES</primary><secondary>definieren</secondary></indexterm><indexterm><primary>Datentypen</primary><secondary>Attribute</secondary></indexterm></title>
  322. <para>Die Definition <filename>DATA_ATTRIBUTES</filename> definiert das Erscheinungsbild
  323. und das Verhalten des Datentyps. Sie gibt den Namen des Datentyps an und bietet
  324. die M&ouml;glichkeit, zus&auml;tzlich folgendes anzugeben:</para>
  325. <itemizedlist remap="Bullet1">
  326. <listitem><para>Das Dateimanagersymbol (Feld <command>ICON</command>)</para>
  327. </listitem>
  328. <listitem><para>Das Verhalten bei Doppelklicken und den Inhalt des Men&uuml;s
  329. 'Ausgew&auml;hlt' (Feld <command>ACTIONS</command>)</para>
  330. </listitem>
  331. <listitem><para>Die Kontexthilfe des Datentyps (Feld <command>DESCRIPTION<indexterm>
  332. <primary>DESCRIPTION, Feld</primary></indexterm><indexterm><primary>Dateitypen</primary><secondary>Hilfe</secondary></indexterm><indexterm><primary>Hilfe</primary><secondary>Datentyp</secondary></indexterm></command>)</para>
  333. </listitem>
  334. </itemizedlist>
  335. <sect2 id="SAG.CrDT.div.10">
  336. <title id="SAG.CrDT.mkr.8">Symbolbild angeben, das f&uuml;r einen Datentyp
  337. verwendet wird<indexterm><primary>Symbole</primary><secondary>Datentypen</secondary></indexterm><indexterm><primary>Dateitypen</primary><secondary>Symbole</secondary></indexterm></title>
  338. <para>Das Feld <command><indexterm><primary>ICON Feld</primary><secondary>f&uuml;r Datentyp</secondary></indexterm>ICON</command> wird verwendet, um
  339. das Symbol anzugeben, das im Dateimanager verwendet wird. Wird kein Symbolbild
  340. angegeben, wird im Dateimanager nur eine Bezeichnung angezeigt.</para>
  341. <para>Bei dem Wert des Felds <command><indexterm><primary>ICON Feld</primary>
  342. <secondary>g&uuml;ltige Werte</secondary></indexterm>ICON</command> kann es
  343. sich um folgendes handeln:</para>
  344. <itemizedlist remap="Bullet1">
  345. <listitem><para>Einen<indexterm><primary>Basisdateiname</primary></indexterm><indexterm>
  346. <primary>Symbole</primary><secondary>Dateiname ohne Pfad</secondary></indexterm> Dateinamen
  347. ohne Pfad.</para>
  348. <para>Der Dateiname ohne Pfad ist der Name der Datei, die das Symbolbild enth&auml;lt,
  349. ohne die Dateinamenserweiterungen f&uuml;r Gr&ouml;&szlig;e (<filename>l</filename>, <filename>m</filename> und <filename>t</filename>) und Abbildtyp (<filename>bm</filename>
  350. und <filename>pm</filename>). Beispielsweise wird f&uuml;r Dateien mit den
  351. Namen <filename>GameIcon.m.pm</filename> und <filename>GameIcon.t.pm</filename>
  352. der Name <filename>GameIcon</filename> verwendet.</para>
  353. <para>Wird der Dateiname ohne Pfad verwendet, m&uuml;ssen die Symboldateien
  354. in ein Verzeichnis auf den Symbolsuchpfad gebracht werden:</para>
  355. <itemizedlist remap="Bullet2">
  356. <listitem><para>Pers&ouml;nliche Symbole: <symbol role="Variable">Standardverzeichnis</symbol><filename>/.dt/icons</filename></para>
  357. </listitem>
  358. <listitem><para>Systemweite Symbole: <filename>/etc/dt/appconfig/icons/</filename><symbol role="Variable">sprache</symbol></para>
  359. </listitem>
  360. </itemizedlist>
  361. </listitem>
  362. <listitem><para>Einen absoluten Pfad zu der Symboldatei, einschlie&szlig;lich
  363. des vollst&auml;ndigen Dateinamens.</para>
  364. <para>Der absolute Pfad sollte nur verwendet werden, wenn die Symboldatei
  365. sich nicht im Symbolsuchpfad befindet. Befindet sich beispielsweise die Symboldatei <filename>GameIcon.m.pm</filename> im Verzeichnis <filename>/doc/projects</filename>,
  366. das sich nicht im Symbolsuchpfad befindet, wird im Feld <command>ICON</command>
  367. der Wert <filename>/doc/projects/GameIcon.m.pm</filename> gesetzt.</para>
  368. </listitem>
  369. </itemizedlist>
  370. <para><!--Original XRef content: 'Tabelle&numsp;11&hyphen;1'--><xref role="CodeOrFigureOrTable"
  371. linkend="SAG.CrDT.mkr.9"> enth&auml;lt eine Liste mit Symbolgr&ouml;&szlig;en,
  372. die der Benutzer erstellen sollte, und den zugeh&ouml;rigen Dateinamen.</para>
  373. <table id="SAG.CrDT.tbl.1" frame="Topbot">
  374. <title id="SAG.CrDT.mkr.9">Symbolnamen und Gr&ouml;&szlig;en f&uuml;r Datentypsymbole</title>
  375. <tgroup cols="3" colsep="0" rowsep="0">
  376. <colspec colwidth="1.49in">
  377. <colspec colwidth="1.60in">
  378. <colspec colwidth="1.90in">
  379. <thead>
  380. <row><entry align="left" valign="bottom"><para>Gr&ouml;&szlig;e in Pixel</para></entry>
  381. <entry align="left" valign="bottom"><para>Bitmap-Name</para></entry><entry
  382. align="left" valign="bottom"><para>Pixmap-Name</para></entry></row></thead>
  383. <tbody>
  384. <row>
  385. <entry align="left" valign="top"><para>48 x 48</para></entry>
  386. <entry align="left" valign="top"><para><symbol role="Variable">name</symbol><filename>.l.bm</filename></para></entry>
  387. <entry align="left" valign="top"><para><symbol role="Variable">name</symbol><filename>.l.pm</filename></para></entry></row>
  388. <row>
  389. <entry align="left" valign="top"><para>32 x 32</para></entry>
  390. <entry align="left" valign="top"><para><symbol role="Variable">name</symbol><filename>.m.bm</filename></para></entry>
  391. <entry align="left" valign="top"><para><symbol role="Variable">name</symbol><filename>.m.pm</filename></para></entry></row>
  392. <row>
  393. <entry align="left" valign="top"><para>16 x 16</para></entry>
  394. <entry align="left" valign="top"><para><symbol role="Variable">name</symbol><filename>.t.bm</filename></para></entry>
  395. <entry align="left" valign="top"><para><symbol role="Variable">name</symbol><filename>.t.pm</filename></para></entry></row></tbody></tgroup></table>
  396. </sect2>
  397. <sect2 id="SAG.CrDT.div.11">
  398. <title id="SAG.CrDT.mkr.10">Datentypen Aktionen zuordnen<indexterm><primary>Aktionen</primary><secondary>Datentypen zuordnen</secondary></indexterm><indexterm>
  399. <primary>Datentypen</primary><secondary>Aktionen zuordnen</secondary></indexterm></title>
  400. <para>Es gibt zwei M&ouml;glichkeiten, Datentypen Aktionen zuzuordnen:</para>
  401. <itemizedlist remap="Bullet1">
  402. <listitem><para>In dem Feld <command><indexterm><primary>ACTIONS Feld</primary></indexterm>ACTIONS</command> in der <filename>DATA_ATTRIBUTES</filename> Definition <filename></filename>werden
  403. die Aktionen aufgelistet, die im Men&uuml; 'Ausgew&auml;hlt' des Dateimanagers
  404. erscheinen. Die erste in der Liste aufgef&uuml;hrte Aktion ist die Standardaktion
  405. (Doppelklicken).</para>
  406. </listitem>
  407. <listitem><para>Aktionen k&ouml;nnen mit dem Feld <command>ARG_TYPE</command><indexterm>
  408. <primary>ARG_TYPE Feld</primary></indexterm> der Aktionsdefinition auf angegebene
  409. Datentypen beschr&auml;nkt werden.</para>
  410. </listitem>
  411. </itemizedlist>
  412. <para>Beispielsweise erstellt die folgende Datentypdefinition einen Datentyp
  413. f&uuml;r spezielle, vom Systemverwalter erstellte &ldquo;Readme&rdquo;-Dateien
  414. mit der Benennungskonvention <filename>*.rm</filename>.</para>
  415. <programlisting>DATA_ATTRIBUTES SysReadmeFile
  416. {
  417. ICON SysReadMe
  418. ACTIONS Open,Respond
  419. }
  420. DATA_CRITERIA SysReadmeFileCriteria
  421. {
  422. NAME_PATTERN *.rm
  423. DATA_ATTRIBUTES_NAME SysReadmeFile
  424. }</programlisting>
  425. <para>Eine spezielle Aktion 'Respond' f&uuml;r die Datei wird im folgenden
  426. definiert. Dadurch wird eine schreibbare Kopie der Datei im Texteditor ge&ouml;ffnet.
  427. Wird die Datei gesichert und der Texteditor verlassen, wird die Datei &uuml;ber
  428. elektronische Post an den Systemverwalter gesendet (Adresse <filename>sysadmin@utd</filename>).</para>
  429. <programlisting>ACTION Respond
  430. {
  431. ARG_TYPE SysReadmeFile
  432. EXEC_STRING /bin/sh -c 'cp %Arg_1% $HOME/readme.temp;\
  433. chmod +w $HOME/readme.temp; \
  434. dtpad $HOME/readme.temp; \
  435. cat $HOME/readme.temp | \
  436. /usr/bin/mailx sysadmin@utd; \
  437. rm $HOME/readme.temp'
  438. WINDOW_TYPE NO_STDIO
  439. }</programlisting>
  440. </sect2>
  441. <sect2 id="SAG.CrDT.div.12">
  442. <title>Dateien auf der Grundlage des Datentyps verdecken<indexterm><primary>ICON Feld</primary><secondary>g&uuml;ltige Werte</secondary></indexterm><indexterm>
  443. <primary>Dateitypen</primary><secondary>verdeckt</secondary></indexterm><indexterm>
  444. <primary>Dateien</primary><secondary>auf der Grundlage des Datentyps verstecken</secondary></indexterm></title>
  445. <para>Ist eine Datei ein verdeckter Datentyp, wird sie nicht im Dateimanager
  446. angezeigt.</para>
  447. <para>Im Feld <command>PROPERTIES</command> in der <filename>DATA_ATTRIBUTES</filename> Definition <filename></filename>wird angegeben, ob Objekte dieses
  448. Typs verdeckt werden:</para>
  449. <programlisting>PROPERTIES invisible</programlisting>
  450. </sect2>
  451. <sect2 id="SAG.CrDT.div.13">
  452. <title>Verhalten der Datei bei Bearbeitung angeben</title>
  453. <para>Die folgenden Felder <filename>DATA_ATTRIBUTES</filename> werden in
  454. erster Linie von Anwendungsprogrammierern verwendet. Hier wird angegeben,
  455. wie sich Dateien verhalten, wenn der Benutzer verschiedene Desktop-Aktivit&auml;ten
  456. durchf&uuml;hrt.</para>
  457. <para>Weitere Informationen k&ouml;nnen der Publikation <citetitle>Common
  458. Desktop Environment Programmer's Guide</citetitle> entnommen werden, die Bestandteil
  459. der Entwicklerumgebungsdokumentation ist.</para>
  460. <informaltable>
  461. <tgroup cols="2" colsep="0" rowsep="0">
  462. <colspec colwidth="1.98in">
  463. <colspec colwidth="4.04in">
  464. <thead>
  465. <row><entry align="left" valign="bottom"><para>Feld</para></entry><entry align="left"
  466. valign="bottom"><para>Beschreibung</para></entry></row></thead>
  467. <tbody>
  468. <row>
  469. <entry align="left" valign="top"><para><command>MOVE_TO_ACTION</command></para><indexterm>
  470. <primary>MOVE_TO_ACTION Feld</primary></indexterm></entry>
  471. <entry align="left" valign="top"><para>F&uuml;r Container, wie zum Beispiel
  472. Verzeichnisse. Gibt an, da&szlig; eine Aktion ausgef&uuml;hrt wird, wenn eine
  473. Datei in einen Container dieses Datentyps verschoben wird.</para></entry>
  474. </row>
  475. <row>
  476. <entry align="left" valign="top"><para><command>COPY_TO_ACTION</command></para><indexterm>
  477. <primary>COPY_TO_ACTION Feld</primary></indexterm></entry>
  478. <entry align="left" valign="top"><para>F&uuml;r Container, wie zum Beispiel
  479. Verzeichnisse. Gibt an, da&szlig; eine Aktion ausgef&uuml;hrt wird, wenn eine
  480. Datei in einen Container dieses Datentyps kopiert wird.</para></entry></row>
  481. <row>
  482. <entry align="left" valign="top"><para><command>LINK_TO_ACTION</command></para><indexterm>
  483. <primary>LINK_TO_ACTION Feld</primary></indexterm></entry>
  484. <entry align="left" valign="top"><para>Gibt an, da&szlig; eine Aktion ausgef&uuml;hrt
  485. wird, wenn eine Datei mit einer Datei dieses Datentyps verbunden wird.</para></entry>
  486. </row>
  487. <row>
  488. <entry align="left" valign="top"><para><command>IS_TEXT</command></para><indexterm>
  489. <primary>IS_TEXT Feld</primary></indexterm></entry>
  490. <entry align="left" valign="top"><para>Gibt an, da&szlig; Dateien dieses Datentyps
  491. Text enthalten, der in einem Textfenster angezeigt werden kann.</para></entry>
  492. </row>
  493. <row>
  494. <entry align="left" valign="top"><para><command>MEDIA</command></para><indexterm>
  495. <primary>MEDIA Feld</primary></indexterm></entry>
  496. <entry align="left" valign="top"><para>Gibt den entsprechenden ToolTalk-Mediatyp
  497. an.</para></entry></row>
  498. <row>
  499. <entry align="left" valign="top"><para><command>MIME_TYPE</command></para><indexterm>
  500. <primary>MIME_TYPE_MEDIA Feld</primary></indexterm></entry>
  501. <entry align="left" valign="top"><para>Gibt den entsprechenden MIME-Typ an.
  502. </para></entry></row>
  503. <row>
  504. <entry align="left" valign="top"><para><command>X400_TYPE</command></para><indexterm>
  505. <primary>X400_TYPE Feld</primary></indexterm></entry>
  506. <entry align="left" valign="top"><para>Gibt den entsprechenden X400-Typ an.
  507. </para></entry></row></tbody></tgroup></informaltable>
  508. </sect2>
  509. </sect1>
  510. <sect1 id="SAG.CrDT.div.14">
  511. <title id="SAG.CrDT.mkr.11">Datenkriterien f&uuml;r einen Datentyp definieren<indexterm>
  512. <primary>Datentypen</primary><secondary>Kriterien</secondary></indexterm><indexterm>
  513. <primary>Datentypen</primary><secondary>differenzieren</secondary></indexterm><indexterm>
  514. <primary>Datentypen</primary><secondary>Kriterien definieren</secondary></indexterm></title>
  515. <para>Die Definition <filename><indexterm><primary>DATA_CRITERIA</primary>
  516. <secondary>definieren</secondary></indexterm>DATA_CRITERIA</filename> legt
  517. die Kriterien f&uuml;r die Zuordnung eines Objekttyps zu einer Datei oder
  518. einem Verzeichnis fest.</para>
  519. <para>Folgende Kriterien k&ouml;nnen f&uuml;r die Objektzuordnung verwendet
  520. werden:</para>
  521. <informaltable>
  522. <tgroup cols="2" colsep="0" rowsep="0">
  523. <colspec colwidth="2.02in">
  524. <colspec colwidth="4.00in">
  525. <thead>
  526. <row><entry align="left" valign="bottom"><para>Kriterium</para></entry><entry
  527. align="left" valign="bottom"><para>Beschreibung</para></entry></row></thead>
  528. <tbody>
  529. <row>
  530. <entry align="left" valign="top"><para>Dateiname</para></entry>
  531. <entry align="left" valign="top"><para>Der Dateiname mu&szlig; einem angegebenen
  532. Muster entsprechen. Das Feld <filename><indexterm><primary>NAME_PATTERN Feld</primary></indexterm>NAME_PATTERN</filename> verwenden.</para></entry></row>
  533. <row>
  534. <entry align="left" valign="top"><para>Dateiposition</para></entry>
  535. <entry align="left" valign="top"><para>Der Pfad mu&szlig; einem angegebenen
  536. Muster entsprechen. Das Feld <filename><indexterm><primary>PATH_PATTERN Feld</primary></indexterm>PATH_PATTERN</filename> verwenden.</para></entry></row>
  537. <row>
  538. <entry align="left" valign="top"><para>Dateiinhalt</para></entry>
  539. <entry align="left" valign="top"><para>Ein angegebener Teil des Inhalts der
  540. Datei mu&szlig; angegebenen Daten entsprechen. Das Feld <command><indexterm>
  541. <primary>CONTENT Feld</primary></indexterm>CONTENT</command> verwenden.</para></entry>
  542. </row>
  543. <row>
  544. <entry align="left" valign="top"><para>Dateimodus</para></entry>
  545. <entry align="left" valign="top"><para>Die Datei mu&szlig; &uuml;ber die angegebenen
  546. Berechtigungen verf&uuml;gen (Lesen, Schreiben, Ausf&uuml;hren, Verzeichnis).
  547. Das Feld<indexterm><primary>MODE Feld</primary></indexterm> MODE verwenden.
  548. </para></entry></row>
  549. <row>
  550. <entry align="left" valign="top"><para><indexterm><primary>Symbolische Verbindungen</primary><secondary>Datentypkriterien</secondary></indexterm>Symbolische
  551. Verbindungen</para></entry>
  552. <entry align="left" valign="top"><para>Die Datentypzuordnung erfolgt auf der
  553. Grundlage der Datei, mit der das Objekt verbunden wird.</para></entry></row>
  554. </tbody></tgroup></informaltable>
  555. <para>F&uuml;r einen Datentyp kann mehr als ein Kriterium verwendet werden.
  556. Aber die Kriterien <filename>NAME_PATTERN</filename> und <filename>PATH_PATTERN</filename> sollten nicht in demselben Datentyp verwendet werden.</para>
  557. <sect2 id="SAG.CrDT.div.15">
  558. <title>Datentypenzuordnung auf der Grundlage des Dateinamens<indexterm><primary>Dateitypen</primary><secondary>auf Name basierend</secondary></indexterm><indexterm>
  559. <primary>auf Name basierende Datentypen</primary></indexterm></title>
  560. <para>Das Feld <filename>NAME_PATTERN</filename> verwenden, um die erforderlichen
  561. Merkmale des Dateinamens anzugeben. Das Feld kann die folgenden Platzhalterzeichen
  562. enthalten:</para>
  563. <informaltable>
  564. <tgroup cols="2" colsep="0" rowsep="0">
  565. <colspec colwidth="1.27in">
  566. <colspec colwidth="4.72in">
  567. <tbody>
  568. <row>
  569. <entry align="left" valign="top"><para>?</para><indexterm><primary>? Platzhalterzeichen </primary></indexterm></entry>
  570. <entry align="left" valign="top"><para>Entspricht einem beliebigen einzelnen
  571. Zeichen.</para></entry></row>
  572. <row>
  573. <entry align="left" valign="top"><para>*</para><indexterm><primary>* Platzhalterzeichen </primary></indexterm><indexterm><primary>Platzhalterzeichen in Datentypen </primary></indexterm></entry>
  574. <entry align="left" valign="top"><para>Entspricht einer beliebigen Folge von
  575. Zeichen (einschlie&szlig;lich einer leeren Zeichenfolge).</para></entry></row>
  576. <row>
  577. <entry align="left" valign="top"><para>[cc&hellip;]</para></entry>
  578. <entry align="left" valign="top"><para>Entspricht einem beliebigen der in
  579. Klammern gesetzten Zeichen (<symbol role="Variable">c</symbol>).</para></entry>
  580. </row>
  581. <row>
  582. <entry align="left" valign="top"><para>[c&minus;c]</para></entry>
  583. <entry align="left" valign="top"><para>Entspricht einem beliebigen Zeichen
  584. aus dem Bereich von <symbol role="Variable">c</symbol> bis <symbol role="Variable">c</symbol>.</para></entry></row></tbody></tgroup></informaltable>
  585. <sect3 id="SAG.CrDT.div.16">
  586. <title>Beispiele</title>
  587. <itemizedlist remap="Bullet1">
  588. <listitem><para>Die folgende Datentypdefinition erstellt einen Datentyp auf
  589. der Grundlage des Dateinamens. Der Dateiname mu&szlig; mit <filename>QS</filename>
  590. anfangen und mit <filename>.doc</filename> enden.</para>
  591. <programlisting>DATA_ATTRIBUTES QS_Doc
  592. {
  593. DESCRIPTION Diese Datei enth&auml;lt ein Dokument zum QS-Projekt.
  594. ICON Word_Doc
  595. ACTIONS Open
  596. }
  597. DATA_CRITERIA QS_Doc_Criteria
  598. {
  599. NAME_PATTERN QS*.doc
  600. DATA_ATTRIBUTES_NAME QS_Doc
  601. }</programlisting>
  602. </listitem>
  603. <listitem><para>Die folgende Definition erstellt einen Datentyp f&uuml;r Verzeichnisse
  604. mit dem Namen <filename>Demo_</filename><symbol role="Variable">n</symbol>,
  605. wobei <symbol role="Variable">n</symbol> den Zahlen 0 bis 9 entspricht.</para>
  606. <programlisting>DATA_ATTRIBUTES Demo_directory
  607. {
  608. DESCRIPTION Dies ist ein Verzeichnis. Zum &Ouml;ffnen doppelklicken.
  609. ICON Demo
  610. ACTIONS OpenInPlace,OpenNewView
  611. }
  612. DATA_CRITERIA Demo_directory_criteria
  613. {
  614. NAME_PATTERN Demo_[0-9]
  615. MODE d
  616. DATA_ATTRIBUTES_NAME Demo_directory
  617. }</programlisting>
  618. </listitem>
  619. </itemizedlist>
  620. </sect3>
  621. </sect2>
  622. <sect2 id="SAG.CrDT.div.17">
  623. <title>Datentypenzuordnung auf der Grundlage der Position<indexterm><primary>Dateitypen</primary><secondary>auf Pfad basierend</secondary></indexterm><indexterm>
  624. <primary>Dateitypen</primary><secondary>auf Position basierend</secondary>
  625. </indexterm><indexterm><primary>auf Position basierender Datentyp</primary>
  626. </indexterm><indexterm><primary>auf Pfad basierender Datentyp</primary></indexterm></title>
  627. <para>Das Feld <command>PATH_PATTERN</command><indexterm><primary>PATH_PATTERN
  628. Feld</primary><secondary>Syntax</secondary></indexterm> verwenden, um den Pfad
  629. anzugeben. Es k&ouml;nnen dieselben Platzhalterzeichen verwendet werden wie
  630. bei <command>NAME_PATTERN</command>.</para>
  631. <para>Beispielsweise verwendet der folgende Datentyp ein Kriterium auf der
  632. Grundlage des Pfads.</para>
  633. <programlisting>DATA_ATTRIBUTES Project_Graphics
  634. {
  635. DESCRIPTION Grafikdatei zum QS-Projekt. Symbol doppelklicken,\
  636. um die Grafik anzuzeigen.
  637. ICON QSgraphics
  638. }
  639. DATA_CRITERIA Project_Graphics_Criteria
  640. {
  641. DATA_ATTRIBUTES_NAME Project_Graphics
  642. PATH_PATTERN */projects/QS/graphics/*
  643. }</programlisting>
  644. </sect2>
  645. <sect2 id="SAG.CrDT.div.18">
  646. <title>Datentypenzuordnung auf der Grundlage des Dateinamens und der Position</title>
  647. <para>Soll ein Datentyp auf der Grundlage des Dateinamens als auch der Position
  648. erstellt werden, mu&szlig; der Name in dem Wert f&uuml;r das Feld <command>PATH_PATTERN</command> enthalten sein.<command>NAME_PATTERN</command> und <command>PATH_PATTERN</command> k&ouml;nnen nicht in derselben Kriteriendefinition
  649. verwendet werden.</para>
  650. <sect3 id="SAG.CrDT.div.19">
  651. <title>Beispiele</title>
  652. <itemizedlist remap="Bullet1">
  653. <listitem><para>Der im folgenden definierte Datentyp QS_Source_Files gilt
  654. f&uuml;r alle Dateien mit dem Namen <command>app</command><symbol role="Variable">n</symbol><filename>.c</filename>, wobei <symbol role="Variable">n</symbol>=
  655. 1 bis 9. Sie befinden sich in den Unterverzeichnissen von <filename>*/projects/QS</filename>.</para>
  656. <programlisting>DATA_ATTRIBUTES QS_Source_Files
  657. {
  658. &hellip;
  659. }
  660. DATA_CRITERIA QS_Source_Files_Criteria
  661. {
  662. PATH_PATTERN */projects/QS/*/app[1-9].c
  663. DATA_ATTRIBUTES_NAME QS_Source_Files
  664. }</programlisting>
  665. </listitem>
  666. <listitem><para>Der folgende Datentyp gilt f&uuml;r alle Dateien im Verzeichnis <filename>/doc/project1</filename> mit dem Namen <filename>ch<symbol role="Variable">nn.xxx,</symbol></filename> wobei <symbol role="Variable">n</symbol> den Zahlen
  667. 0 bis 9 entspricht. <symbol role="Variable">xxx</symbol> ist eine beliebige
  668. aus drei Zeichen bestehende Dateinamenserweiterung.</para>
  669. <programlisting>DATA_ATTRIBUTES ChapterFiles
  670. {
  671. DESCRIPTION Kapiteldatei f&uuml;r das Projektdokument.
  672. ICON chapter
  673. ACTIONS Edit,Print
  674. }
  675. DATA_CRITERIA Chapter_Criteria
  676. {
  677. PATH_PATTERN /doc/project1/ch[0-9][0-9].???
  678. DATA_ATTRIBUTES_NAME ChapterFiles
  679. }</programlisting>
  680. </listitem>
  681. </itemizedlist>
  682. </sect3>
  683. </sect2>
  684. <sect2 id="SAG.CrDT.div.20">
  685. <title id="SAG.CrDT.mkr.12">Dateimodi als Kriterium der Datentypzuordnung
  686. verwenden<indexterm><primary>Dateitypen</primary><secondary>Moduskriterium</secondary></indexterm></title>
  687. <para>Im Feld <command><indexterm><primary>MODE Feld</primary><secondary>Syntax</secondary></indexterm>MODE</command> die erforderlichen Berechtigungen
  688. angeben.</para>
  689. <para>Moduskriterien werden normalerweise in Kombination mit der Datentypzuordnung
  690. auf der Grundlage von Namen, Position oder Inhalt verwendet. Sie erm&ouml;glichen
  691. dem Benutzer, einen Datentyp auf eine Datei oder ein Verzeichnis einzuschr&auml;nken
  692. oder die erforderlichen Lese-, Schreib- und Ausf&uuml;hrungsberechtigungen
  693. anzugeben.</para>
  694. <para>Das Feld <command>MODE</command> kann die folgenden logischen Operatoren
  695. und Zeichen enthalten:</para>
  696. <informaltable>
  697. <tgroup cols="2" colsep="0" rowsep="0">
  698. <colspec colwidth="1.01in">
  699. <colspec colwidth="4.98in">
  700. <thead>
  701. <row><entry align="left" valign="bottom"><para>Operator</para></entry><entry
  702. align="left" valign="bottom"><para>Beschreibung</para></entry></row></thead>
  703. <tbody>
  704. <row>
  705. <entry align="left" valign="top"><para>!</para></entry>
  706. <entry align="left" valign="top"><para>Logischer Operator<indexterm><primary>NICHT Operator im MODE Feld</primary></indexterm> NICHT</para></entry></row>
  707. <row>
  708. <entry align="left" valign="top"><para>&amp;</para></entry>
  709. <entry align="left" valign="top"><para>Logischer Operator<indexterm><primary>UND Operator im MODE Feld</primary></indexterm> UND</para></entry></row>
  710. <row>
  711. <entry align="left" valign="top"><para>|</para></entry>
  712. <entry align="left" valign="top"><para>Logisches<indexterm><primary>ODER
  713. Operator im MODE Feld</primary></indexterm> ODER</para></entry></row></tbody>
  714. </tgroup></informaltable>
  715. <informaltable>
  716. <tgroup cols="2" colsep="0" rowsep="0">
  717. <colspec colwidth="1.23in">
  718. <colspec colwidth="4.75in">
  719. <thead>
  720. <row><entry align="left" valign="bottom"><para><literal>Zeichen</literal></para></entry>
  721. <entry align="left" valign="bottom"><para><literal>Beschreibung</literal></para></entry>
  722. </row></thead>
  723. <tbody>
  724. <row>
  725. <entry align="left" valign="top"><para>f</para><indexterm><primary>Datei</primary>
  726. <secondary>Datentypkriterien</secondary></indexterm></entry>
  727. <entry align="left" valign="top"><para>Der Datentyp gilt nur f&uuml;r Dateien.
  728. </para></entry></row>
  729. <row>
  730. <entry align="left" valign="top"><para>d</para><indexterm><primary>Verzeichnis </primary><secondary>Datentypkriterien</secondary></indexterm></entry>
  731. <entry align="left" valign="top"><para>Der Datentyp gilt nur f&uuml;r Verzeichnisse.
  732. </para></entry></row>
  733. <row>
  734. <entry align="left" valign="top"><para>r</para></entry>
  735. <entry align="left" valign="top"><para>Die Datei kann von jedem Benutzer gelesen
  736. werden.</para></entry></row>
  737. <row>
  738. <entry align="left" valign="top"><para>w</para><indexterm><primary>Schreibgesch&uuml;tzte
  739. Datentypkriterien</primary></indexterm><indexterm><primary>Datentypen</primary>
  740. <secondary>schreibgesch&uuml;tzt</secondary></indexterm></entry>
  741. <entry align="left" valign="top"><para>In die Datei kann von jedem Benutzer
  742. geschrieben werden.</para></entry></row>
  743. <row>
  744. <entry align="left" valign="top"><para>x</para><indexterm><primary>Datentypen </primary><secondary>ausf&uuml;hrbar</secondary></indexterm><indexterm><primary>ausf&uuml;hrbare Datei, Dateitypkriterien</primary></indexterm></entry>
  745. <entry align="left" valign="top"><para>Die Datei kann von jedem Benutzer ausgef&uuml;hrt
  746. werden.</para></entry></row>
  747. <row>
  748. <entry align="left" valign="top"><para>l</para><indexterm><primary>Verbindung </primary><secondary>Datentypkriterien</secondary></indexterm></entry>
  749. <entry align="left" valign="top">Die Datei stellt eine Verbindung dar.</entry>
  750. </row>
  751. <row>
  752. <entry><para><command>u</command></para></entry>
  753. <entry><para>Die Datei ist set-uid</para></entry></row>
  754. <row>
  755. <entry><para><command>g</command></para></entry>
  756. <entry><para>Die Datei ist set-gid</para></entry></row></tbody></tgroup></informaltable>
  757. <para>Standardm&auml;&szlig;ig hat der Modus keinen Einflu&szlig;.</para>
  758. <sect3 id="SAG.CrDT.div.21">
  759. <title>Beispiele</title>
  760. <itemizedlist remap="Bullet1">
  761. <listitem><para>Die folgenden Modusfelder schr&auml;nken den Datentyp wie
  762. folgt ein:</para>
  763. <informaltable>
  764. <tgroup cols="2" colsep="0" rowsep="0">
  765. <colspec colwidth="0.99in">
  766. <colspec colwidth="4.99in">
  767. <tbody>
  768. <row>
  769. <entry align="left" valign="top"><para>f&amp;!w</para></entry>
  770. <entry align="left" valign="top"><para>Schreibgesch&uuml;tzte Dateien</para></entry>
  771. </row>
  772. <row>
  773. <entry align="left" valign="top"><para>!w</para></entry>
  774. <entry align="left" valign="top"><para>Schreibgesch&uuml;tzte Dateien und
  775. Verzeichnisse</para></entry></row>
  776. <row>
  777. <entry align="left" valign="top"><para>f&amp;x</para></entry>
  778. <entry align="left" valign="top"><para>Ausf&uuml;hrbare Dateien</para></entry>
  779. </row>
  780. <row>
  781. <entry align="left" valign="top"><para>f&amp;w&amp;x</para></entry>
  782. <entry align="left" valign="top"><para>Dateien, in die geschrieben werden
  783. kann, und die ausf&uuml;hrbar sind</para></entry></row>
  784. <row>
  785. <entry align="left" valign="top"><para>x|!w</para></entry>
  786. <entry align="left" valign="top"><para>Dateien, die ausf&uuml;hrbar oder schreibgesch&uuml;tzt
  787. sind</para></entry></row></tbody></tgroup></informaltable>
  788. </listitem>
  789. <listitem><para>Die folgende Datentypdefinition erstellt einen Datentyp f&uuml;r
  790. schreibgesch&uuml;tzte, nicht ausf&uuml;hrbare Dateien, deren Namen der Benennungskonvention <filename>*.doc</filename> entsprechen. Es wird vorausgesetzt, da&szlig; eine Aktion
  791. View f&uuml;r den Datentyp bereits definiert wurde.</para>
  792. <programlisting>DATA_ATTRIBUTES ReadOnlyDocument
  793. {
  794. ICON read_only
  795. DESCRIPTION Dieses Dokument kann nicht beschrieben werden.\
  796. Ein Doppelklick f&uuml;hrt den Editor mit einer\
  797. schreibgesch&uuml;tzten Kopie der Datei aus.
  798. ACTIONS View
  799. }
  800. DATA_CRITERIA ReadOnlyDocument_Criteria
  801. {
  802. NAME_PATTERN *.doc
  803. MODE !d&amp;!x&amp;!w
  804. DATA_ATTRIBUTES_NAME ReadOnlyDocument
  805. }</programlisting>
  806. </listitem>
  807. </itemizedlist>
  808. </sect3>
  809. </sect2>
  810. <sect2 id="SAG.CrDT.div.22">
  811. <title>Datentypzuordnung auf der Grundlage des Inhalts<indexterm><primary>Datentypen</primary><secondary>Inhalt</secondary></indexterm></title>
  812. <para>Im Feld <command><indexterm><primary>CONTENT Feld</primary></indexterm>CONTENT</command> wird angegeben, da&szlig; die Datentypzuordnung auf der Grundlage
  813. des Inhalts der Datei erfolgen soll. Die Datentypzuordnung auf der Grundlage
  814. des Inhalts einer Datei kann in Kombination mit der Datentypzuordnung auf
  815. der Grundlage von Namen oder Position verwendet werden.</para>
  816. <para>Die Zuordnung kann auf der Grundlage einer Zeichenfolge oder des numerischen
  817. Inhalts einer Datei erfolgen. Das erste Byte in der Datei erh&auml;lt die
  818. Zahl 0.</para>
  819. <itemizedlist remap="Bullet1">
  820. <listitem><para>F&uuml;r die Zuordnung auf der Grundlage einer Zeichenfolge
  821. folgende Syntax verwenden:</para>
  822. <para remap="CodeIndent1"><command>CONTENT <symbol role="Variable">start_byte</symbol> string <symbol role="Variable">zeichenfolge</symbol></command></para>
  823. </listitem>
  824. <listitem><para>F&uuml;r die Zuordnung auf der Grundlage des numerischen Inhalts
  825. folgende Syntax verwenden:</para>
  826. <para remap="CodeIndent1"><command>CONTENT <symbol role="Variable">start_byte</symbol> byte <symbol role="Variable">nummer</symbol></command></para>
  827. <para><command>CONTENT <symbol role="Variable">start_byte</symbol> short <symbol role="Variable">nummer</symbol></command></para>
  828. <para><command>CONTENT <symbol role="Variable">start_byte</symbol> long <symbol role="Variable">nummer</symbol></command></para>
  829. </listitem>
  830. <listitem><para>F&uuml;r die Zuordnung auf der Grundlage des Inhalts eines
  831. Verzeichnisses folgende Syntax verwenden:</para>
  832. <para remap="CodeIndent1"><command>CONTENT 0 filename &ldquo;<symbol role="Variable">datei_name</symbol>&rdquo;</command></para>
  833. <para>Standard-C-Notation f&uuml;r Oktal- (beginnend mit <command>0</command>)
  834. und Hexadezimalzahlen (beginnend mit <command>0X</command>) verwenden.</para>
  835. </listitem>
  836. </itemizedlist>
  837. <note>
  838. <para>Die Datentypzuordnung auf der Grundlage des Inhalts beeintr&auml;chtigt
  839. die Systemleistung. Der Benutzer sollte, wenn m&ouml;glich, die Datentypzuordnung
  840. auf der Grundlage von Namen und Position verwenden.</para>
  841. </note>
  842. <para>Beispielsweise gilt der folgende Datentyp Writable_Wingz f&uuml;r alle
  843. Dateien mit Schreibberechtigung, die am Anfang der Datei die Zeichenfolge <command>WNGZ</command> enthalten.</para>
  844. <programlisting>DATA_ATTRIBUTES Writable_Wingz
  845. {
  846. &hellip;
  847. }
  848. DATA_CRITERIA Writable_Wingz_Criteria
  849. {
  850. CONTENT 0 string WNGZ
  851. MODE w&amp;!d
  852. DATA_ATTRIBUTES_NAME Writable_Wingz
  853. }</programlisting>
  854. </sect2>
  855. <sect2 id="SAG.CrDT.div.23" role="Procedure">
  856. <title id="SAG.CrDT.mkr.13">Datentypen mit mehreren unabh&auml;ngigen Kriterien
  857. erstellen<indexterm><primary>Dateitypen</primary><secondary>mehrere Kriterien</secondary></indexterm></title>
  858. <para>Es kann ein Datentyp mit mehreren unabh&auml;ngigen Kriterien erstellt
  859. werden, d.h. die Datei wird dem Datentyp zugeordnet, sofern er <emphasis>einem</emphasis> (oder beiden) Kriterium entspricht.</para>
  860. <orderedlist>
  861. <listitem><para>Die Definition <filename>DATA_ATTRIBUTES</filename> f&uuml;r
  862. den Datentyp erstellen.</para>
  863. </listitem>
  864. <listitem><para>Eine <filename><indexterm><primary>DATA_CRITERIA</primary>
  865. <secondary>mehrere</secondary></indexterm>DATA_CRITERIA</filename> Definition
  866. f&uuml;r jedes Kriterium erstellen.</para>
  867. <para>Das Feld <filename>DATA_ATTRIBUTES_NAME</filename> verwenden, um jedes
  868. Kriterium mit derselben Definition <filename>DATA_ATTRIBUTES</filename> zu
  869. verbinden.</para>
  870. </listitem>
  871. </orderedlist>
  872. <para>Beispielsweise erstellen die folgenden Definitionen den Datentyp Mif
  873. . Die Datentypzuordnung erfolgt auf der Grundlage von Namen oder Inhalt.</para>
  874. <programlisting>DATA_ATTRIBUTES Mif
  875. {
  876. ICON Frame
  877. ACTION_LIST Open,Print
  878. }
  879. DATA_CRITERIA Mif_Name_Criteria
  880. {
  881. DATA_ATTRIBUTES_NAME Mif
  882. NAME_PATTERN *.mif
  883. }
  884. DATA_CRITERIA Mif_Content_Criteria
  885. {
  886. DATA_ATTRIBUTES_NAME Mif
  887. CONTENT 1 zeichenfolge MIFFile
  888. }</programlisting>
  889. </sect2>
  890. </sect1>
  891. <sect1 id="SAG.CrDT.div.24">
  892. <title>Sprachenabh&auml;ngige Datentypen erstellen<indexterm><primary>Dateitypen</primary><secondary>Positionen</secondary></indexterm><indexterm><primary>Positionen</primary><secondary>Datentyp</secondary></indexterm></title>
  893. <para>Der Suchpfad f&uuml;r Datentypen enth&auml;lt sprachenabh&auml;ngige
  894. Positionen. Das Desktop verwendet den Wert von<indexterm><primary>LANG Variable</primary><secondary>Auswirkung auf Datentypen</secondary></indexterm> <systemitem>LANG</systemitem>, um festzulegen, welche Positionen nach Datentypdefinitionen
  895. durchsucht werden.</para>
  896. <sect2 id="SAG.CrDT.div.25">
  897. <title>Positionen f&uuml;r sprachenabh&auml;ngige Datentypen</title>
  898. <para>Sprachenabh&auml;ngige Datentypdefinitionen m&uuml;ssen in die entsprechenden
  899. sprachenabh&auml;ngigen Verzeichnisse im Aktionssuchpfad gestellt werden.
  900. </para>
  901. <para>Der Standardsuchpfad lautet:</para>
  902. <itemizedlist remap="Bullet1">
  903. <listitem><para>Pers&ouml;nliche Aktionen: <symbol role="Variable">Standardverzeichnis</symbol><filename>/.dt/types</filename></para>
  904. </listitem>
  905. <listitem><para>Systemweite Aktionen: <filename>/etc/dt/appconfig/types/</filename><symbol role="Variable">sprache</symbol></para>
  906. </listitem>
  907. <listitem><para>Integrierte Aktionen: <filename>/usr/dt/appconfig/types/</filename><symbol role="Variable">sprache</symbol></para>
  908. </listitem>
  909. </itemizedlist>
  910. </sect2>
  911. <sect2 id="SAG.CrDT.div.26" role="Procedure">
  912. <title>Datentypen sprachenabh&auml;ngig erstellen</title>
  913. <orderedlist>
  914. <listitem><para>Eine Datei in dem zugeh&ouml;rigen sprachenabh&auml;ngigen
  915. Verzeichnis erstellen (zum Beispiel in <filename>/etc/dt/appconfig/types/japanese</filename>).</para>
  916. </listitem>
  917. <listitem><para>Die Datentypdefinition in die sprachenabh&auml;ngige Konfigurationsdatei
  918. kopieren.</para>
  919. </listitem>
  920. <listitem><para>Ein oder mehrere Felder der Datentypdefinition sprachenabh&auml;ngig
  921. anpassen.</para>
  922. </listitem>
  923. </orderedlist>
  924. </sect2>
  925. </sect1>
  926. </chapter>
  927. <!--fickle 1.14 mif-to-docbook 1.7 01/02/96 13:50:20-->
  928. <?Pub *0000055952>