appA.xml revision 9e7bcd65
19e7bcd65Smrg<appendix id='Resource_File_Format'> 29e7bcd65Smrg<title>Resource File Format</title> 39e7bcd65Smrg<para> 49e7bcd65SmrgA resource file contains text representing the default resource values for an 59e7bcd65Smrgapplication or set of applications. 69e7bcd65Smrg</para> 79e7bcd65Smrg 89e7bcd65Smrg<para> 99e7bcd65SmrgThe format of resource files is defined by 109e7bcd65Smrg<emphasis remap='I'>Xlib — C Language X Interface.</emphasis> and is reproduced here 119e7bcd65Smrgfor convenience only. 129e7bcd65Smrg</para> 139e7bcd65Smrg 149e7bcd65Smrg<para>The format of a resource specification is</para> 159e7bcd65Smrg<informaltable frame='none'> 169e7bcd65Smrg <?dbfo keep-together="always" ?> 179e7bcd65Smrg <tgroup cols='2' align='left' colsep='0' rowsep='0'> 189e7bcd65Smrg <colspec colwidth='0.3*' colname='c1'/> 199e7bcd65Smrg <colspec colwidth='1.0*' colname='c2'/> 209e7bcd65Smrg <tbody> 219e7bcd65Smrg <row> 229e7bcd65Smrg <entry>ResourceLine</entry> 239e7bcd65Smrg <entry>= Comment | IncludeFile | ResourceSpec | <empty line></entry> 249e7bcd65Smrg </row> 259e7bcd65Smrg <row> 269e7bcd65Smrg <entry>Comment</entry> 279e7bcd65Smrg <entry>="!" {<any character except null or newline>}</entry> 289e7bcd65Smrg </row> 299e7bcd65Smrg <row> 309e7bcd65Smrg <entry>IncludeFile</entry> 319e7bcd65Smrg <entry>= "#" WhiteSpace "include" WhiteSpace FileName WhiteSpace</entry> 329e7bcd65Smrg </row> 339e7bcd65Smrg <row> 349e7bcd65Smrg <entry>FileName</entry> 359e7bcd65Smrg <entry>= <valid filename for operating system></entry> 369e7bcd65Smrg </row> 379e7bcd65Smrg <row> 389e7bcd65Smrg <entry>ResourceSpec</entry> 399e7bcd65Smrg <entry>= WhiteSpace ResourceName WhiteSpace ":" WhiteSpace Value</entry> 409e7bcd65Smrg </row> 419e7bcd65Smrg <row> 429e7bcd65Smrg <entry>ResourceName</entry> 439e7bcd65Smrg <entry>= [Binding] {Component Binding} ComponentName</entry> 449e7bcd65Smrg </row> 459e7bcd65Smrg <row> 469e7bcd65Smrg <entry>Binding</entry> 479e7bcd65Smrg <entry>="." | "*"</entry> 489e7bcd65Smrg </row> 499e7bcd65Smrg <row> 509e7bcd65Smrg <entry>WhiteSpace</entry> 519e7bcd65Smrg <entry>= {<space> | <horizontal tab>}</entry> 529e7bcd65Smrg </row> 539e7bcd65Smrg <row> 549e7bcd65Smrg <entry>Component</entry> 559e7bcd65Smrg <entry>= "?" | ComponentName</entry> 569e7bcd65Smrg </row> 579e7bcd65Smrg <row> 589e7bcd65Smrg <entry>ComponentName</entry> 599e7bcd65Smrg <entry>= NameChar {NameChar}</entry> 609e7bcd65Smrg </row> 619e7bcd65Smrg <row> 629e7bcd65Smrg <entry>NameChar</entry> 639e7bcd65Smrg <entry>= "a"-"z" | "A"-"Z" | "0"-"9" | "_" | "-"</entry> 649e7bcd65Smrg </row> 659e7bcd65Smrg <row> 669e7bcd65Smrg <entry>Value</entry> 679e7bcd65Smrg <entry>={<any character except null or unescaped newline>}</entry> 689e7bcd65Smrg </row> 699e7bcd65Smrg </tbody> 709e7bcd65Smrg </tgroup> 719e7bcd65Smrg</informaltable> 729e7bcd65Smrg 739e7bcd65Smrg<para> 749e7bcd65SmrgElements separated by vertical bar (|) are alternatives. 759e7bcd65SmrgCurly braces ({...}) indicate zero or more repetitions 769e7bcd65Smrgof the enclosed elements. 779e7bcd65SmrgSquare brackets ([...]) indicate that the enclosed element is optional. 789e7bcd65SmrgQuotes ("...") are used around literal characters. 799e7bcd65Smrg</para> 809e7bcd65Smrg 819e7bcd65Smrg<para> 829e7bcd65SmrgIf the last character on a line is a backslash (\), 839e7bcd65Smrgthat line is assumed to continue on the next line. 849e7bcd65Smrg</para> 859e7bcd65Smrg 869e7bcd65Smrg<para> 879e7bcd65SmrgTo allow a Value to begin with whitespace, 889e7bcd65Smrgthe two-character sequence "\<emphasis remap='I'>space</emphasis>" (backslash followed by space) 899e7bcd65Smrgis recognized and replaced by a space character, 909e7bcd65Smrgand the two-character sequence "\<emphasis remap='I'>tab</emphasis>" 919e7bcd65Smrg(backslash followed by horizontal tab) 929e7bcd65Smrgis recognized and replaced by a horizontal tab character. 939e7bcd65Smrg</para> 949e7bcd65Smrg<para> 959e7bcd65SmrgTo allow a Value to contain embedded newline characters, 969e7bcd65Smrgthe two-character sequence "\n" is recognized and replaced by a 979e7bcd65Smrgnewline character. 989e7bcd65SmrgTo allow a Value to be broken across multiple lines in a text file, 999e7bcd65Smrgthe two-character sequence "\<emphasis remap='I'>newline</emphasis>" 1009e7bcd65Smrg(backslash followed by newline) is 1019e7bcd65Smrgrecognized and removed from the value. 1029e7bcd65Smrg</para> 1039e7bcd65Smrg<para> 1049e7bcd65SmrgTo allow a Value to contain arbitrary character codes, 1059e7bcd65Smrgthe four-character sequence "\<emphasis remap='I'>nnn</emphasis>", 1069e7bcd65Smrgwhere each <emphasis remap='I'>n</emphasis> is a digit character in the range of "0"-"7", 1079e7bcd65Smrgis recognized and replaced with a single byte that contains 1089e7bcd65Smrgthe octal value specified by the sequence. 1099e7bcd65SmrgFinally, the two-character sequence "\\" is recognized 1109e7bcd65Smrgand replaced with a single backslash. 1119e7bcd65Smrg</para> 1129e7bcd65Smrg</appendix> 113