ch10.sgm 34 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019
  1. <!-- $XConsortium: ch10.sgm /main/4 1996/10/11 09:24:36 cdedoc $ -->
  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="infoapg.div.10">
  10. <title id="nWGeMZBc9og24aK">Using Architectural Forms</title>
  11. <indexterm><primary>document type definition</primary>
  12. <secondary>applying architectural forms to</secondary></indexterm>
  13. <para>
  14. Your SGML documents conform to a particular document type definition
  15. (DTD). To make the Information Manager understand how to treat the
  16. elements defined in your DTD, you apply attributes to basic elements
  17. in the DTD. These attributes correspond to Information Manager
  18. architectural forms, which are semantics that Information Manager
  19. interprets to build documents into an on-line library.
  20. </para>
  21. <note>
  22. <para>
  23. The examples in this section are from version 2.2.1 of the DocBook DTD.
  24. </para>
  25. </note>
  26. <para>
  27. Information Manager architectural forms are based on the
  28. organizational model of documentation in the Information Manager.
  29. The Information Manager groups an information library into bookcases
  30. containing books with sections whose titles are arranged in a hypertext
  31. table of contents. It includes access to specific elements such as tables
  32. and graphics.
  33. </para>
  34. <para>
  35. Bookcases, books, sections, titles, links, tables, and graphics,
  36. are examples of important elements that the browser must identify
  37. to manage the information. Information Manager provides architectural
  38. forms that correspond to each of these types of information.
  39. To identify these pieces for the Information Manager,
  40. you apply the corresponding architectural forms to your DTD.
  41. Specifically, you add attributes to each element that has characteristics
  42. you want to identify. To make it easier to maintain your DTD,
  43. use parameter entity references provided by the Information Manager.
  44. </para>
  45. <!--)))))))))))))))))))))))))))))))))))))))))))))))))))))))-->
  46. <sect1>
  47. <title id="VyBTVcBfQJ9X3cS">Using Parameter Entity References</title>
  48. <para>The Information Manager provides parameter entity references
  49. as a quick (and recommended) way to use Information Manager
  50. architectural forms. The entity names for Information Manager
  51. architectural forms are stored in
  52. <filename>/usr/dt/infolib/&lt;lang>/SGML/dtinfo.af</filename>.
  53. By using parameter entity references in your attributes list
  54. rather than entering complete attributes, you'll be able to take
  55. advantage of new features of the Information Manager,
  56. while minimizing changes to your DTD. For example:
  57. </para>
  58. <itemizedlist>
  59. <listitem>
  60. <para>
  61. To apply the complete attribute:
  62. </para>
  63. <literallayout>
  64. &lt;!ELEMENT caption - - ((%inlinechar.gp;)+) >
  65. &lt;!ATTLIST caption
  66. %commonatts;
  67. DTINFO.TITLE CDATA #FIXED &ldquo;#CONTENT&rdquo;
  68. >
  69. </literallayout>
  70. </listitem>
  71. <listitem><para>To use the parameter entity reference:</para>
  72. <literallayout>
  73. &lt;!ELEMENT caption - - ((%inlinechar.gp;)+) >
  74. &lt;!ATTLIST caption
  75. %commonatts;
  76. %DTINFO.Title; &ldquo;#CONTENT&rdquo;
  77. >
  78. </literallayout>
  79. </listitem>
  80. </itemizedlist>
  81. <para>
  82. See <link linkend="EzilaaBwXng24aK">Applying Architectural Forms</link>
  83. and <link linkend="fyBTVcBfQJ9X3cS">Description of Information Manager
  84. Architectural Forms</link> for more information on editing your DTD.
  85. </para>
  86. </sect1>
  87. <!--)))))))))))))))))))))))))))))))))))))))))))-->
  88. <sect1>
  89. <title id="fyBTVcBfQJ9X3cS">Description of DTINFO Architectural Forms</title>
  90. <para>
  91. The descriptions of architectural forms identify related forms,
  92. forms that are commonly used in conjunction with the architectural
  93. form being described. A related form is identified in the documentation
  94. using its corresponding attribute name. This section discusses:
  95. </para>
  96. <itemizedlist>
  97. <listitem><para><link linkend="orilaaBwXng24aK">Section Forms</link></para>
  98. </listitem>
  99. <listitem><para><link linkend="KtilaaBwXng24aK">Value Form</link></para>
  100. </listitem>
  101. <listitem><para><link linkend="fsilaaBwXng24aK">Scope Forms</link></para>
  102. </listitem>
  103. <listitem><para><link linkend="nyilaaBwXng24aK">Hypertext Forms</link></para>
  104. </listitem>
  105. <listitem><para><link linkend="draW.aB80og24aK">Style Form</link></para>
  106. </listitem>
  107. </itemizedlist>
  108. <para>
  109. Although it is easier to create tables of contents, bookcase
  110. specifications and style sheets from scratch, you can apply Information
  111. Manager architectural forms to existing bookcase, style sheet,
  112. and table of contents DTDs. For more information see Bookcase Forms,
  113. Style Sheet Forms, and <link linkend="S3CTVcBfQJ9X3cS">Table of Contents
  114. Forms</link>.
  115. </para>
  116. <note>
  117. <para>
  118. These architectural forms must be applied before most
  119. <command>dtinfogen</command> subcommands can be used.
  120. </para>
  121. </note>
  122. <!--)))))))))))))))))))))))))))))))))))))))))-->
  123. <sect2>
  124. <title id="QnDu4iB6dmg24aK">Understanding Values</title>
  125. <para>For Information Manager architectural forms that take data values,
  126. a simple functional language provides a mechanism to assemble combinations
  127. of element content, attribute values, and literals. The arguments
  128. are defined in the table
  129. <link linkend="UtilaaBwXng24aK">Syntax for Creating Values</link>.
  130. </para>
  131. <table>
  132. <Title id="UtilaaBwXng24aK">Syntax for Creating Values</title>
  133. <tgroup cols="2" colsep="0" rowsep="0">
  134. <colspec colwidth="156*">
  135. <colspec colwidth="372*">
  136. <tbody>
  137. <row>
  138. <entry align="left" valign="top"><literal>Syntax</literal></entry>
  139. <entry align="left" valign="top"><literal>Meaning</literal>
  140. </entry>
  141. </row>
  142. <row>
  143. <entry align="left" valign="top">attr()</entry>
  144. <entry align="left" valign="top">attr() returns the value of the attribute
  145. name used as the argument. IMPLIED attributes return an empty string.
  146. attr() references attributes on the current element only.
  147. </entry>
  148. </row>
  149. <row>
  150. <entry align="left" valign="top">concat()</entry>
  151. <entry align="left" valign="top">concat() concatenates string arguments
  152. (literals, contents of elements, attribute values, or values of the other
  153. functions).
  154. </entry>
  155. </row>
  156. <row>
  157. <entry align="left" valign="top">firstof()</entry>
  158. <entry align="left" valign="top">firstof() returns the first non-empty
  159. string in its arguments. It chooses the value from the order of
  160. possibilities defined by its arguments.
  161. </entry>
  162. </row>
  163. <row>
  164. <entry align="left" valign="top"><replaceable>element name</replaceable>
  165. </entry>
  166. <entry align="left" valign="top"><replaceable>element name</replaceable>
  167. uses, as the value, the name of an element that is a member of the current
  168. element's content model.
  169. </entry>
  170. </row>
  171. <row>
  172. <entry align="left" valign="top"><replaceable>literal string</replaceable>
  173. </entry>
  174. <entry align="left" valign="top"><replaceable>literal string</replaceable>
  175. uses either a pair of '...' or "..." enclosing quotes to signify a literal
  176. string
  177. </entry>
  178. </row>
  179. <row>
  180. <entry align="left" valign="top">#CONTENT</entry>
  181. <entry align="left" valign="top">#CONTENT uses all of the current element's
  182. content as the value.
  183. </entry>
  184. </row>
  185. </tbody>
  186. </tgroup>
  187. </table>
  188. <note>
  189. <para>
  190. You can combine the syntax explained in the table to create the
  191. value you want, and you can add literal strings as needed.
  192. </para>
  193. </note>
  194. <para>
  195. Examples of specifying values for architectural forms are:
  196. </para>
  197. <literallayout>
  198. DTINFO.Title CDATA #FIXED
  199. "concat( attr(Label), RefTitle, ManVolNum )"
  200. DTINFO.Graphic CDATA #FIXED
  201. "firstof( attr(Fileref), attr(Other), #CONTENT )"
  202. </literallayout>
  203. </sect2>
  204. <!-- ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -->
  205. <sect2>
  206. <title id="orilaaBwXng24aK">Section Forms</title>
  207. <indexterm><primary>architectural forms</primary>
  208. <secondary>section forms</secondary></indexterm>
  209. <para>
  210. For the Information Manager to understand the structure of your SGML
  211. files, you must apply section architectural forms. The use and meaning
  212. of a form's value depends on the type of form it is. For example, when
  213. specified for a chapter title, the value is displayed in the hypertext
  214. table of contents. For <systemitem>DTINFO.Graphic</systemitem>, the
  215. value is the name of the file containing the graphic data. These
  216. relationships are described in the table <link
  217. linkend="GiaW.aB80og24aK">Meaning of the Form Values</link>.</para>
  218. <table>
  219. <title id="GiaW.aB80og24aK">Meaning of the Form Values</title>
  220. <tgroup cols="2" colsep="0" rowsep="0">
  221. <colspec colwidth="160*">
  222. <colspec colwidth="368*">
  223. <tbody>
  224. <row>
  225. <entry align="left" valign="top"><literal>Section Form</literal></entry>
  226. <entry align="left" valign="top"><literal>Meaning of Value Form,
  227. When Applied</literal>
  228. </entry>
  229. </row>
  230. <row>
  231. <entry align="left" valign="top">DTINFO.Section</entry>
  232. <entry align="left" valign="top">The value of a section is what would be
  233. displayed in the Information Manager Reading window.
  234. The default is #CONTENT.
  235. </entry>
  236. </row>
  237. <row>
  238. <entry align="left" valign="top">DTINFO.Title</entry>
  239. <entry align="left" valign="top">The value of a title for
  240. DTINFO.Section is displayed in the Information Manager Book List.
  241. </entry>
  242. </row>
  243. <row>
  244. <entry align="left" valign="top">DTINFO.Graphic</entry>
  245. <entry align="left" valign="top">The value of a graphic is the file name
  246. containing the graphical data. This value can also be derived from
  247. entity references.
  248. </entry>
  249. </row>
  250. <row>
  251. <entry align="left" valign="top">DTINFO.Ignore</entry>
  252. <entry align="left" valign="top">This information will not be stored
  253. in the database or in the FulText Index (so it won't be displayed).
  254. </entry>
  255. </row>
  256. <row>
  257. <entry align="left" valign="top">DTINFO.ShortTitle</entry>
  258. <entry align="left" valign="top">The value of a shorttitle is the
  259. text used in certain places in the Reading window where a full title
  260. might be truncated.
  261. </entry>
  262. </row>
  263. </tbody>
  264. </tgroup>
  265. </table>
  266. <variablelist>
  267. <varlistentry>
  268. <term><systemitem>DTINFO.Section</systemitem></term>
  269. <listitem>
  270. <para>
  271. Apply the <systemitem>DTINFO.Section</systemitem> form to container
  272. elements that separate pieces of information such as chapters.
  273. Use <systemitem>DTINFO.Section</systemitem> to define which elements
  274. you want displayed to readers as a unit of information in a reading window
  275. of the Information Manager. <command>dtinfogen</command> can derive
  276. the hierarchy by containment using <systemitem>DTINFO.Section</systemitem>.
  277. </para>
  278. <para>
  279. Entity name: <systemitem>DTINFO.Section</systemitem>
  280. </para>
  281. <para>
  282. Attribute template:
  283. <systemitem>DTINFO.Section CDATA FIXED &ldquo;#CONTENT&rdquo;</systemitem>
  284. </para>
  285. <para>
  286. Related Forms:
  287. <systemitem>DTINFO.ID</systemitem> (Required), <systemitem>DTINFO.Scope</systemitem>, <systemitem>DTINFO.ShortTitle</systemitem>, <systemitem>DTINFO.Style</systemitem>, <systemitem>DTINFO.Title</systemitem> (Required), <systemitem>DTINFO.Value</systemitem></para>
  288. <para>
  289. Example:
  290. </para>
  291. <literallayout>
  292. &lt;!ELEMENT Preface - - (DocInfo?, Title, TitleAbbrev?, (%sect1.gp;)) >
  293. &lt;!ATTLIST Preface
  294. %commonatts;
  295. %DTINFO.Section; &ldquo;#CONTENT&rdquo;
  296. %DTINFO.Style; &ldquo;sty1&rdquo;
  297. %DTINFO.Title; &ldquo;#CONTENT&rdquo;
  298. %DTINFO.ID; &ldquo;attr(id)&rdquo;
  299. >
  300. </literallayout>
  301. </listitem>
  302. </varlistentry>
  303. <varlistentry><term><systemitem>DTINFO.Title</systemitem></term>
  304. <listitem>
  305. <para>
  306. You typically apply <systemitem>DTINFO.Title</systemitem>
  307. to any type of title, including chapter titles, headings, captions,
  308. figure titles, table titles, and example titles.
  309. </para>
  310. <para>
  311. Entity name: <systemitem>DTINFO.Title</systemitem>
  312. </para>
  313. <para>
  314. Attribute template: <systemitem>DTINFO.Title CDATA #FIXED</systemitem>
  315. </para>
  316. <para>
  317. Related Forms: <systemitem>DTINFO.Scope</systemitem>, <systemitem>DTINFO.Value</systemitem></para>
  318. <para>
  319. Example:
  320. </para>
  321. <literallayout>
  322. &lt;!ELEMENT RefMeta - - (RefEntryTitle, ManVolNum?,RefMiscInfo*) >
  323. &lt;!ATTLIST RefMeta
  324. %commonatts;
  325. %DTINFO.Title; #&ldquo;CONTENT&rdquo;
  326. %DTINFO.Value; &ldquo;concat( RefEntryTitle, ManVolNum)&rdquo;
  327. >
  328. </literallayout>
  329. </listitem>
  330. </varlistentry>
  331. <varlistentry>
  332. <term><systemitem>DTINFO.ShortTitle</systemitem></term>
  333. <listitem>
  334. <para>
  335. If your existing DTD has an abbreviated form of a title, apply the
  336. <systemitem>DTINFO.ShortTitle</systemitem> to that element. The content
  337. of this element is never displayed in a reading window, but may appear
  338. as a list item in a dialog. The content does not appear in the FulText
  339. index.</para>
  340. <para>
  341. Entity name: <systemitem>DTINFO.ShortTitle</systemitem></para>
  342. <para>
  343. Attribute template: <systemitem>DTINFO.ShortTitle CDATA #FIXED</systemitem></para>
  344. <para>
  345. Related Forms: <systemitem>DTINFO.Value</systemitem></para>
  346. <para>
  347. Example:</para>
  348. <literallayout>
  349. &lt;!ELEMENT TitleAbbrev - - ((%inlinechar.gp;)+) >
  350. &lt;!ATTLIST TitleAbbrev
  351. %commonatts;
  352. %DTINFO.ShortTitle; &ldquo;#CONTENT&rdquo;
  353. >
  354. </literallayout>
  355. </listitem>
  356. </varlistentry>
  357. <varlistentry>
  358. <term><systemitem>DTINFO.Graphic</systemitem></term>
  359. <listitem>
  360. <para>
  361. Apply <systemitem>DTINFO.Graphic</systemitem> to elements that designate graphics, mathematical equations, or certain types of tables.</para>
  362. <para>
  363. Entity name: <systemitem>DTINFO.Graphic</systemitem></para>
  364. <para>
  365. Attribute template: <systemitem>DTINFO.Graphic CDATA #FIXED</systemitem></para>
  366. <para>
  367. Related Forms: <systemitem>DTINFO.Scope</systemitem>, <systemitem>DTINFO.ID</systemitem>.</para>
  368. <para>
  369. Example:
  370. </para>
  371. <literallayout>
  372. &lt;!ELEMENT Graphic - - CDATA>
  373. &lt;!ATTLIST Graphic
  374. Entityref ENTITY #IMPLIED
  375. Fileref CDATA #IMPLIED
  376. Format NOTATION
  377. %notationtypes; #IMPLIED
  378. Id ID #IMPLIED
  379. %DTINFO.Graphic; &ldquo;#CONTENT&rdquo;
  380. %DTINFO.ID; &ldquo;:attr( ID )&rdquo;
  381. %DTINFO.Scope.Graphic;
  382. ></literallayout>
  383. </listitem>
  384. </varlistentry>
  385. <!-- ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((-->
  386. <VARLISTENTRY>
  387. <Term><SystemItem>DTINFO.Table</SystemItem></Term>
  388. <listitem>
  389. <para>
  390. <comment>We may not support DTINFO.Table - so it may be commented
  391. out in future documentation.</comment>
  392. Elements that designate SGML-encoded tables according to the CALS table
  393. model should receive the <SystemItem>DTINFO.Table</SystemItem> attribute.
  394. Otherwise they should receive <SystemItem>DTINFO.Graphic</SystemItem>.
  395. </para>
  396. <para>
  397. Entity name: <SystemItem>DTINFO.Table</SystemItem></para>
  398. <para>
  399. Attribute template: <SystemItem>DTINFO.Table CDATA #FIXED</SystemItem></para>
  400. <para>
  401. Related Forms: <SystemItem>Scope.Table</SystemItem>.</para>
  402. <para>
  403. Example:</para>
  404. <literallayout>
  405. &lt;!ELEMENT InformalTable - - ((%tblcontent.gp;)) -(Table|InformalTable)&gt;
  406. &lt;!ATTLIST InformalTable
  407. %commonatts;
  408. Colsep %yesorno; #IMPLIED
  409. Frame (Top|Bottom|Topbot|All|Sides|None) #IMPLIED
  410. Orient (Port | Land) #IMPLIED
  411. Pgwide %yesorno; #IMPLIED
  412. Rowsep %yesorno; #IMPLIED
  413. Tabstyle NMTOKEN #IMPLIED
  414. %DTINFO.Table; &ldquo;#CONTENT&rdquo;
  415. %DTINFO.Scope.Table;
  416. &gt;
  417. </LITERALLAYOUT>
  418. </ListItem>
  419. </VarListEntry>
  420. <varlistentry>
  421. <term><systemitem>DTINFO.Ignore</systemitem></term>
  422. <listitem>
  423. <para>
  424. Apply <systemitem>DTINFO.Ignore</systemitem> to elements that contain
  425. information you do not want to have displayed. If the elements contain
  426. useful hypertext information, it will be used during the build process.
  427. For example, you can provide a <systemitem>DTINFO.Value</systemitem>
  428. that is passed up and used to create a hypertext value.</para>
  429. <para>
  430. Entity name: <systemitem>DTINFO.Ignore</systemitem></para>
  431. <para>
  432. Attribute template: <systemitem>DTINFO.Ignore CDATA #FIXED</systemitem></para>
  433. <para>
  434. Related Forms: <systemitem>DTINFO.Value</systemitem></para>
  435. <para>
  436. Example:</para>
  437. <literallayout>
  438. &lt;!ELEMENT InternalComment - - ((%inlinechar.gp;)+)>
  439. &lt;!ATTLIST InternalComment
  440. %DTINFO.Ignore; &ldquo;#CONTENT&rdquo;
  441. %DTINFO.Value; &ldquo;#CONTENT&rdquo;
  442. >
  443. </literallayout>
  444. </listitem>
  445. </varlistentry>
  446. </variablelist>
  447. </sect2>
  448. <!--((((((((((((((((((((((((((((((((((((((((((((((((((((((-->
  449. <sect2>
  450. <title id="KtilaaBwXng24aK">Value Form</title>
  451. <indexterm><primary>architectural forms</primary>
  452. <secondary>section value form</secondary></indexterm>
  453. <para>
  454. The <systemitem>DTINFO.Value</systemitem> form defines the return value
  455. of an architectural form. <systemitem>DTINFO.Value</systemitem> returns
  456. a value to a higher-level element. For example, assume element
  457. <replaceable>foo</replaceable> has a content model of
  458. <replaceable>a?</replaceable>, <replaceable>b</replaceable>,
  459. and <replaceable>foo</replaceable> uses the architectural form
  460. <systemitem>DTINFO.Title firstof &ldquo;(a,b)&rdquo;</systemitem>.
  461. The value of <replaceable>a</replaceable> might be constructed
  462. by concatenating its <systemitem>Label</systemitem> attribute
  463. and its content. This construction can be processed and given
  464. to <replaceable>foo</replaceable> using <systemitem>DTINFO.Value</systemitem>.
  465. Only one <systemitem>DTINFO.Value</systemitem> can be placed on
  466. any element.</para>
  467. <para>
  468. The value architectural form is:</para>
  469. <variablelist>
  470. <varlistentry>
  471. <term><systemitem>DTINFO.Value</systemitem></term>
  472. <listitem>
  473. <para>
  474. The <systemitem>DTINFO.Value</systemitem> attribute specifies a
  475. return value for an architectural form. The value for
  476. <systemitem>DTINFO.Value</systemitem> is a functional language
  477. that creates a stream to be used as a value. The value takes the
  478. form of an implied concatenation. The arguments are defined in the
  479. table <link linkend="UtilaaBwXng24aK">Syntax for Referencing Values</link>.
  480. </para>
  481. <para>
  482. Entity name: <systemitem>DTINFO.Value</systemitem></para>
  483. <para>
  484. Attribute template: <systemitem>DTINFO.Value CDATA #FIXED &ldquo; <replaceable>Value</replaceable>&rdquo;</systemitem></para>
  485. <para>
  486. Related Forms: All section forms</para>
  487. <para>
  488. Example:</para>
  489. <literallayout>
  490. &lt;!ELEMENT RefMeta - - (RefEntryTitle, ManVolNum?,RefMiscInfo*) >
  491. &lt;!ATTLIST RefMeta
  492. %commonatts;
  493. %DTINFO.Title;
  494. %DTINFO.Value; &ldquo;concat( RefEntryTitle,'(`,
  495. ManVolNum,')')&rdquo;
  496. >
  497. </literallayout>
  498. </listitem>
  499. </varlistentry>
  500. </variablelist>
  501. </sect2>
  502. <!--))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))-->
  503. <sect2>
  504. <title id="fsilaaBwXng24aK">Scope Forms</title>
  505. <indexterm><primary>architectural forms</primary>
  506. <secondary>scope forms</secondary></indexterm>
  507. <para>
  508. In the Information Manager, users can define the scope of searches.
  509. They can tell the browser which books to include in a search, and
  510. can specify whether to search all components of the books, body text,
  511. examples, indexes, graphics, tables, titles, or some combination thereof.
  512. Scope architectural forms determine which elements are included in a
  513. search scope in the Information Manager. Specifically, they determine
  514. which scope information is indexed within the FulText index. The scope
  515. applies to any element contained within an element to which
  516. <systemitem>DTINFO.Scope</systemitem> has been applied.
  517. </para>
  518. <para>
  519. To apply scope forms to an element, you apply the
  520. <systemitem>DTINFO.Scope</systemitem> attribute with any of five values.
  521. If you do not apply a scope form to an element the data has the default
  522. scope of <systemitem>Body Text</systemitem>.
  523. </para>
  524. <para>
  525. Possible values for <systemitem>DTINFO.Scope</systemitem> include Example,
  526. Graphic, Index, Table and Title, and are represented by these entities:
  527. </para>
  528. <variablelist>
  529. <varlistentry><term><systemitem>DTINFO.Scope.Example</systemitem></term>
  530. <listitem>
  531. <para>
  532. Apply the <systemitem>DTINFO.Scope</systemitem> attribute with a
  533. value of <systemitem>Example</systemitem> to elements that contain data
  534. you want to include in searches that are scoped to include examples.
  535. </para>
  536. <para>
  537. Entity name: <systemitem>DTINFO.Scope.Example</systemitem></para>
  538. <para>
  539. Attribute template: <systemitem>DTINFO.Scope Name #FIXED Example</systemitem></para>
  540. <para>
  541. Example:</para>
  542. <literallayout>
  543. &lt;!ELEMENT Example - - (Title, TitleAbbrev?, (%para.gp; |
  544. %list.gp; | %object.gp;)+) >
  545. &lt;!ATTLIST Example
  546. %commonatts;
  547. Label CDATA #IMPLIED
  548. %DTINFO.Scope.Example;
  549. >
  550. </literallayout>
  551. </listitem>
  552. </varlistentry>
  553. <varlistentry>
  554. <term><systemitem>DTINFO.Scope.Graphic</systemitem></term>
  555. <listitem>
  556. <para>
  557. Apply the <systemitem>DTINFO.Scope</systemitem> attribute with a
  558. value of <systemitem>Graphic</systemitem> to elements you want included
  559. in searches that are scoped to include graphics. The effect of applying
  560. this architectural form is that any strings contained within certain
  561. graphic types may be extracted and indexed for searching.
  562. </para>
  563. <para>
  564. Entity name: <systemitem>DTINFO.Scope.Graphic</systemitem></para>
  565. <para>
  566. Attribute template: <systemitem>DTINFO.Scope Name #FIXED Graphic</systemitem></para>
  567. <para>
  568. Related Forms: <systemitem>DTINFO.Graphic</systemitem>, <systemitem>DTINFO.ID</systemitem>, <systemitem>DTINFO.Value</systemitem></para>
  569. <para>
  570. Example:</para>
  571. <literallayout>
  572. &lt;!ELEMENT Graphic - - CDATA>
  573. &lt;!ATTLIST Graphic
  574. Entityref ENTITY #IMPLIED
  575. Fileref CDATA #IMPLIED
  576. Format NOTATION
  577. %notationtypes #IMPLIED
  578. Id ID #IMPLIED
  579. %DTINFO.Graphic;
  580. %DTINFO.ID; &ldquo;attr( Id )&rdquo;
  581. %DTINFO.Scope.Graphic;
  582. %DTINFO.Value; &ldquo;attr( Fileref )&rdquo;
  583. >
  584. </literallayout>
  585. </listitem>
  586. </varlistentry>
  587. <varlistentry><term><systemitem>DTINFO.Scope.Index</systemitem></term>
  588. <listitem>
  589. <para>
  590. Apply the <systemitem>DTINFO.Scope</systemitem> attribute with a
  591. value of <systemitem>Index</systemitem> to elements you want included
  592. in searches that are scoped to include book indexes.
  593. </para>
  594. <para>
  595. Entity name: <systemitem>DTINFO.Scope.Index</systemitem></para>
  596. <para>
  597. Attribute template: <systemitem>DTINFO.Scope Name #FIXED Index</systemitem></para>
  598. <para>
  599. Related Forms: <systemitem>DTINFO.Section</systemitem></para>
  600. <para>
  601. Example:</para>
  602. <literallayout>
  603. &lt;!ELEMENT (SetIndex | Index) - - (DocInfo?, (Title,
  604. TitleAbbrev?)?, (%component.gp;)*, (IndexDiv+ |
  605. IndexEntry+)) >
  606. &lt;!ATTLIST (SetIndex | Index)
  607. %commonatts;
  608. %DTINFO.Section;
  609. DTINFO.Scope.Index;
  610. >
  611. </literallayout>
  612. </listitem>
  613. </varlistentry>
  614. <varlistentry><term><systemitem>DTINFO.Scope.Table</systemitem></term>
  615. <listitem>
  616. <para>
  617. Apply the <systemitem>DTINFO.Scope</systemitem> attribute with a
  618. value of <systemitem>Table</systemitem> to elements you want included
  619. in searches that are scoped to include tables. The effect of this
  620. architectural form is that any strings contained within the CALS
  621. SGML table model are indexed for searching.
  622. </para>
  623. <para>
  624. Entity name: <systemitem>DTINFO.Scope.Table</systemitem>
  625. </para>
  626. <para>
  627. Attribute template: <systemitem>DTINFO.Scope Name #FIXED Table</systemitem>
  628. </para>
  629. <para>
  630. Related Forms: <systemitem>DTINFO.Table</systemitem>.</para>
  631. <para>
  632. Example:</para>
  633. <literallayout>
  634. &lt;!ELEMENT InformalTable - - ((%tblcontent.gp;)) -(Table|InformalTable)>
  635. &lt;!ATTLIST InformalTable
  636. %commonatts;
  637. Colsep %yesorno; #IMPLIED
  638. Frame (Top|Bottom|Topbot|All|Sides|None) #IMPLIED
  639. Orient (Port | Land) #IMPLIED
  640. Pgwide %yesorno; #IMPLIED
  641. Rowsep %yesorno; #IMPLIED
  642. Tabstyle NMTOKEN #IMPLIED
  643. %DTINFO.Table;
  644. %DTINFO.Scope.Table;
  645. ></literallayout>
  646. </listitem>
  647. </varlistentry>
  648. <varlistentry><term><systemitem>DTINFO.Scope.Title</systemitem></term>
  649. <listitem>
  650. <para>
  651. Apply the <systemitem>DTINFO.Scope</systemitem> attribute with a
  652. value of <systemitem>Title</systemitem> to elements you want included
  653. in searches that are scoped to include titles.
  654. </para>
  655. <para>
  656. Entity name: <systemitem>DTINFO.Scope.Title</systemitem></para>
  657. <para>
  658. Attribute template: <systemitem>DTINFO.Scope Name #FIXED Title</systemitem></para>
  659. <para>
  660. Related Forms: <systemitem>DTINFO.Title</systemitem>,
  661. <systemitem>DTINFO.Value</systemitem>.</para>
  662. <para>
  663. Example:</para>
  664. <literallayout>
  665. &lt;!ELEMENT RefMeta - - (RefEntryTitle, ManVolNum?, RefMiscInfo*) >
  666. &lt;!ATTLIST RefMeta
  667. %commonatts;
  668. %DTINFO.Title;
  669. %DTINFO.Scope.Title;
  670. %DTINFO.Value; &ldquo;concat( RefEntryTitle, ManVolNum)&rdquo;
  671. >
  672. </literallayout>
  673. </listitem>
  674. </varlistentry>
  675. </variablelist>
  676. </sect2>
  677. <!--)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))-->
  678. <sect2>
  679. <title id="nyilaaBwXng24aK">Hypertext Forms</title>
  680. <indexterm><primary>architectural forms</primary>
  681. <secondary>location forms</secondary></indexterm>
  682. <para>
  683. The attributes corresponding to hypertext architectural forms
  684. are <systemitem>DTINFO.ID</systemitem> and
  685. <systemitem>DTINFO.IDREF</systemitem>. For information on assigning
  686. a value for these attributes see the table
  687. <link linkend="UtilaaBwXng24aK">Syntax for Referencing Values</link>.
  688. </para>
  689. <note>
  690. <para>
  691. SGML reference concrete syntax specifies that the value
  692. of <systemitem>DTINFO.ID</systemitem> and
  693. <systemitem>DTINFO.IDREF</systemitem> must be no more
  694. than 1024 characters long and must start with an alpha-numeric character.
  695. </para>
  696. </note>
  697. <variablelist>
  698. <varlistentry><term><systemitem>DTINFO.ID</systemitem></term>
  699. <listitem>
  700. <para>
  701. Apply the <systemitem>DTINFO.ID</systemitem> attribute to any
  702. element which specifies the destination of a link.
  703. </para>
  704. <para>
  705. Entity name: <systemitem>DTINFO.ID</systemitem></para>
  706. <para>
  707. Attribute template: <systemitem>DTINFO.ID CDATA #FIXED &ldquo;<replaceable>Value</replaceable>&rdquo;</systemitem></para>
  708. <para>
  709. Related Forms: All</para>
  710. <para>
  711. Example:</para>
  712. <literallayout>
  713. &lt;!ELEMENT Anchor - O EMPTY >
  714. !ATTLIST Anchor
  715. Id ID #REQUIRED
  716. Pagenum CDATA #IMPLIED
  717. Remap CDATA #IMPLIED
  718. Role CDATA #IMPLIED
  719. XRefLabel CDATA #IMPLIED
  720. %DTINFO.ID; &ldquo;attr( Id )&rdquo;
  721. >
  722. </literallayout>
  723. <note>
  724. <para>
  725. The value of each <systemitem>DTINFO.ID</systemitem> must be unique.
  726. </para>
  727. </note>
  728. </listitem>
  729. </varlistentry>
  730. <varlistentry>
  731. <term><systemitem>DTINFO.IDREF</systemitem></term>
  732. <listitem>
  733. <para>
  734. Apply the <systemitem>DTINFO.IDREF</systemitem> attribute to
  735. any element that contains data to be used as a hot spot for
  736. traversing to the location specified as the value for
  737. <systemitem>DTINFO.IDREF</systemitem>.</para>
  738. <para>Entity name: <systemitem>DTINFO.IDREF</systemitem>
  739. </para>
  740. <para>
  741. Attribute template: <systemitem>DTINFO.IDREF CDATA #FIXED &ldquo;<replaceable>Value</replaceable>&rdquo;</systemitem></para>
  742. <para>
  743. Related Forms: All</para>
  744. <para>
  745. Example:</para>
  746. <literallayout>
  747. &lt;!ELEMENT Link - - ((%inlinechar.gp;)+) >
  748. &lt;!ATTLIST Link
  749. Endterm IDREF #IMPLIED
  750. Linkend IDREF #REQUIRED
  751. Type CDATA #IMPLIED
  752. %DTINFO.IDREF; &ldquo;attr( Linkend )&rdquo;
  753. >
  754. </literallayout>
  755. <note>
  756. <para>
  757. The value of <systemitem>DTINFO.IDREF</systemitem> should be the
  758. value of an existing <systemitem>DTINFO.ID</systemitem>.
  759. </para>
  760. </note>
  761. </listitem>
  762. </varlistentry>
  763. </variablelist>
  764. </sect2>
  765. <!--))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))-->
  766. <sect2>
  767. <title id="draW.aB80og24aK">Style Form</title>
  768. <indexterm><primary>architectural forms</primary>
  769. <secondary>style form</secondary></indexterm>
  770. <para>
  771. The attribute corresponding to the style architectural form is:
  772. </para>
  773. <variablelist>
  774. <varlistentry>
  775. <term><systemitem>DTINFO.Style</systemitem></term>
  776. <listitem>
  777. <para>
  778. Apply the Information Manager style architectural form,
  779. <systemitem>DTINFO.Style</systemitem>, to elements to which you have
  780. already applied the structural form <systemitem>DTINFO.Section</systemitem>
  781. and for which you want to override their inherited style sheet.
  782. <systemitem>DTINFO.Style</systemitem> can be used only for elements
  783. with <systemitem>DTINFO</systemitem> architectural forms
  784. <systemitem>Bookcase</systemitem>, <systemitem>Book</systemitem> and
  785. <systemitem>DTINFO.Section</systemitem>.
  786. </para>
  787. <para>
  788. The value of <systemitem>DTINFO.Style</systemitem> is the name of
  789. a style sheet (the value of a style sheet's
  790. <systemitem>DTINFO.ID</systemitem> architectural form) and must
  791. resolve to a style sheet specified in the bookcase specification document.
  792. Style sheets are inherited by all subordinate sections unless
  793. they are overridden with a new one.
  794. </para>
  795. <note>
  796. <para>
  797. Because the content of <systemitem>DTINFO.Style</systemitem> is a
  798. string that matches the ID of a stylesheet name (and is not an element)
  799. it must be quoted twice, as in
  800. <userinput>%DTINFO.Style; &ldquo;&lsquo;sty1&rsquo;&rdquo;</userinput>
  801. or in the form <userinput>%DTINFO.Style
  802. &ldquo;concat(&lsquo;sty1&rsquo;)&rdquo;</userinput>
  803. </para>
  804. </note>
  805. <para>
  806. Entity name: <systemitem>DTINFO.Style</systemitem>
  807. </para>
  808. <para>
  809. Attribute template:
  810. <systemitem>DTINFO.Style CDATA #FIXED &ldquo;<replaceable>Value</replaceable>&rdquo;</systemitem></para>
  811. <para>
  812. Related Forms: <systemitem>DTINFO.Section</systemitem></para>
  813. <para>
  814. Example:</para>
  815. <literallayout>
  816. &lt;!ELEMENT Preface - - (DocInfo?, Title, TitleAbbrev?, (%sect1.gp;)) >
  817. &lt;!ATTLIST Preface
  818. %commonatts;
  819. %DTINFO.Section;
  820. %DTINFO.Style; &ldquo;&lsquo;sty1&rsquo;&rdquo;
  821. >
  822. </literallayout>
  823. </listitem>
  824. </varlistentry>
  825. </variablelist>
  826. </sect2>
  827. </sect1>
  828. <!--))))))))))))))))))))))))))))))))))))))))))))))))))))))))))-->
  829. <sect1>
  830. <title id="EzilaaBwXng24aK">Applying Architectural Forms</title>
  831. <indexterm><primary>architectural forms</primary>
  832. <secondary>applying to existing DTD</secondary></indexterm>
  833. <para>
  834. Use this procedure to apply architectural forms to your DTD.
  835. Refer to <link linkend="fyBTVcBfQJ9X3cS">Description of Information
  836. Manager Architectural Forms</link> for information on when to apply
  837. architectural forms to an element in your DTD:
  838. </para>
  839. <note>
  840. <para>
  841. Applying the attributes for architectural forms does not
  842. invalidate your document instance, nor does it require any
  843. modifications to your document instance.
  844. </para>
  845. </note>
  846. <orderedlist>
  847. <listitem>
  848. <para>
  849. At the top of your DTD, add the entity declaration and use statement
  850. for Information Manager architectural forms:</para>
  851. <literallayout>
  852. &lt;!ENTITY % DOCBOOK PUBLIC
  853. &ldquo;-//Common Desktop Environment//ENTITIES DtInfo Architectural Forms//EN&rdquo;
  854. >
  855. %DOCBOOK;
  856. </literallayout>
  857. </listitem>
  858. <listitem>
  859. <para>
  860. Analyze your DTD to understand what you want to display.
  861. </para>
  862. </listitem>
  863. <listitem>
  864. <para>
  865. Identify container elements and the corresponding
  866. <link linkend="orilaaBwXng24aK">section architectural form</link>
  867. for each. For example, an element for figure captions corresponds
  868. to the <systemitem>Title</systemitem> form.
  869. </para>
  870. </listitem>
  871. <listitem>
  872. <para>In the attributes list for the element you are modifying,
  873. enter the parameter entity reference or complete attribute.
  874. </para>
  875. <para>
  876. To use the parameter entity reference:
  877. </para>
  878. <literallayout>
  879. &lt;!ELEMENT caption - - ((%inlinechar.gp;)+) >
  880. &lt;!ATTLIST caption
  881. %commonatts;
  882. %DTINFO.Title; &ldquo;#CONTENT&rdquo;
  883. >
  884. </literallayout>
  885. <para>
  886. To use the complete attribute:
  887. </para>
  888. <literallayout>
  889. &lt;!ELEMENT caption - - ((%inlinechar.gp;)+) >
  890. &lt;!ATTLIST caption
  891. %commonatts;
  892. DTINFO.Title CDATA #FIXED &ldquo;#CONTENT&rdquo;
  893. >
  894. </literallayout>
  895. <note>
  896. <para>
  897. Some architectural forms have related, required forms.
  898. For example, the <systemitem>DTINFO.Section</systemitem>
  899. form requires an <systemitem>DTINFO.Title</systemitem> and
  900. an <systemitem>DTINFO.ID</systemitem>.
  901. See <link linkend="fyBTVcBfQJ9X3cS">Description of Information
  902. Manager Architectural Forms</link> for details.
  903. </para>
  904. </note>
  905. </listitem>
  906. <listitem>
  907. <para>
  908. For the element you are working with, determine whether to
  909. apply a <link linkend="nyilaaBwXng24aK">hypertext form</link>:
  910. </para>
  911. <literallayout>
  912. &lt;!ELEMENT Graphic - - CDATA>
  913. &lt;!ATTLIST Graphic
  914. Entityref ENTITY #IMPLIED
  915. Fileref CDATA #IMPLIED
  916. Format NOTATION
  917. %notationtypes #IMPLIED
  918. Id ID #IMPLIED
  919. %DTINFO.Graphic;
  920. %DTINFO.ID; &ldquo;attr( Id )&rdquo;
  921. >
  922. </literallayout>
  923. <note>
  924. <para>
  925. You can build a bookcase after applying a minimum of
  926. <systemitem>DTINFO.Section</systemitem>,
  927. <systemitem>DTINFO.Title</systemitem>, and
  928. <systemitem>DTINFO.ID</systemitem> forms.
  929. </para>
  930. </note>
  931. </listitem>
  932. <listitem>
  933. <para>
  934. For the element you are working with, determine whether to apply a
  935. <link linkend="KtilaaBwXng24aK">data form</link>:
  936. </para>
  937. <literallayout>
  938. &lt;!ELEMENT Graphic - - CDATA>
  939. &lt;!ATTLIST Graphic
  940. Entityref ENTITY #IMPLIED
  941. Fileref CDATA #IMPLIED
  942. Format NOTATION
  943. %notationtypes #IMPLIED
  944. Id ID #IMPLIED
  945. %DTINFO.Graphic;
  946. %DTINFO.ID; &ldquo;attr( Id )&rdquo;
  947. %DTINFO.Value; &ldquo;attr( Fileref )&rdquo;
  948. >
  949. </literallayout>
  950. </listitem>
  951. <listitem>
  952. <para>
  953. For the element you are working with, determine whether to apply a
  954. <link linkend="fsilaaBwXng24aK">scope form</link>:
  955. </para>
  956. <literallayout>
  957. &lt;!ELEMENT Graphic - - CDATA>
  958. &lt;!ATTLIST Graphic
  959. Entityref ENTITY #IMPLIED
  960. Fileref CDATA #IMPLIED
  961. Format NOTATION
  962. %notationtypes #IMPLIED
  963. Id ID #IMPLIED
  964. %DTINFO.Graphic;
  965. %DTINFO.Scope.Graphic;
  966. %DTINFO.ID; &ldquo;attr( Id )&rdquo;
  967. %DTINFO.Value; &ldquo;attr( Fileref )&rdquo;
  968. >
  969. </literallayout>
  970. </listitem>
  971. <listitem>
  972. <para>
  973. For elements to which you have applied the
  974. <systemitem>DTINFO.Section</systemitem> architectural form,
  975. determine whether to use a style sheet other than the one inherited
  976. by this section. To use a different style sheet, apply a
  977. <link linkend="draW.aB80og24aK">style form</link>:
  978. </para>
  979. <literallayout>
  980. &lt;!ELEMENT Preface - - (DocInfo?, Title, TitleAbbrev?, (%sect1.gp;)) >
  981. &lt;!ATTLIST Preface
  982. %commonatts;
  983. %DTINFO.Section;
  984. %DTINFO.Style; &ldquo;sty1&rdquo;
  985. >
  986. </literallayout>
  987. </listitem>
  988. <listitem>
  989. <para>
  990. Repeat steps 4 through 7 for each element which
  991. requires an architectural form.
  992. </para>
  993. </listitem>
  994. </orderedlist>
  995. </sect1>
  996. </chapter>