Commit | Line | Data |
---|---|---|
86530b38 AT |
1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML//EN"> |
2 | <html> | |
3 | <head> | |
4 | <title>MHonArc Resources: MIMEFILTERS</title> | |
5 | </head> | |
6 | <body> | |
7 | <!--x-rc-nav--> | |
8 | <table border=0><tr valign="top"> | |
9 | <td align="left" width="50%">[Prev: <a href="mimeexcs.html">MIMEEXCS</a>]</td><td><nobr>[<a href="../resources.html#mimefilters">Resources</a>][<a href="../mhonarc.html">TOC</a>]</nobr></td><td align="right" width="50%">[Next: <a href="modtime.html">MODTIME</a>]</td></tr></table> | |
10 | <!--/x-rc-nav--> | |
11 | <hr> | |
12 | <h1>MIMEFILTERS</h1> | |
13 | ||
14 | <!-- *************************************************************** --> | |
15 | <hr> | |
16 | <h2>Syntax</h2> | |
17 | ||
18 | <dl> | |
19 | ||
20 | <dt><strong>Envariable</strong></dt> | |
21 | <dd><p>N/A | |
22 | </p> | |
23 | </dd> | |
24 | ||
25 | <dt><strong>Element</strong></dt> | |
26 | <dd><p> | |
27 | <code><MIMEFILTERS></code><br> | |
28 | <var>filter-specification</var><br> | |
29 | <var>...</var><br> | |
30 | <code></MIMEFILTERS></code><br> | |
31 | </p> | |
32 | </dd> | |
33 | ||
34 | <dt><strong>Command-line Option</strong></dt> | |
35 | <dd><p>N/A | |
36 | </p> | |
37 | </dd> | |
38 | ||
39 | </dl> | |
40 | ||
41 | <!-- *************************************************************** --> | |
42 | <hr> | |
43 | <h2>Description</h2> | |
44 | ||
45 | <P>The resource MIMEFILTERS is used to hook in user specifed filters | |
46 | into MHonArc. The MIMEFILTERS resource can only be set via the | |
47 | <CODE>MIMEFILTERS</CODE> element. The syntax for each line of the | |
48 | the <CODE>MIMEFILTERS</CODE> element is as follows: </P> | |
49 | ||
50 | <P><var>content-type</var><CODE>;</CODE><var>routine-name</var><CODE>;</CODE><var>file-of-routine</var> </P> | |
51 | ||
52 | <P>The definition of each semi-colon-separated value is as follows: | |
53 | </P> | |
54 | ||
55 | <DL> | |
56 | <DT><var>content-type</var> | |
57 | ||
58 | <DD><P>The MIME content-type the filter processes. An explicit | |
59 | content-type (base/subtype) or a base content-type (base/*) | |
60 | can be specified. | |
61 | </P> | |
62 | ||
63 | <DT><var>routine-name</var> | |
64 | <DD><P>The actual routine name of the filter. The name | |
65 | should be fully qualified by the package it is defined in | |
66 | (e.g. "<CODE>mypackage::filter</CODE>"). </P> | |
67 | ||
68 | <DT><var>file-of-routine</var> | |
69 | <DD><P>The name of the file that defines | |
70 | <var>routine-name</var>. If the file is not a full | |
71 | pathname, MHonArc finds the file by looking in the | |
72 | standard include paths of Perl, and the paths specified by the | |
73 | <A HREF="perlinc.html">PERLINC</A> | |
74 | resource. | |
75 | </P> | |
76 | ||
77 | </DL> | |
78 | ||
79 | <P>Whitespace is stripped out for each filter specification. | |
80 | </P> | |
81 | ||
82 | <H3><a name="writefilters">Writing Filters</a></H3> | |
83 | ||
84 | <P>If you want to write your own filter for use in MHonArc, | |
85 | you need to know the Perl programming language. The following | |
86 | information assumes you know Perl. | |
87 | </P> | |
88 | ||
89 | <table border=0 cellpadding=4> | |
90 | <tr valign=top> | |
91 | <td><strong>NOTE</strong></td> | |
92 | <td><p>As of v2.5 of MHonArc, the API for filters is different from | |
93 | v2.4.x, and earlier. The following describes the v2.5 API for | |
94 | filters. | |
95 | </p> | |
96 | </td> | |
97 | </tr> | |
98 | </table> | |
99 | ||
100 | <table border=0 cellpadding=4> | |
101 | <tr valign=top> | |
102 | <td><strong>NOTE</strong></td> | |
103 | <td><p>The default filters provided by MHonArc are described | |
104 | in the <strong>Default Settings</strong> section. | |
105 | </p> | |
106 | </td> | |
107 | </tr> | |
108 | </table> | |
109 | ||
110 | <H4>Function Interface of Filter</H4> | |
111 | ||
112 | <P>MHonArc interfaces with MIME filters by calling a routine | |
113 | with a specific set of arguments. The prototype of the interface | |
114 | routine is as follows: </P> | |
115 | ||
116 | <PRE> | |
117 | sub <var>filter</var> { | |
118 | my(<b>$fields_hash_ref</b>, <b>$body_data_ref</b>, <b>$is_decoded</b>, <b>$filter_args</b>) = @_; | |
119 | ||
120 | <var># Filter code here | |
121 | ||
122 | # The last statement should be the return value, unless an | |
123 | # explicit return is done. See the following for the format of the | |
124 | # return value.</var> | |
125 | } | |
126 | </PRE> | |
127 | ||
128 | <H5>Parameter Descriptions</H5> | |
129 | ||
130 | <table cellspacing=1 border=0 cellpadding=4> | |
131 | ||
132 | <tr valign=top> | |
133 | <td><strong><code>$fields_hash_ref</code></strong></td> | |
134 | <td><p>A reference to hash of message/part header | |
135 | fields. Keys are field names in lowercase | |
136 | and values are array references containing the | |
137 | field values. For example, to obtain the | |
138 | content-type, if defined, you would do: | |
139 | </p> | |
140 | <pre> | |
141 | $fields_hash_ref->{'content-type'}[0]</pre> | |
142 | <p>Values for a fields are stored in arrays since | |
143 | duplication of fields are possible. For example, | |
144 | the <tt>Received:</tt> header field is typically repeated | |
145 | multiple times. For fields that only occur once, | |
146 | then array for the field will only contain one | |
147 | item. | |
148 | </p> | |
149 | </td> | |
150 | </tr> | |
151 | ||
152 | <tr valign=top> | |
153 | <td><strong><code>$body_data_ref</code></strong></td> | |
154 | <td><p>Reference to body data. It is okay for the | |
155 | filter to modify the text in-place. | |
156 | </p> | |
157 | </td> | |
158 | </tr> | |
159 | ||
160 | <tr valign=top> | |
161 | <td><strong><code>$is_decoded</code></strong></td> | |
162 | <td><p>Boolean flag if body data has been decoded. | |
163 | This is normally true unless some non-standard | |
164 | content-transfer-encoding is used. See | |
165 | <a href="mimedecoders.html">MIMEDECODERS</a> on how | |
166 | to register decoders for various content-transfer-encodings. | |
167 | </p> | |
168 | </td> | |
169 | </tr> | |
170 | ||
171 | <tr valign=top> | |
172 | <td><strong><code>$filter_args</code></strong></td> | |
173 | <td><P>This is an optional argument string that may be used to modify the | |
174 | behavior of the filter. The format of this string is determined by the filter | |
175 | itself. The value of the string is set by the | |
176 | <a href="mimeargs.html">MIMEARGS</a> resource. | |
177 | </P> | |
178 | </td> | |
179 | </tr> | |
180 | ||
181 | </table> | |
182 | ||
183 | <H5>Return Value</H5> | |
184 | ||
185 | <p>The return value is treated as a list. The first item of the list | |
186 | is a string representing the HTML markup to insert in the HTMLized | |
187 | message. An empty string, or <tt>undef</tt> may be returned to tell MHonArc | |
188 | that the routine was unable to filter data. | |
189 | </p> | |
190 | <p>Any other list items are treated as names of any files that were | |
191 | generated by the filter. MHonArc needs to keep track if any | |
192 | extra files that a filter may generate in order for MHonArc to | |
193 | delete those files if the message gets removed from the archive. | |
194 | </p> | |
195 | ||
196 | <table border=0 cellpadding=4> | |
197 | <tr valign=top> | |
198 | <td><strong>NOTE</strong></td> | |
199 | <td><p>If you want MHonArc to treat the data as filtered, but not | |
200 | have anything displayed on the page, just return a string with | |
201 | a single space character. | |
202 | </p> | |
203 | </td> | |
204 | </tr> | |
205 | </table> | |
206 | <table border=0 cellpadding=4> | |
207 | <tr valign=top> | |
208 | <td><strong>NOTE</strong></td> | |
209 | <td><p>If the filter creates a subdirectory with files, the filter | |
210 | only needs to return the subdirectory in the return list. If | |
211 | the message gets removed, MHonArc will delete the entire | |
212 | directory. | |
213 | </p> | |
214 | </td> | |
215 | </tr> | |
216 | </table> | |
217 | ||
218 | <H4>Filter Writing Tips</H4> | |
219 | ||
220 | <P>The following recommendations/tips are given to help you write | |
221 | filters: </P> | |
222 | ||
223 | <UL> | |
224 | <LI><P>Qualify your filter in its own package. This eliminates possible | |
225 | variable/routine conflicts with MHonArc. | |
226 | </P> | |
227 | ||
228 | <LI><P>If the filter creates derived files (like the image filters), | |
229 | you may use the variable <strong><CODE>$mhonarc::OUTDIR</CODE></strong> | |
230 | to determine the | |
231 | location of the mail archive. | |
232 | </P> | |
233 | <table border=0 cellpadding=4> | |
234 | <tr valign=top> | |
235 | <td><strong>NOTE</strong></td> | |
236 | <td><p><strong>Do not include</strong> | |
237 | <strong><CODE>$mhonarc::OUTDIR</CODE></strong> as part as the | |
238 | filename that is returned to MHonArc. If the filter | |
239 | does create files, just return the base name. | |
240 | </p> | |
241 | </td> | |
242 | </tr> | |
243 | </table> | |
244 | <p></p> | |
245 | ||
246 | <LI><P>Look at the default filters contained in the distribution | |
247 | of MHonArc. You can use these as templates for writing | |
248 | your own. </P> | |
249 | ||
250 | <LI><P>Make sure your Perl source file ends with a true statement | |
251 | (like "<CODE>1;</CODE>"). MHonArc just performs a | |
252 | <strong><CODE>require</CODE></strong> | |
253 | on the file, and if the file does not return | |
254 | true, Perl will abort execution. </P> | |
255 | ||
256 | <li><p>Test your filter before production use. | |
257 | </p> | |
258 | ||
259 | </UL> | |
260 | ||
261 | <H4>Using C</H4> | |
262 | ||
263 | <P>If a MIME filter requires the utilization of a C program, or | |
264 | other non-Perl executable, a Perl wrapper must be written for the | |
265 | program in-order to interface with MHonArc. The wrapper must | |
266 | follow the conventions described in | |
267 | <a href="#writefilters">Writing Filters</a>. | |
268 | </P> | |
269 | ||
270 | <!-- *************************************************************** --> | |
271 | <hr> | |
272 | <h2>Default Setting</h2> | |
273 | ||
274 | <table border=0 cellpadding=4> | |
275 | <tr valign=top> | |
276 | <td><strong>NOTE</strong></td> | |
277 | <td><p>It is important to have an explicit entry for | |
278 | <b><tt>application/octet-stream</tt></b> for handling unknown | |
279 | media-types. | |
280 | </p> | |
281 | </td> | |
282 | </tr> | |
283 | </table> | |
284 | ||
285 | <PRE> | |
286 | <b><MIMEFilters></b> | |
287 | application/octet-stream; <a href="#m2h_external">m2h_external::filter</a>; mhexternal.pl | |
288 | application/*; <a href="#m2h_external">m2h_external::filter</a>; mhexternal.pl | |
289 | application/x-patch; <a href="#m2h_text_plain">m2h_text_plain::filter</a>; mhtxtplain.pl | |
290 | audio/*; <a href="#m2h_external">m2h_external::filter</a>; mhexternal.pl | |
291 | chemical/*; <a href="#m2h_external">m2h_external::filter</a>; mhexternal.pl | |
292 | model/*; <a href="#m2h_external">m2h_external::filter</a>; mhexternal.pl | |
293 | image/*; <a href="#m2h_external">m2h_external::filter</a>; mhexternal.pl | |
294 | message/delivery-status; <a href="#m2h_text_plain">m2h_text_plain::filter</a>; mhtxtplain.pl | |
295 | message/external-body; <a href="#m2h_msg_extbody">m2h_msg_extbody::filter</a>; mhmsgextbody.pl | |
296 | message/partial; <a href="#m2h_text_plain">m2h_text_plain::filter</a>; mhtxtplain.pl | |
297 | text/*; <a href="#m2h_text_plain">m2h_text_plain::filter</a>; mhtxtplain.pl | |
298 | text/enriched; <a href="#m2h_text_enriched">m2h_text_enriched::filter</a>; mhtxtenrich.pl | |
299 | text/html; <a href="#m2h_text_html">m2h_text_html::filter</a>; mhtxthtml.pl | |
300 | text/plain; <a href="#m2h_text_plain">m2h_text_plain::filter</a>; mhtxtplain.pl | |
301 | text/richtext; <a href="#m2h_text_enriched">m2h_text_enriched::filter</a>; mhtxtenrich.pl | |
302 | text/setext; <a href="#m2h_text_setext">m2h_text_setext::filter</a>; mhtxtsetext.pl | |
303 | text/tab-separated-values; <a href="#m2h_text_tsv">m2h_text_tsv::filter</a>; mhtxttsv.pl | |
304 | text/x-html; <a href="#m2h_text_html">m2h_text_html::filter</a>; mhtxthtml.pl | |
305 | text/x-setext; <a href="#m2h_text_setext">m2h_text_setext::filter</a>; mhtxtsetext.pl | |
306 | video/*; <a href="#m2h_external">m2h_external::filter</a>; mhexternal.pl | |
307 | x-sun-attachment; <a href="#m2h_text_plain">m2h_text_plain::filter</a>; mhtxtplain.pl | |
308 | <b></MIMEFilters></b> | |
309 | </PRE> | |
310 | ||
311 | <p>The following describes the behavior of each filter. | |
312 | </p> | |
313 | ||
314 | <hr size=0 noshade width="50%"> | |
315 | <H3><a name="m2h_external">m2h_external::filter</a></h3> | |
316 | ||
317 | <P>The filter extracts the data into a separate file and puts | |
318 | a hyperlink to the file into the HTMLized message. The following | |
319 | is an example how the link is formatted: | |
320 | </P> | |
321 | <dl> | |
322 | <dd><p><strong>Attachment: | |
323 | <a href=""><tt>blueball.gif</tt></a></strong><br> | |
324 | <em>Description:</em> Blue ball GIF icon</p> | |
325 | </dd></dl> | |
326 | ||
327 | <p>The description text is retrieved from the <tt>Content-Disposition</tt> | |
328 | message header field, if defined. If not defined, a generic description | |
329 | will be provided based on the specified content-type of the data. | |
330 | </p> | |
331 | ||
332 | <p>If the <tt>useicon</tt> filter argument has been specified for the | |
333 | filter, the following format will be used: | |
334 | </p> | |
335 | <dl><dd><p><strong><a href="" ><img src="../monicon.png" align="left" border=0 alt="Attachment:"></a> | |
336 | <a href="" ><tt>blueball.gif</tt></a></strong><br> | |
337 | <em>Description:</em> Blue ball GIF icon</p> | |
338 | </dd></dl> | |
339 | ||
340 | <p>The actual icon used is based upon the <a href="icons.html">ICONS</a> | |
341 | resource. | |
342 | </p> | |
343 | ||
344 | <P>By default, the filter ignores any filename specification | |
345 | given in the message when writing the data to disk. | |
346 | A unique filename with an extenstion based upon sub-type is | |
347 | generated. | |
348 | </P> | |
349 | ||
350 | <p><strong><tt>m2h_external::filter</tt></strong> can take the | |
351 | following | |
352 | <a href="mimeargs.html">arguments</a>: | |
353 | </p> | |
354 | ||
355 | <table cellspacing=1 border=0 cellpadding=4> | |
356 | <tr valign=top> | |
357 | <td><strong><tt>excludeexts=</tt></strong><var>ext1</var><tt>,</tt>...</td> | |
358 | <td><p>A comma separated list of message specified filename extensions | |
359 | to exclude. I.e. If the filename extension matches an extension | |
360 | in excludeexts, the content will not be written. The return markup | |
361 | will contain the name of the attachment, but no link to the data. | |
362 | This option is best used with application/octet-stream to exclude | |
363 | unwanted data that is not tagged with the proper content-type. The | |
364 | <a href="#m2h_null"><tt>m2h_null::filter</tt></a> can be used to | |
365 | exclude content by content-type. | |
366 | </p> | |
367 | </td> | |
368 | </tr> | |
369 | <tr valign=top> | |
370 | <td><strong><tt>ext=<var>ext</var></tt></strong></td> | |
371 | <td><p>Use <var>ext</var> as the filename extension. | |
372 | The filter already has a large list of extensions for various | |
373 | content-types. Use this argument if you process a | |
374 | content-type not recognized by the filter. | |
375 | </p></td> | |
376 | </tr> | |
377 | <tr valign=top> | |
378 | <td><strong><tt>forceattach</tt></strong></td> | |
379 | <td><p>Force images to never be displayed inline, overriding any | |
380 | Content-Disposition setting. | |
381 | </p></td> | |
382 | </tr> | |
383 | <tr valign=top> | |
384 | <td><strong><tt>forceinline</tt></strong></td> | |
385 | <td><p>Force images to be displayed inline, overriding any | |
386 | Content-Disposition setting. | |
387 | </p></td> | |
388 | </tr> | |
389 | <tr valign=top> | |
390 | <td><strong><tt>frame</tt></strong></td> | |
391 | <td><p>Draw a frame around the attachment link. | |
392 | </p></td> | |
393 | </tr> | |
394 | <tr valign=top> | |
395 | <td><strong><tt>iconurl="<var>url</var>"</tt></strong></td> | |
396 | <td><p>Use "<var>url</var>" as the url for the icon to use | |
397 | if the <strong><tt>useicon</tt></strong> option is set. | |
398 | This option will override any setting defined by the | |
399 | <a href="icons.html">ICONS</a> resource. | |
400 | The double quotes are required. | |
401 | </p></td> | |
402 | </tr> | |
403 | <tr valign=top> | |
404 | <td><strong><tt>inline</tt></strong></td> | |
405 | <td><p>Inline image data by default if content-disposition not defined. | |
406 | </p></td> | |
407 | </tr> | |
408 | <tr valign=top> | |
409 | <td><strong><tt>inlineexts=</tt></strong><var>ext1</var><tt>,</tt>...</td> | |
410 | <td><p>A comma separated list of message specified filename | |
411 | extensions to treat as possible inline data. | |
412 | Applicable when content-type is not <tt>image/</tt><var>*</var> and | |
413 | <b><tt>usename</tt></b> or <b><tt>usenameext</tt></b> is in effect. | |
414 | </p></td> | |
415 | </tr> | |
416 | <tr valign=top> | |
417 | <td><strong><tt>type="<var>description</var>"</tt></strong></td> | |
418 | <td><p>Use "<var>description</var>" as type description of the | |
419 | data. The double quotes are required. | |
420 | The filter already has a large list of descriptions for various | |
421 | content-types. Use this argument if you process a | |
422 | content-type not recognized by the filter. | |
423 | </p></td> | |
424 | </tr> | |
425 | <tr valign=top> | |
426 | <td><strong><tt>subdir</tt></strong></td> | |
427 | <td><p>Place derived file in a subdirectory of the archive. | |
428 | The subdirectory will be called "<tt>msg<var>MSGNUM</var></tt>". | |
429 | This option may be useful if <strong><tt>usename</tt></strong> is | |
430 | specified to avoid security and name conflict problems. | |
431 | </p></td> | |
432 | </tr> | |
433 | <tr valign=top> | |
434 | <td><strong><tt>target=</tt></strong><var>name</var></td> | |
435 | <td><p>Set the TARGET attribute of anchor link to file | |
436 | Default value is undefined (ie. no TARGET attribute will be | |
437 | written). | |
438 | </p></td> | |
439 | </tr> | |
440 | <tr valign=top> | |
441 | <td><strong><tt>useicon</tt></strong></td> | |
442 | <td><p>Include a content-type icon with the hyperlink to | |
443 | the derived file. The icon used is the value of the | |
444 | <strong><tt>iconurl</tt></strong> option or the icon | |
445 | defined by the <a href="icons.html">ICONS</a> resource. | |
446 | </p></td> | |
447 | </tr> | |
448 | <tr valign=top> | |
449 | <td><strong><tt>usename</tt></strong></td> | |
450 | <td><p>Use (file)name attribute for determining name | |
451 | of derived file. Use this option with caution | |
452 | since it can lead to filename conflicts and | |
453 | security problems (however, see the <strong><tt>subdir</tt></strong> | |
454 | option). | |
455 | </p></td> | |
456 | </tr> | |
457 | <tr valign=top> | |
458 | <td><strong><tt>usenameext</tt></strong></td> | |
459 | <td><p>Use (file)name attribute for determining the extension | |
460 | of derived file. Use this option with caution | |
461 | since it can lead to | |
462 | security problems (however, see the <strong><tt>subdir</tt></strong> | |
463 | option). | |
464 | </p></td> | |
465 | </tr> | |
466 | </table> | |
467 | ||
468 | <p>All arguments should be separated by at least one space.</p> | |
469 | ||
470 | <p>The following table shows the default list of content-types with the | |
471 | filename extension used and a short | |
472 | description that <strong><tt>m2h_external::filter</tt></strong> | |
473 | recognizes: | |
474 | </p> | |
475 | ||
476 | <center> | |
477 | <!--X-Ext-CType-Start--> | |
478 | <table border=1 cellpadding=1> | |
479 | <tr bgcolor="#C0C0C0"> | |
480 | <th align=left>Content-type</th><th align=center>Extension</th><th align=left>Description</th></tr> | |
481 | <tr valign="top"> | |
482 | <td align=left><strong>application/astound</strong></td> | |
483 | <td align=center><tt>asd</tt></td> | |
484 | <td>Astound presentation</td></tr> | |
485 | <tr valign="top"> | |
486 | <td align=left><strong>application/envoy</strong></td> | |
487 | <td align=center><tt>evy</tt></td> | |
488 | <td>Envoy file</td></tr> | |
489 | <tr valign="top"> | |
490 | <td align=left><strong>application/fastman</strong></td> | |
491 | <td align=center><tt>lcc</tt></td> | |
492 | <td>fastman file</td></tr> | |
493 | <tr valign="top"> | |
494 | <td align=left><strong>application/fractals</strong></td> | |
495 | <td align=center><tt>fif</tt></td> | |
496 | <td>Fractal Image Format</td></tr> | |
497 | <tr valign="top"> | |
498 | <td align=left><strong>application/iges</strong></td> | |
499 | <td align=center><tt>iges</tt></td> | |
500 | <td>IGES file</td></tr> | |
501 | <tr valign="top"> | |
502 | <td align=left><strong>application/mac-binhex40</strong></td> | |
503 | <td align=center><tt>hqx</tt></td> | |
504 | <td>Mac BinHex archive</td></tr> | |
505 | <tr valign="top"> | |
506 | <td align=left><strong>application/mathematica</strong></td> | |
507 | <td align=center><tt>ma</tt></td> | |
508 | <td>Mathematica Notebook document</td></tr> | |
509 | <tr valign="top"> | |
510 | <td align=left><strong>application/mbedlet</strong></td> | |
511 | <td align=center><tt>mbd</tt></td> | |
512 | <td>mbedlet file</td></tr> | |
513 | <tr valign="top"> | |
514 | <td align=left><strong>application/ms-excel</strong></td> | |
515 | <td align=center><tt>xls</tt></td> | |
516 | <td>MS-Excel spreadsheet</td></tr> | |
517 | <tr valign="top"> | |
518 | <td align=left><strong>application/ms-powerpoint</strong></td> | |
519 | <td align=center><tt>ppt</tt></td> | |
520 | <td>MS-Powerpoint presentation</td></tr> | |
521 | <tr valign="top"> | |
522 | <td align=left><strong>application/ms-project</strong></td> | |
523 | <td align=center><tt>mpp</tt></td> | |
524 | <td>MS-Project file</td></tr> | |
525 | <tr valign="top"> | |
526 | <td align=left><strong>application/msword</strong></td> | |
527 | <td align=center><tt>doc</tt></td> | |
528 | <td>MS-Word document</td></tr> | |
529 | <tr valign="top"> | |
530 | <td align=left><strong>application/octet-stream</strong></td> | |
531 | <td align=center><tt>bin</tt></td> | |
532 | <td>Binary data</td></tr> | |
533 | <tr valign="top"> | |
534 | <td align=left><strong>application/oda</strong></td> | |
535 | <td align=center><tt>oda</tt></td> | |
536 | <td>ODA file</td></tr> | |
537 | <tr valign="top"> | |
538 | <td align=left><strong>application/pdf</strong></td> | |
539 | <td align=center><tt>pdf</tt></td> | |
540 | <td>Adobe PDF document</td></tr> | |
541 | <tr valign="top"> | |
542 | <td align=left><strong>application/pgp</strong></td> | |
543 | <td align=center><tt>pgp</tt></td> | |
544 | <td>PGP message</td></tr> | |
545 | <tr valign="top"> | |
546 | <td align=left><strong>application/pgp-signature</strong></td> | |
547 | <td align=center><tt>pgp</tt></td> | |
548 | <td>PGP signature</td></tr> | |
549 | <tr valign="top"> | |
550 | <td align=left><strong>application/postscript</strong></td> | |
551 | <td align=center><tt>ps</tt></td> | |
552 | <td>PostScript document</td></tr> | |
553 | <tr valign="top"> | |
554 | <td align=left><strong>application/rtf</strong></td> | |
555 | <td align=center><tt>rtf</tt></td> | |
556 | <td>RTF file</td></tr> | |
557 | <tr valign="top"> | |
558 | <td align=left><strong>application/sgml</strong></td> | |
559 | <td align=center><tt>sgml</tt></td> | |
560 | <td>SGML document</td></tr> | |
561 | <tr valign="top"> | |
562 | <td align=left><strong>application/studiom</strong></td> | |
563 | <td align=center><tt>smp</tt></td> | |
564 | <td>Studio M file</td></tr> | |
565 | <tr valign="top"> | |
566 | <td align=left><strong>application/timbuktu</strong></td> | |
567 | <td align=center><tt>tbt</tt></td> | |
568 | <td>timbuktu file</td></tr> | |
569 | <tr valign="top"> | |
570 | <td align=left><strong>application/vis5d</strong></td> | |
571 | <td align=center><tt>v5d</tt></td> | |
572 | <td>Vis5D dataset</td></tr> | |
573 | <tr valign="top"> | |
574 | <td align=left><strong>application/vnd.framemaker</strong></td> | |
575 | <td align=center><tt>fm</tt></td> | |
576 | <td>FrameMaker document</td></tr> | |
577 | <tr valign="top"> | |
578 | <td align=left><strong>application/vnd.hp-hpgl</strong></td> | |
579 | <td align=center><tt>hpg</tt></td> | |
580 | <td>HPGL file</td></tr> | |
581 | <tr valign="top"> | |
582 | <td align=left><strong>application/vnd.lotus-1-2-3</strong></td> | |
583 | <td align=center><tt>123</tt></td> | |
584 | <td>Lotus 1-2-3</td></tr> | |
585 | <tr valign="top"> | |
586 | <td align=left><strong>application/vnd.lotus-approach</strong></td> | |
587 | <td align=center><tt>apr</tt></td> | |
588 | <td>Lotus Approach</td></tr> | |
589 | <tr valign="top"> | |
590 | <td align=left><strong>application/vnd.lotus-freelance</strong></td> | |
591 | <td align=center><tt>prz</tt></td> | |
592 | <td>Lotus Freelance</td></tr> | |
593 | <tr valign="top"> | |
594 | <td align=left><strong>application/vnd.lotus-organizer</strong></td> | |
595 | <td align=center><tt>org</tt></td> | |
596 | <td>Lotus Organizer</td></tr> | |
597 | <tr valign="top"> | |
598 | <td align=left><strong>application/vnd.lotus-screencam</strong></td> | |
599 | <td align=center><tt>scm</tt></td> | |
600 | <td>Lotus Screencam</td></tr> | |
601 | <tr valign="top"> | |
602 | <td align=left><strong>application/vnd.lotus-wordpro</strong></td> | |
603 | <td align=center><tt>lwp</tt></td> | |
604 | <td>Lotus WordPro</td></tr> | |
605 | <tr valign="top"> | |
606 | <td align=left><strong>application/vnd.mif</strong></td> | |
607 | <td align=center><tt>mif</tt></td> | |
608 | <td>Frame MIF document</td></tr> | |
609 | <tr valign="top"> | |
610 | <td align=left><strong>application/vnd.ms-excel</strong></td> | |
611 | <td align=center><tt>xls</tt></td> | |
612 | <td>MS-Excel spreadsheet</td></tr> | |
613 | <tr valign="top"> | |
614 | <td align=left><strong>application/vnd.ms-powerpoint</strong></td> | |
615 | <td align=center><tt>ppt</tt></td> | |
616 | <td>MS-Powerpoint presentation</td></tr> | |
617 | <tr valign="top"> | |
618 | <td align=left><strong>application/vnd.ms-project</strong></td> | |
619 | <td align=center><tt>mpp</tt></td> | |
620 | <td>MS-Project file</td></tr> | |
621 | <tr valign="top"> | |
622 | <td align=left><strong>application/vnd.stardivision.calc</strong></td> | |
623 | <td align=center><tt>sdc</tt></td> | |
624 | <td>StarCalc spreadsheet</td></tr> | |
625 | <tr valign="top"> | |
626 | <td align=left><strong>application/vnd.stardivision.chart</strong></td> | |
627 | <td align=center><tt>sds</tt></td> | |
628 | <td>StarChart document</td></tr> | |
629 | <tr valign="top"> | |
630 | <td align=left><strong>application/vnd.stardivision.draw</strong></td> | |
631 | <td align=center><tt>sda</tt></td> | |
632 | <td>StarDraw document</td></tr> | |
633 | <tr valign="top"> | |
634 | <td align=left><strong>application/vnd.stardivision.impress</strong></td> | |
635 | <td align=center><tt>sdd</tt></td> | |
636 | <td>StarImpress presentation</td></tr> | |
637 | <tr valign="top"> | |
638 | <td align=left><strong>application/vnd.stardivision.impress-packed</strong></td> | |
639 | <td align=center><tt>sdp</tt></td> | |
640 | <td>StarImpress packed file</td></tr> | |
641 | <tr valign="top"> | |
642 | <td align=left><strong>application/vnd.stardivision.mail</strong></td> | |
643 | <td align=center><tt>smd</tt></td> | |
644 | <td>StarMail mail file</td></tr> | |
645 | <tr valign="top"> | |
646 | <td align=left><strong>application/vnd.stardivision.math</strong></td> | |
647 | <td align=center><tt>smf</tt></td> | |
648 | <td>StarMath document</td></tr> | |
649 | <tr valign="top"> | |
650 | <td align=left><strong>application/vnd.stardivision.writer</strong></td> | |
651 | <td align=center><tt>sdw</tt></td> | |
652 | <td>StarWriter document</td></tr> | |
653 | <tr valign="top"> | |
654 | <td align=left><strong>application/vnd.stardivision.writer-global</strong></td> | |
655 | <td align=center><tt>sgl</tt></td> | |
656 | <td>StarWriter global document</td></tr> | |
657 | <tr valign="top"> | |
658 | <td align=left><strong>application/vnd.sun.xml.calc</strong></td> | |
659 | <td align=center><tt>sxc</tt></td> | |
660 | <td>OpenOffice Calc spreadsheet</td></tr> | |
661 | <tr valign="top"> | |
662 | <td align=left><strong>application/vnd.sun.xml.calc.template</strong></td> | |
663 | <td align=center><tt>stc</tt></td> | |
664 | <td>OpenOffice Calc template</td></tr> | |
665 | <tr valign="top"> | |
666 | <td align=left><strong>application/vnd.sun.xml.draw</strong></td> | |
667 | <td align=center><tt>sxd</tt></td> | |
668 | <td>OpenOffice Draw document</td></tr> | |
669 | <tr valign="top"> | |
670 | <td align=left><strong>application/vnd.sun.xml.draw.template</strong></td> | |
671 | <td align=center><tt>std</tt></td> | |
672 | <td>OpenOffice Draw Template</td></tr> | |
673 | <tr valign="top"> | |
674 | <td align=left><strong>application/vnd.sun.xml.impress</strong></td> | |
675 | <td align=center><tt>sxi</tt></td> | |
676 | <td>OpenOffice Impress presentation</td></tr> | |
677 | <tr valign="top"> | |
678 | <td align=left><strong>application/vnd.sun.xml.impress.template</strong></td> | |
679 | <td align=center><tt>sti</tt></td> | |
680 | <td>OpenOffice Impress template</td></tr> | |
681 | <tr valign="top"> | |
682 | <td align=left><strong>application/vnd.sun.xml.math</strong></td> | |
683 | <td align=center><tt>sxm</tt></td> | |
684 | <td>OpenOffice Math documents</td></tr> | |
685 | <tr valign="top"> | |
686 | <td align=left><strong>application/vnd.sun.xml.writer</strong></td> | |
687 | <td align=center><tt>sxw</tt></td> | |
688 | <td>OpenOffice Writer document</td></tr> | |
689 | <tr valign="top"> | |
690 | <td align=left><strong>application/vnd.sun.xml.writer.global</strong></td> | |
691 | <td align=center><tt>sxg</tt></td> | |
692 | <td>OpenOffice Writer global document</td></tr> | |
693 | <tr valign="top"> | |
694 | <td align=left><strong>application/vnd.sun.xml.writer.template</strong></td> | |
695 | <td align=center><tt>stw</tt></td> | |
696 | <td>OpenOffice Write template</td></tr> | |
697 | <tr valign="top"> | |
698 | <td align=left><strong>application/winhlp</strong></td> | |
699 | <td align=center><tt>hlp</tt></td> | |
700 | <td>WinHelp document</td></tr> | |
701 | <tr valign="top"> | |
702 | <td align=left><strong>application/wordperfect5.1</strong></td> | |
703 | <td align=center><tt>wp</tt></td> | |
704 | <td>WordPerfect 5.1 document</td></tr> | |
705 | <tr valign="top"> | |
706 | <td align=left><strong>application/x-asap</strong></td> | |
707 | <td align=center><tt>asp</tt></td> | |
708 | <td>asap file</td></tr> | |
709 | <tr valign="top"> | |
710 | <td align=left><strong>application/x-bcpio</strong></td> | |
711 | <td align=center><tt>bcpio</tt></td> | |
712 | <td>BCPIO file</td></tr> | |
713 | <tr valign="top"> | |
714 | <td align=left><strong>application/x-bzip2</strong></td> | |
715 | <td align=center><tt>bz2</tt></td> | |
716 | <td>BZip2 compressed data</td></tr> | |
717 | <tr valign="top"> | |
718 | <td align=left><strong>application/x-compress</strong></td> | |
719 | <td align=center><tt>Z</tt></td> | |
720 | <td>Unix compressed data</td></tr> | |
721 | <tr valign="top"> | |
722 | <td align=left><strong>application/x-cpio</strong></td> | |
723 | <td align=center><tt>cpio</tt></td> | |
724 | <td>CPIO file</td></tr> | |
725 | <tr valign="top"> | |
726 | <td align=left><strong>application/x-csh</strong></td> | |
727 | <td align=center><tt>csh</tt></td> | |
728 | <td>C-Shell script</td></tr> | |
729 | <tr valign="top"> | |
730 | <td align=left><strong>application/x-dot</strong></td> | |
731 | <td align=center><tt>dot</tt></td> | |
732 | <td>dot file</td></tr> | |
733 | <tr valign="top"> | |
734 | <td align=left><strong>application/x-dvi</strong></td> | |
735 | <td align=center><tt>dvi</tt></td> | |
736 | <td>TeX dvi file</td></tr> | |
737 | <tr valign="top"> | |
738 | <td align=left><strong>application/x-earthtime</strong></td> | |
739 | <td align=center><tt>etc</tt></td> | |
740 | <td>Earthtime file</td></tr> | |
741 | <tr valign="top"> | |
742 | <td align=left><strong>application/x-envoy</strong></td> | |
743 | <td align=center><tt>evy</tt></td> | |
744 | <td>Envoy file</td></tr> | |
745 | <tr valign="top"> | |
746 | <td align=left><strong>application/x-excel</strong></td> | |
747 | <td align=center><tt>xls</tt></td> | |
748 | <td>MS-Excel spreadsheet</td></tr> | |
749 | <tr valign="top"> | |
750 | <td align=left><strong>application/x-gtar</strong></td> | |
751 | <td align=center><tt>gtar</tt></td> | |
752 | <td>GNU Unix tar archive</td></tr> | |
753 | <tr valign="top"> | |
754 | <td align=left><strong>application/x-gzip</strong></td> | |
755 | <td align=center><tt>gz</tt></td> | |
756 | <td>GNU Zip compressed data</td></tr> | |
757 | <tr valign="top"> | |
758 | <td align=left><strong>application/x-hdf</strong></td> | |
759 | <td align=center><tt>hdf</tt></td> | |
760 | <td>HDF file</td></tr> | |
761 | <tr valign="top"> | |
762 | <td align=left><strong>application/x-javascript</strong></td> | |
763 | <td align=center><tt>js</tt></td> | |
764 | <td>JavaScript source</td></tr> | |
765 | <tr valign="top"> | |
766 | <td align=left><strong>application/x-ksh</strong></td> | |
767 | <td align=center><tt>ksh</tt></td> | |
768 | <td>Korn Shell script</td></tr> | |
769 | <tr valign="top"> | |
770 | <td align=left><strong>application/x-latex</strong></td> | |
771 | <td align=center><tt>latex</tt></td> | |
772 | <td>LaTeX document</td></tr> | |
773 | <tr valign="top"> | |
774 | <td align=left><strong>application/x-maker</strong></td> | |
775 | <td align=center><tt>fm</tt></td> | |
776 | <td>FrameMaker document</td></tr> | |
777 | <tr valign="top"> | |
778 | <td align=left><strong>application/x-mif</strong></td> | |
779 | <td align=center><tt>mif</tt></td> | |
780 | <td>Frame MIF document</td></tr> | |
781 | <tr valign="top"> | |
782 | <td align=left><strong>application/x-mocha</strong></td> | |
783 | <td align=center><tt>moc</tt></td> | |
784 | <td>mocha file</td></tr> | |
785 | <tr valign="top"> | |
786 | <td align=left><strong>application/x-msaccess</strong></td> | |
787 | <td align=center><tt>mdb</tt></td> | |
788 | <td>MS-Access database</td></tr> | |
789 | <tr valign="top"> | |
790 | <td align=left><strong>application/x-mscardfile</strong></td> | |
791 | <td align=center><tt>crd</tt></td> | |
792 | <td>MS-CardFile</td></tr> | |
793 | <tr valign="top"> | |
794 | <td align=left><strong>application/x-msclip</strong></td> | |
795 | <td align=center><tt>clp</tt></td> | |
796 | <td>MS-Clip file</td></tr> | |
797 | <tr valign="top"> | |
798 | <td align=left><strong>application/x-msmediaview</strong></td> | |
799 | <td align=center><tt>m14</tt></td> | |
800 | <td>MS-Media View file</td></tr> | |
801 | <tr valign="top"> | |
802 | <td align=left><strong>application/x-msmetafile</strong></td> | |
803 | <td align=center><tt>wmf</tt></td> | |
804 | <td>MS-Metafile</td></tr> | |
805 | <tr valign="top"> | |
806 | <td align=left><strong>application/x-msmoney</strong></td> | |
807 | <td align=center><tt>mny</tt></td> | |
808 | <td>MS-Money file</td></tr> | |
809 | <tr valign="top"> | |
810 | <td align=left><strong>application/x-mspublisher</strong></td> | |
811 | <td align=center><tt>pub</tt></td> | |
812 | <td>MS-Publisher document</td></tr> | |
813 | <tr valign="top"> | |
814 | <td align=left><strong>application/x-msschedule</strong></td> | |
815 | <td align=center><tt>scd</tt></td> | |
816 | <td>MS-Schedule file</td></tr> | |
817 | <tr valign="top"> | |
818 | <td align=left><strong>application/x-msterminal</strong></td> | |
819 | <td align=center><tt>trm</tt></td> | |
820 | <td>MS-Terminal</td></tr> | |
821 | <tr valign="top"> | |
822 | <td align=left><strong>application/x-mswrite</strong></td> | |
823 | <td align=center><tt>wri</tt></td> | |
824 | <td>MS-Write document</td></tr> | |
825 | <tr valign="top"> | |
826 | <td align=left><strong>application/x-net-install</strong></td> | |
827 | <td align=center><tt>ins</tt></td> | |
828 | <td>Net Install file</td></tr> | |
829 | <tr valign="top"> | |
830 | <td align=left><strong>application/x-netcdf</strong></td> | |
831 | <td align=center><tt>cdf</tt></td> | |
832 | <td>Cdf file</td></tr> | |
833 | <tr valign="top"> | |
834 | <td align=left><strong>application/x-ns-proxy-autoconfig</strong></td> | |
835 | <td align=center><tt>proxy</tt></td> | |
836 | <td>Netscape Proxy Auto Config</td></tr> | |
837 | <tr valign="top"> | |
838 | <td align=left><strong>application/x-patch</strong></td> | |
839 | <td align=center><tt>patch</tt></td> | |
840 | <td>Source code patch</td></tr> | |
841 | <tr valign="top"> | |
842 | <td align=left><strong>application/x-perl</strong></td> | |
843 | <td align=center><tt>pl</tt></td> | |
844 | <td>Perl program</td></tr> | |
845 | <tr valign="top"> | |
846 | <td align=left><strong>application/x-pointplus</strong></td> | |
847 | <td align=center><tt>css</tt></td> | |
848 | <td>pointplus file</td></tr> | |
849 | <tr valign="top"> | |
850 | <td align=left><strong>application/x-salsa</strong></td> | |
851 | <td align=center><tt>slc</tt></td> | |
852 | <td>salsa file</td></tr> | |
853 | <tr valign="top"> | |
854 | <td align=left><strong>application/x-script</strong></td> | |
855 | <td align=center><tt>script</tt></td> | |
856 | <td>A script file</td></tr> | |
857 | <tr valign="top"> | |
858 | <td align=left><strong>application/x-sh</strong></td> | |
859 | <td align=center><tt>sh</tt></td> | |
860 | <td>Bourne shell script</td></tr> | |
861 | <tr valign="top"> | |
862 | <td align=left><strong>application/x-shar</strong></td> | |
863 | <td align=center><tt>shar</tt></td> | |
864 | <td>Unix shell archive</td></tr> | |
865 | <tr valign="top"> | |
866 | <td align=left><strong>application/x-sprite</strong></td> | |
867 | <td align=center><tt>spr</tt></td> | |
868 | <td>sprite file</td></tr> | |
869 | <tr valign="top"> | |
870 | <td align=left><strong>application/x-stuffit</strong></td> | |
871 | <td align=center><tt>sit</tt></td> | |
872 | <td>Macintosh archive</td></tr> | |
873 | <tr valign="top"> | |
874 | <td align=left><strong>application/x-sv4cpio</strong></td> | |
875 | <td align=center><tt>sv4cpio</tt></td> | |
876 | <td>SV4Cpio file</td></tr> | |
877 | <tr valign="top"> | |
878 | <td align=left><strong>application/x-sv4crc</strong></td> | |
879 | <td align=center><tt>sv4crc</tt></td> | |
880 | <td>SV4Crc file</td></tr> | |
881 | <tr valign="top"> | |
882 | <td align=left><strong>application/x-tar</strong></td> | |
883 | <td align=center><tt>tar</tt></td> | |
884 | <td>Unix tar archive</td></tr> | |
885 | <tr valign="top"> | |
886 | <td align=left><strong>application/x-tcl</strong></td> | |
887 | <td align=center><tt>tcl</tt></td> | |
888 | <td>Tcl script</td></tr> | |
889 | <tr valign="top"> | |
890 | <td align=left><strong>application/x-tex</strong></td> | |
891 | <td align=center><tt>tex</tt></td> | |
892 | <td>TeX document</td></tr> | |
893 | <tr valign="top"> | |
894 | <td align=left><strong>application/x-texinfo</strong></td> | |
895 | <td align=center><tt>texinfo</tt></td> | |
896 | <td>TeXInfo document</td></tr> | |
897 | <tr valign="top"> | |
898 | <td align=left><strong>application/x-timbuktu</strong></td> | |
899 | <td align=center><tt>tbp</tt></td> | |
900 | <td>timbuktu file</td></tr> | |
901 | <tr valign="top"> | |
902 | <td align=left><strong>application/x-tkined</strong></td> | |
903 | <td align=center><tt>tki</tt></td> | |
904 | <td>tkined file</td></tr> | |
905 | <tr valign="top"> | |
906 | <td align=left><strong>application/x-troff</strong></td> | |
907 | <td align=center><tt>roff</tt></td> | |
908 | <td>Troff document</td></tr> | |
909 | <tr valign="top"> | |
910 | <td align=left><strong>application/x-troff-man</strong></td> | |
911 | <td align=center><tt>man</tt></td> | |
912 | <td>Unix manual page</td></tr> | |
913 | <tr valign="top"> | |
914 | <td align=left><strong>application/x-troff-me</strong></td> | |
915 | <td align=center><tt>me</tt></td> | |
916 | <td>Troff ME-macros document</td></tr> | |
917 | <tr valign="top"> | |
918 | <td align=left><strong>application/x-troff-ms</strong></td> | |
919 | <td align=center><tt>ms</tt></td> | |
920 | <td>Troff MS-macros document</td></tr> | |
921 | <tr valign="top"> | |
922 | <td align=left><strong>application/x-ustar</strong></td> | |
923 | <td align=center><tt>ustar</tt></td> | |
924 | <td>UStar file</td></tr> | |
925 | <tr valign="top"> | |
926 | <td align=left><strong>application/x-wais-source</strong></td> | |
927 | <td align=center><tt>src</tt></td> | |
928 | <td>WAIS Source</td></tr> | |
929 | <tr valign="top"> | |
930 | <td align=left><strong>application/x-zip-compressed</strong></td> | |
931 | <td align=center><tt>zip</tt></td> | |
932 | <td>Zip compressed data</td></tr> | |
933 | <tr valign="top"> | |
934 | <td align=left><strong>application/zip</strong></td> | |
935 | <td align=center><tt>zip</tt></td> | |
936 | <td>Zip archive</td></tr> | |
937 | <tr valign="top"> | |
938 | <td align=left><strong>audio/basic</strong></td> | |
939 | <td align=center><tt>snd</tt></td> | |
940 | <td>Basic audio</td></tr> | |
941 | <tr valign="top"> | |
942 | <td align=left><strong>audio/echospeech</strong></td> | |
943 | <td align=center><tt>es</tt></td> | |
944 | <td>Echospeech audio</td></tr> | |
945 | <tr valign="top"> | |
946 | <td align=left><strong>audio/microsoft-wav</strong></td> | |
947 | <td align=center><tt>wav</tt></td> | |
948 | <td>Wave audio</td></tr> | |
949 | <tr valign="top"> | |
950 | <td align=left><strong>audio/midi</strong></td> | |
951 | <td align=center><tt>midi</tt></td> | |
952 | <td>MIDI audio</td></tr> | |
953 | <tr valign="top"> | |
954 | <td align=left><strong>audio/wav</strong></td> | |
955 | <td align=center><tt>wav</tt></td> | |
956 | <td>Wave audio</td></tr> | |
957 | <tr valign="top"> | |
958 | <td align=left><strong>audio/x-aiff</strong></td> | |
959 | <td align=center><tt>aif</tt></td> | |
960 | <td>AIF audio</td></tr> | |
961 | <tr valign="top"> | |
962 | <td align=left><strong>audio/x-epac</strong></td> | |
963 | <td align=center><tt>pae</tt></td> | |
964 | <td>epac audio</td></tr> | |
965 | <tr valign="top"> | |
966 | <td align=left><strong>audio/x-midi</strong></td> | |
967 | <td align=center><tt>midi</tt></td> | |
968 | <td>MIDI audio</td></tr> | |
969 | <tr valign="top"> | |
970 | <td align=left><strong>audio/x-mpeg</strong></td> | |
971 | <td align=center><tt>mp2</tt></td> | |
972 | <td>MPEG audio</td></tr> | |
973 | <tr valign="top"> | |
974 | <td align=left><strong>audio/x-pac</strong></td> | |
975 | <td align=center><tt>pac</tt></td> | |
976 | <td>pac audio</td></tr> | |
977 | <tr valign="top"> | |
978 | <td align=left><strong>audio/x-pn-realaudio</strong></td> | |
979 | <td align=center><tt>ra</tt></td> | |
980 | <td>PN Realaudio</td></tr> | |
981 | <tr valign="top"> | |
982 | <td align=left><strong>audio/x-wav</strong></td> | |
983 | <td align=center><tt>wav</tt></td> | |
984 | <td>Wave audio</td></tr> | |
985 | <tr valign="top"> | |
986 | <td align=left><strong>chemical/chem3d</strong></td> | |
987 | <td align=center><tt>c3d</tt></td> | |
988 | <td>Chem3d chemical test</td></tr> | |
989 | <tr valign="top"> | |
990 | <td align=left><strong>chemical/chemdraw</strong></td> | |
991 | <td align=center><tt>chm</tt></td> | |
992 | <td>Chemdraw chemical test</td></tr> | |
993 | <tr valign="top"> | |
994 | <td align=left><strong>chemical/cif</strong></td> | |
995 | <td align=center><tt>cif</tt></td> | |
996 | <td>CIF chemical test</td></tr> | |
997 | <tr valign="top"> | |
998 | <td align=left><strong>chemical/cml</strong></td> | |
999 | <td align=center><tt>cml</tt></td> | |
1000 | <td>CML chemical test</td></tr> | |
1001 | <tr valign="top"> | |
1002 | <td align=left><strong>chemical/cmsl</strong></td> | |
1003 | <td align=center><tt>cml</tt></td> | |
1004 | <td>Chemical Structure Markup</td></tr> | |
1005 | <tr valign="top"> | |
1006 | <td align=left><strong>chemical/cxf</strong></td> | |
1007 | <td align=center><tt>cxf</tt></td> | |
1008 | <td>Chemical Exhange Format file</td></tr> | |
1009 | <tr valign="top"> | |
1010 | <td align=left><strong>chemical/daylight-smiles</strong></td> | |
1011 | <td align=center><tt>smi</tt></td> | |
1012 | <td>SMILES format file</td></tr> | |
1013 | <tr valign="top"> | |
1014 | <td align=left><strong>chemical/embl-dl-nucleotide</strong></td> | |
1015 | <td align=center><tt>emb</tt></td> | |
1016 | <td>EMBL nucleotide format file</td></tr> | |
1017 | <tr valign="top"> | |
1018 | <td align=left><strong>chemical/gaussian</strong></td> | |
1019 | <td align=center><tt>gau</tt></td> | |
1020 | <td>Gaussian data</td></tr> | |
1021 | <tr valign="top"> | |
1022 | <td align=left><strong>chemical/gaussian-input</strong></td> | |
1023 | <td align=center><tt>gau</tt></td> | |
1024 | <td>Gaussian input data</td></tr> | |
1025 | <tr valign="top"> | |
1026 | <td align=left><strong>chemical/gaussian-log</strong></td> | |
1027 | <td align=center><tt>gal</tt></td> | |
1028 | <td>Gaussian log</td></tr> | |
1029 | <tr valign="top"> | |
1030 | <td align=left><strong>chemical/gcg8-sequence</strong></td> | |
1031 | <td align=center><tt>gcg</tt></td> | |
1032 | <td>GCG format file</td></tr> | |
1033 | <tr valign="top"> | |
1034 | <td align=left><strong>chemical/genbank</strong></td> | |
1035 | <td align=center><tt>gen</tt></td> | |
1036 | <td>GENbank data</td></tr> | |
1037 | <tr valign="top"> | |
1038 | <td align=left><strong>chemical/jcamp-dx</strong></td> | |
1039 | <td align=center><tt>jdx</tt></td> | |
1040 | <td>Jcamp chemical spectra test</td></tr> | |
1041 | <tr valign="top"> | |
1042 | <td align=left><strong>chemical/kinemage</strong></td> | |
1043 | <td align=center><tt>kin</tt></td> | |
1044 | <td>Kinemage</td></tr> | |
1045 | <tr valign="top"> | |
1046 | <td align=left><strong>chemical/macromodel-input</strong></td> | |
1047 | <td align=center><tt>mmd</tt></td> | |
1048 | <td>Macromodel chemical test</td></tr> | |
1049 | <tr valign="top"> | |
1050 | <td align=left><strong>chemical/mdl-molfile</strong></td> | |
1051 | <td align=center><tt>mol</tt></td> | |
1052 | <td>MOL mdl chemical test</td></tr> | |
1053 | <tr valign="top"> | |
1054 | <td align=left><strong>chemical/mdl-rdf</strong></td> | |
1055 | <td align=center><tt>rdf</tt></td> | |
1056 | <td>RDF chemical test</td></tr> | |
1057 | <tr valign="top"> | |
1058 | <td align=left><strong>chemical/mdl-rxn</strong></td> | |
1059 | <td align=center><tt>rxn</tt></td> | |
1060 | <td>RXN chemical test</td></tr> | |
1061 | <tr valign="top"> | |
1062 | <td align=left><strong>chemical/mdl-sdf</strong></td> | |
1063 | <td align=center><tt>sdf</tt></td> | |
1064 | <td>SDF chemical test</td></tr> | |
1065 | <tr valign="top"> | |
1066 | <td align=left><strong>chemical/mdl-tgf</strong></td> | |
1067 | <td align=center><tt>tgf</tt></td> | |
1068 | <td>TGF chemical test</td></tr> | |
1069 | <tr valign="top"> | |
1070 | <td align=left><strong>chemical/mif</strong></td> | |
1071 | <td align=center><tt>mif</tt></td> | |
1072 | <td>MIF chemical test</td></tr> | |
1073 | <tr valign="top"> | |
1074 | <td align=left><strong>chemical/mmd</strong></td> | |
1075 | <td align=center><tt>mmd</tt></td> | |
1076 | <td>Macromodel data</td></tr> | |
1077 | <tr valign="top"> | |
1078 | <td align=left><strong>chemical/mopac-input</strong></td> | |
1079 | <td align=center><tt>mop</tt></td> | |
1080 | <td>MOPAC data </td></tr> | |
1081 | <tr valign="top"> | |
1082 | <td align=left><strong>chemical/ncbi-asn1</strong></td> | |
1083 | <td align=center><tt>asn</tt></td> | |
1084 | <td>NCBI data</td></tr> | |
1085 | <tr valign="top"> | |
1086 | <td align=left><strong>chemical/pdb</strong></td> | |
1087 | <td align=center><tt>pdb</tt></td> | |
1088 | <td>Protein Databank data</td></tr> | |
1089 | <tr valign="top"> | |
1090 | <td align=left><strong>chemical/rosdal</strong></td> | |
1091 | <td align=center><tt>ros</tt></td> | |
1092 | <td>Rosdal data</td></tr> | |
1093 | <tr valign="top"> | |
1094 | <td align=left><strong>chemical/xyz</strong></td> | |
1095 | <td align=center><tt>xyz</tt></td> | |
1096 | <td>Xmol XYZ data</td></tr> | |
1097 | <tr valign="top"> | |
1098 | <td align=left><strong>image/bmp</strong></td> | |
1099 | <td align=center><tt>bmp</tt></td> | |
1100 | <td>Windows bitmap</td></tr> | |
1101 | <tr valign="top"> | |
1102 | <td align=left><strong>image/cgm</strong></td> | |
1103 | <td align=center><tt>cgm</tt></td> | |
1104 | <td>Computer Graphics Metafile</td></tr> | |
1105 | <tr valign="top"> | |
1106 | <td align=left><strong>image/fif</strong></td> | |
1107 | <td align=center><tt>fif</tt></td> | |
1108 | <td>Fractal Image Format image</td></tr> | |
1109 | <tr valign="top"> | |
1110 | <td align=left><strong>image/g3fax</strong></td> | |
1111 | <td align=center><tt>g3f</tt></td> | |
1112 | <td>Group III FAX image</td></tr> | |
1113 | <tr valign="top"> | |
1114 | <td align=left><strong>image/gif</strong></td> | |
1115 | <td align=center><tt>gif</tt></td> | |
1116 | <td>GIF image</td></tr> | |
1117 | <tr valign="top"> | |
1118 | <td align=left><strong>image/ief</strong></td> | |
1119 | <td align=center><tt>ief</tt></td> | |
1120 | <td>IEF image</td></tr> | |
1121 | <tr valign="top"> | |
1122 | <td align=left><strong>image/ifs</strong></td> | |
1123 | <td align=center><tt>ifs</tt></td> | |
1124 | <td>IFS image</td></tr> | |
1125 | <tr valign="top"> | |
1126 | <td align=left><strong>image/jpeg</strong></td> | |
1127 | <td align=center><tt>jpg</tt></td> | |
1128 | <td>JPEG image</td></tr> | |
1129 | <tr valign="top"> | |
1130 | <td align=left><strong>image/pbm</strong></td> | |
1131 | <td align=center><tt>pbm</tt></td> | |
1132 | <td>Portable bitmap</td></tr> | |
1133 | <tr valign="top"> | |
1134 | <td align=left><strong>image/pgm</strong></td> | |
1135 | <td align=center><tt>pgm</tt></td> | |
1136 | <td>Portable graymap</td></tr> | |
1137 | <tr valign="top"> | |
1138 | <td align=left><strong>image/png</strong></td> | |
1139 | <td align=center><tt>png</tt></td> | |
1140 | <td>PNG image</td></tr> | |
1141 | <tr valign="top"> | |
1142 | <td align=left><strong>image/tiff</strong></td> | |
1143 | <td align=center><tt>tif</tt></td> | |
1144 | <td>TIFF image</td></tr> | |
1145 | <tr valign="top"> | |
1146 | <td align=left><strong>image/vnd</strong></td> | |
1147 | <td align=center><tt>dwg</tt></td> | |
1148 | <td>VND image</td></tr> | |
1149 | <tr valign="top"> | |
1150 | <td align=left><strong>image/wavelet</strong></td> | |
1151 | <td align=center><tt>wi</tt></td> | |
1152 | <td>Wavelet image</td></tr> | |
1153 | <tr valign="top"> | |
1154 | <td align=left><strong>image/x-cmu-raster</strong></td> | |
1155 | <td align=center><tt>ras</tt></td> | |
1156 | <td>CMU raster</td></tr> | |
1157 | <tr valign="top"> | |
1158 | <td align=left><strong>image/x-pbm</strong></td> | |
1159 | <td align=center><tt>pbm</tt></td> | |
1160 | <td>Portable bitmap</td></tr> | |
1161 | <tr valign="top"> | |
1162 | <td align=left><strong>image/x-pcx</strong></td> | |
1163 | <td align=center><tt>pcx</tt></td> | |
1164 | <td>PCX image</td></tr> | |
1165 | <tr valign="top"> | |
1166 | <td align=left><strong>image/x-pgm</strong></td> | |
1167 | <td align=center><tt>pgm</tt></td> | |
1168 | <td>Portable graymap</td></tr> | |
1169 | <tr valign="top"> | |
1170 | <td align=left><strong>image/x-pict</strong></td> | |
1171 | <td align=center><tt>pict</tt></td> | |
1172 | <td>Mac PICT image</td></tr> | |
1173 | <tr valign="top"> | |
1174 | <td align=left><strong>image/x-pnm</strong></td> | |
1175 | <td align=center><tt>pnm</tt></td> | |
1176 | <td>Portable anymap</td></tr> | |
1177 | <tr valign="top"> | |
1178 | <td align=left><strong>image/x-portable-anymap</strong></td> | |
1179 | <td align=center><tt>pnm</tt></td> | |
1180 | <td>Portable anymap</td></tr> | |
1181 | <tr valign="top"> | |
1182 | <td align=left><strong>image/x-portable-bitmap</strong></td> | |
1183 | <td align=center><tt>pbm</tt></td> | |
1184 | <td>Portable bitmap</td></tr> | |
1185 | <tr valign="top"> | |
1186 | <td align=left><strong>image/x-portable-graymap</strong></td> | |
1187 | <td align=center><tt>pgm</tt></td> | |
1188 | <td>Portable graymap</td></tr> | |
1189 | <tr valign="top"> | |
1190 | <td align=left><strong>image/x-portable-pixmap</strong></td> | |
1191 | <td align=center><tt>ppm</tt></td> | |
1192 | <td>Portable pixmap</td></tr> | |
1193 | <tr valign="top"> | |
1194 | <td align=left><strong>image/x-ppm</strong></td> | |
1195 | <td align=center><tt>ppm</tt></td> | |
1196 | <td>Portable pixmap</td></tr> | |
1197 | <tr valign="top"> | |
1198 | <td align=left><strong>image/x-rgb</strong></td> | |
1199 | <td align=center><tt>rgb</tt></td> | |
1200 | <td>RGB image</td></tr> | |
1201 | <tr valign="top"> | |
1202 | <td align=left><strong>image/x-xbitmap</strong></td> | |
1203 | <td align=center><tt>xbm</tt></td> | |
1204 | <td>X bitmap</td></tr> | |
1205 | <tr valign="top"> | |
1206 | <td align=left><strong>image/x-xbm</strong></td> | |
1207 | <td align=center><tt>xbm</tt></td> | |
1208 | <td>X bitmap</td></tr> | |
1209 | <tr valign="top"> | |
1210 | <td align=left><strong>image/x-xpixmap</strong></td> | |
1211 | <td align=center><tt>xpm</tt></td> | |
1212 | <td>X pixmap</td></tr> | |
1213 | <tr valign="top"> | |
1214 | <td align=left><strong>image/x-xpm</strong></td> | |
1215 | <td align=center><tt>xpm</tt></td> | |
1216 | <td>X pixmap</td></tr> | |
1217 | <tr valign="top"> | |
1218 | <td align=left><strong>image/x-xwd</strong></td> | |
1219 | <td align=center><tt>xwd</tt></td> | |
1220 | <td>X window dump</td></tr> | |
1221 | <tr valign="top"> | |
1222 | <td align=left><strong>image/x-xwindowdump</strong></td> | |
1223 | <td align=center><tt>xwd</tt></td> | |
1224 | <td>X window dump</td></tr> | |
1225 | <tr valign="top"> | |
1226 | <td align=left><strong>message/news</strong></td> | |
1227 | <td align=center><tt>822</tt></td> | |
1228 | <td>News post</td></tr> | |
1229 | <tr valign="top"> | |
1230 | <td align=left><strong>message/rfc822</strong></td> | |
1231 | <td align=center><tt>822</tt></td> | |
1232 | <td>Mail message</td></tr> | |
1233 | <tr valign="top"> | |
1234 | <td align=left><strong>model/iges</strong></td> | |
1235 | <td align=center><tt>iges</tt></td> | |
1236 | <td>IGES model</td></tr> | |
1237 | <tr valign="top"> | |
1238 | <td align=left><strong>model/mesh</strong></td> | |
1239 | <td align=center><tt>mesh</tt></td> | |
1240 | <td>Mesh model</td></tr> | |
1241 | <tr valign="top"> | |
1242 | <td align=left><strong>model/vrml</strong></td> | |
1243 | <td align=center><tt>wrl</tt></td> | |
1244 | <td>VRML model</td></tr> | |
1245 | <tr valign="top"> | |
1246 | <td align=left><strong>text/enriched</strong></td> | |
1247 | <td align=center><tt>rtx</tt></td> | |
1248 | <td>Text-enriched document</td></tr> | |
1249 | <tr valign="top"> | |
1250 | <td align=left><strong>text/html</strong></td> | |
1251 | <td align=center><tt>html</tt></td> | |
1252 | <td>HTML document</td></tr> | |
1253 | <tr valign="top"> | |
1254 | <td align=left><strong>text/plain</strong></td> | |
1255 | <td align=center><tt>txt</tt></td> | |
1256 | <td>Text document</td></tr> | |
1257 | <tr valign="top"> | |
1258 | <td align=left><strong>text/richtext</strong></td> | |
1259 | <td align=center><tt>rtx</tt></td> | |
1260 | <td>Richtext document</td></tr> | |
1261 | <tr valign="top"> | |
1262 | <td align=left><strong>text/setext</strong></td> | |
1263 | <td align=center><tt>stx</tt></td> | |
1264 | <td>Setext document</td></tr> | |
1265 | <tr valign="top"> | |
1266 | <td align=left><strong>text/sgml</strong></td> | |
1267 | <td align=center><tt>sgml</tt></td> | |
1268 | <td>SGML document</td></tr> | |
1269 | <tr valign="top"> | |
1270 | <td align=left><strong>text/tab-separated-values</strong></td> | |
1271 | <td align=center><tt>tsv</tt></td> | |
1272 | <td>Tab separated values</td></tr> | |
1273 | <tr valign="top"> | |
1274 | <td align=left><strong>text/x-speech</strong></td> | |
1275 | <td align=center><tt>talk</tt></td> | |
1276 | <td>Speech document</td></tr> | |
1277 | <tr valign="top"> | |
1278 | <td align=left><strong>video/isivideo</strong></td> | |
1279 | <td align=center><tt>fvi</tt></td> | |
1280 | <td>isi video</td></tr> | |
1281 | <tr valign="top"> | |
1282 | <td align=left><strong>video/mpeg</strong></td> | |
1283 | <td align=center><tt>mpg</tt></td> | |
1284 | <td>MPEG movie</td></tr> | |
1285 | <tr valign="top"> | |
1286 | <td align=left><strong>video/msvideo</strong></td> | |
1287 | <td align=center><tt>avi</tt></td> | |
1288 | <td>MS Video</td></tr> | |
1289 | <tr valign="top"> | |
1290 | <td align=left><strong>video/quicktime</strong></td> | |
1291 | <td align=center><tt>mov</tt></td> | |
1292 | <td>QuickTime movie</td></tr> | |
1293 | <tr valign="top"> | |
1294 | <td align=left><strong>video/vivo</strong></td> | |
1295 | <td align=center><tt>viv</tt></td> | |
1296 | <td>vivo video</td></tr> | |
1297 | <tr valign="top"> | |
1298 | <td align=left><strong>video/wavelet</strong></td> | |
1299 | <td align=center><tt>wv</tt></td> | |
1300 | <td>Wavelet video</td></tr> | |
1301 | <tr valign="top"> | |
1302 | <td align=left><strong>video/x-sgi-movie</strong></td> | |
1303 | <td align=center><tt>movie</tt></td> | |
1304 | <td>SGI movie</td></tr> | |
1305 | </table> | |
1306 | <!--X-Ext-CType-End--> | |
1307 | </center> | |
1308 | ||
1309 | <hr size=0 noshade width="50%"> | |
1310 | <H3><a name="m2h_msg_extbody">m2h_msg_extbody::filter</a></h3> | |
1311 | ||
1312 | <p>This filter is designed to process <tt>message/external-body</tt> | |
1313 | data. | |
1314 | The filter attempts to translate the external-body paramaters | |
1315 | into a linked URL with some descriptive information, | |
1316 | if provided. The following access-types are supported: | |
1317 | ANON-FTP, FTP, TFTP, LOCAL-FILE, and URL. Note, LOCAL-FILE is | |
1318 | only supported if the <tt>local-file</tt> option is specified. | |
1319 | </p> | |
1320 | ||
1321 | <p><strong><tt>m2h_msg_extbody::filter</tt></strong> can take the | |
1322 | following | |
1323 | <a href="mimeargs.html">arguments</a>: | |
1324 | </p> | |
1325 | ||
1326 | <table cellspacing=1 border=0 cellpadding=4> | |
1327 | <tr valign=top> | |
1328 | <td><strong><tt>local-file</tt></strong></td> | |
1329 | <td><p>Support LOCAL-FILE access-type. This option | |
1330 | is best used for internal local mail archives | |
1331 | where it is known that readers will have | |
1332 | direct access to the file. | |
1333 | </p> | |
1334 | </tr> | |
1335 | </table> | |
1336 | ||
1337 | ||
1338 | <hr size=0 noshade width="50%"> | |
1339 | <H3><a name="m2h_text_enriched">m2h_text_enriched::filter</a></h3> | |
1340 | ||
1341 | <p>This filter is designed to process text/enriched, or | |
1342 | text/richtext, data. The following table summarizes the | |
1343 | translation of text/enriched commands to HTML tags: | |
1344 | </p> | |
1345 | ||
1346 | <center> | |
1347 | <table border=1 cellpadding=2> | |
1348 | <tr valign=top align=left bgcolor="#C0C0C0"> | |
1349 | <th>Text/Enriched Command</th><th>HTML Translation</th> | |
1350 | </tr> | |
1351 | <tr valign=top> | |
1352 | <td><strong><Bold></strong></td> | |
1353 | <td><B></td> | |
1354 | </tr> | |
1355 | <tr valign=top> | |
1356 | <td><strong><Italic></strong></td> | |
1357 | <td><I></td> | |
1358 | </tr> | |
1359 | <tr valign=top> | |
1360 | <td><strong><Underline></strong></td> | |
1361 | <td><U></td> | |
1362 | </tr> | |
1363 | <tr valign=top> | |
1364 | <td><strong><Fixed></strong></td> | |
1365 | <td><TT></td> | |
1366 | </tr> | |
1367 | <tr valign=top> | |
1368 | <td><strong><Smaller></strong></td> | |
1369 | <td><SMALL></td> | |
1370 | </tr> | |
1371 | <tr valign=top> | |
1372 | <td><strong><Bigger></strong></td> | |
1373 | <td><BIG></td> | |
1374 | </tr> | |
1375 | <tr valign=top> | |
1376 | <td><strong><FontFamily><Param><var>family</var></Param></strong></td> | |
1377 | <td><FONT face="<var>family</var>"></td> | |
1378 | </tr> | |
1379 | <tr valign=top> | |
1380 | <td><strong><Color><Param><var>color</var></Param></strong></td> | |
1381 | <td><FONT color="<var>color</var>"></td> | |
1382 | </tr> | |
1383 | <tr valign=top> | |
1384 | <td><strong><Center></strong></td> | |
1385 | <td><P align="center"></td> | |
1386 | </tr> | |
1387 | <tr valign=top> | |
1388 | <td><strong><FlushLeft></strong></td> | |
1389 | <td><P align="left"></td> | |
1390 | </tr> | |
1391 | <tr valign=top> | |
1392 | <td><strong><FlushRight></strong></td> | |
1393 | <td><P align="right"></td> | |
1394 | </tr> | |
1395 | <tr valign=top> | |
1396 | <td><strong><FlushBoth></strong></td> | |
1397 | <td><P align="both"> <em>(not supported in HTML)</em></td> | |
1398 | </tr> | |
1399 | <tr valign=top> | |
1400 | <td><strong><ParaIndent></strong></td> | |
1401 | <td><BLOCKQUOTE></td> | |
1402 | </tr> | |
1403 | <tr valign=top> | |
1404 | <td><strong><Excerpt></strong></td> | |
1405 | <td><BLOCKQUOTE></td> | |
1406 | </tr> | |
1407 | <tr valign=top> | |
1408 | <td><strong><Lang></strong></td> | |
1409 | <td><em>Stripped</em></td> | |
1410 | </tr> | |
1411 | </table> | |
1412 | </center> | |
1413 | ||
1414 | <p>If the text/enriched contains non-ASCII character, the filter will | |
1415 | convert the characters to the appropriate entity references. | |
1416 | </p> | |
1417 | ||
1418 | <table border=0 cellpadding=4> | |
1419 | <tr valign=top> | |
1420 | <td><strong>NOTE</strong></td> | |
1421 | <td><p>Only the ISO-8859-[1-10] character sets are recognized. | |
1422 | </p> | |
1423 | </td> | |
1424 | </tr> | |
1425 | </table> | |
1426 | ||
1427 | <hr size=0 noshade width="50%"> | |
1428 | <H3><a name="m2h_text_html">m2h_text_html::filter</a></h3> | |
1429 | ||
1430 | <table border=0 cellpadding=4> | |
1431 | <tr valign=top> | |
1432 | <td><strong><font color="red">CAUTION</font></strong></td> | |
1433 | <td><p> | |
1434 | If you are worried about security, it is recommended that you disable | |
1435 | support of text/html messages in your mail archives. There is no | |
1436 | guarantee that this filter is robust enough to eliminate all possible | |
1437 | exploits that can occur with HTML data. | |
1438 | </p> | |
1439 | </td> | |
1440 | </tr> | |
1441 | </table> | |
1442 | ||
1443 | <p>This filter is designed to process <tt>text/html</tt>, or | |
1444 | <tt>text/x-html</tt>, data. | |
1445 | The filter modifies HTML documents so they can be | |
1446 | included into the message pages without causing invalid markup | |
1447 | to occur. The following modification are done to HTML documents when | |
1448 | processed by MHonArc: | |
1449 | </p> | |
1450 | <ul> | |
1451 | <li><p>The HEAD element is removed. Since some elements within the HEAD | |
1452 | element may be relevant to the rest of the document, the following is | |
1453 | done when removing the HEAD element:</p> | |
1454 | <ul> | |
1455 | <li>The title will be extracted and prepended | |
1456 | to the body data.</li> | |
1457 | <li>Any BASE URL will be propogated to any relative URLs in the | |
1458 | document.</li> | |
1459 | </ul> | |
1460 | <p></p> | |
1461 | </li> | |
1462 | <li><p>Any markup related to scripting is removed for security | |
1463 | reasons. The following tags are removed: | |
1464 | <tt><applet></tt>, | |
1465 | <tt><base></tt>, | |
1466 | <tt><embed></tt>, | |
1467 | <tt><form></tt>, | |
1468 | <tt><ilayer></tt>, | |
1469 | <tt><input></tt>, | |
1470 | <tt><layer></tt>, | |
1471 | <tt><link></tt>, | |
1472 | <tt><meta></tt>, | |
1473 | <tt><object></tt>, | |
1474 | <tt><option></tt>, | |
1475 | <tt><param></tt>, | |
1476 | <tt><script></tt>, | |
1477 | <tt><select></tt>, | |
1478 | <tt><style></tt>, | |
1479 | <tt><textarea></tt>. | |
1480 | The following attributes are removed: | |
1481 | <tt>onload</tt>, | |
1482 | <tt>onunload</tt>, | |
1483 | <tt>onclick</tt>, | |
1484 | <tt>ondblclick</tt>, | |
1485 | <tt>onmousedown</tt>, | |
1486 | <tt>onmouseup</tt>, | |
1487 | <tt>onmouseover</tt>, | |
1488 | <tt>onmousemove</tt>, | |
1489 | <tt>onmouseout</tt>, | |
1490 | <tt>onkeypress</tt>, | |
1491 | <tt>onkeydown</tt>, | |
1492 | <tt>onkeyup</tt>. | |
1493 | The <strong><tt>allowscript</tt></strong> option can be | |
1494 | be used to override this behavior (see below). | |
1495 | </p></li> | |
1496 | <li><p><b><tt>cid:</tt></b> URLs are resolved, if possible. Therefore, | |
1497 | if image data related to the HTML document is included with the message, | |
1498 | the URLs will be modified to the filenames of the images that were | |
1499 | decoded.</p> | |
1500 | </li> | |
1501 | </ul> | |
1502 | ||
1503 | <p><strong><tt>m2h_text_html::filter</tt></strong> can take the | |
1504 | following | |
1505 | <a href="mimeargs.html">arguments</a>: | |
1506 | </p> | |
1507 | ||
1508 | <table cellspacing=1 border=0 cellpadding=4> | |
1509 | <tr valign=top> | |
1510 | <td><strong><tt>allowcomments</tt></strong></td> | |
1511 | <td><p>Preserve any comment declarations. Comment declarations | |
1512 | are sometimes used to contain executable commands, like for | |
1513 | server-side includes. Normally, comment declarations are munged | |
1514 | to protect against potential exploits, but this option will | |
1515 | disable that behavior. Use this options with <strong>EXTREME</strong> | |
1516 | care. | |
1517 | </p></td> | |
1518 | </tr> | |
1519 | <tr valign=top> | |
1520 | <td><strong><tt>allownoncidurls</tt></strong></td> | |
1521 | <td><p>Preserve URL-based attributes that are not cid: URLs. | |
1522 | Normally, any URL-based attribute -- <tt>href</tt>, <tt>src</tt>, | |
1523 | <tt>background</tt>, <tt>classid</tt>, <tt>data</tt>, <tt>longdesc</tt> | |
1524 | -- will be stripped if it is not a cid: URL. This is to prevent | |
1525 | malicious URLs that verify mail addresses for spam purposes, secretly | |
1526 | set cookies, or gather some statistical data automatically with the | |
1527 | use of elements that cause browsers to automatically fetch data: | |
1528 | <tt>IMG</tt>, <tt>BODY</tt>, <tt>IFRAME</tt>, <tt>FRAME</tt>, | |
1529 | <tt>OBJECT</tt>, <tt>SCRIPT</tt>, <tt>INPUT</tt>. | |
1530 | </p></td> | |
1531 | </tr> | |
1532 | <tr valign=top> | |
1533 | <td><strong><tt>allowscript</tt></strong></td> | |
1534 | <td><p>Preserve any markup associated with scripting. | |
1535 | This includes elements and attributes related to scripting. This option | |
1536 | can cause security problems for your archive since someone can introduce | |
1537 | foreign client-side code. Use this options with <strong>EXTREME</strong> | |
1538 | care. | |
1539 | </p></td> | |
1540 | </tr> | |
1541 | <tr valign=top> | |
1542 | <td><strong><tt>attachcheck</tt></strong></td> | |
1543 | <td><p>Honor attachment disposition. By default, | |
1544 | all text/html data is displayed inline on | |
1545 | the message page. If <tt>attachcheck</tt> is specified | |
1546 | and Content-Disposition specifies the data as | |
1547 | an attachment, the data is saved to a file | |
1548 | with a link to it from the message page. | |
1549 | </p> | |
1550 | <p><b>CAUTION:</b> If <tt>attachcheck</tt> is specified, the HTML | |
1551 | data is saved "as-is". For example, no stripping of scripting-based | |
1552 | markup is performed and no resolution of cid URLs are performed. | |
1553 | </p> | |
1554 | </tr> | |
1555 | <tr valign=top> | |
1556 | <td><strong><tt>nofont</tt></strong></td> | |
1557 | <td><p>Remove font tags. | |
1558 | </p></td> | |
1559 | </tr> | |
1560 | <tr valign=top> | |
1561 | <td><strong><tt>notitle</tt></strong></td> | |
1562 | <td><p>Do not print extracted title at the beginning of converted | |
1563 | output. Since this filter strips out HEAD markup so the document | |
1564 | can be included into the message page, this filter will extract | |
1565 | the title and print the title of the document before the document | |
1566 | body. The <tt>notitle</tt> argument disables this behavior. | |
1567 | </p></td> | |
1568 | </table> | |
1569 | ||
1570 | <hr size=0 noshade width="50%"> | |
1571 | <H3><a name="m2h_text_plain">m2h_text_plain::filter</a></h3> | |
1572 | ||
1573 | <p>This filter is designed to process text/plain messages and | |
1574 | messages with no MIME information. The | |
1575 | filter is also used to process text messages of an unknown | |
1576 | subtype. | |
1577 | </p> | |
1578 | ||
1579 | <p>The default behavior of the filter is wrap the data in | |
1580 | the HTML PRE element and escape special characters. It will | |
1581 | also convert text that looks like a URL into a hyperlink. | |
1582 | If the data contains non-ASCII character, the filter will | |
1583 | convert the characters to the appropriate entity reference. | |
1584 | </p> | |
1585 | ||
1586 | <table border=0 cellpadding=4> | |
1587 | <tr valign=top> | |
1588 | <td><strong>NOTE</strong></td> | |
1589 | <td><p>The functions registered via the | |
1590 | <a href="charsetconverters.html">CHARSETCONVERTERS</a> are used | |
1591 | to handle character set processing. | |
1592 | </p> | |
1593 | </td> | |
1594 | </tr> | |
1595 | </table> | |
1596 | ||
1597 | <p><strong><tt>m2h_text_plain::filter</tt></strong> can take the | |
1598 | following | |
1599 | <a href="mimeargs.html">arguments</a>: | |
1600 | </p> | |
1601 | ||
1602 | <table cellspacing=1 border=0 cellpadding=4> | |
1603 | ||
1604 | <tr valign=top> | |
1605 | <td><strong><tt>asis=</tt></strong><var>set1</var><tt>:</tt>...</td> | |
1606 | <td><p>Colon separated lists of charsets to leave as-is. | |
1607 | Only HTML special characters will be converted into entities. | |
1608 | The default is "<tt>us-ascii:iso-8859-1</tt>". | |
1609 | </p> | |
1610 | </tr> | |
1611 | <tr valign=top> | |
1612 | <td><strong><tt>attachcheck</tt></strong></td> | |
1613 | <td><p>Honor attachment disposition. By default, | |
1614 | all text/plain data is displayed inline on | |
1615 | the message page. If <tt>attachcheck</tt> is specified | |
1616 | and Content-Disposition specifies the data as | |
1617 | an attachment, the data is saved to a file | |
1618 | with a link to it from the message page. | |
1619 | </p> | |
1620 | </tr> | |
1621 | <tr valign=top> | |
1622 | <td><strong><tt>default=</tt></strong><var>charset</var></td> | |
1623 | <td><p>Character set to use as the default if no character set | |
1624 | is defined for the message. If option not specified, | |
1625 | "<tt>us-ascii</tt>" is used. | |
1626 | </p> | |
1627 | </tr> | |
1628 | <tr valign=top> | |
1629 | <td><strong><tt>inlineexts=</tt></strong><var>ext1</var><tt>,</tt>...</td> | |
1630 | <td><p>A comma separated list of message specified filename | |
1631 | extensions to treat as inline data. | |
1632 | Applicable only when <b><tt>uudecode</tt></b> is specified. | |
1633 | </p> | |
1634 | </tr> | |
1635 | <tr valign=top> | |
1636 | <td><strong><tt>htmlcheck</tt></strong></td> | |
1637 | <td><p>Check if message is actually an HTML message | |
1638 | (to get around abhorrent MUAs). The message | |
1639 | is treated as HTML if the first non-whitespace | |
1640 | data looks like the start of an HTML document. | |
1641 | </p> | |
1642 | </tr> | |
1643 | <tr valign=top> | |
1644 | <td><strong><tt>keepspace</tt></strong></td> | |
1645 | <td><p>Preserve all spaces if the <strong><tt>nonfixed</tt></strong> | |
1646 | option is specified. All spaces and tabs will be translated to the | |
1647 | equivalent number of <strong>&nbsp;</strong> entity references. | |
1648 | </p> | |
1649 | </tr> | |
1650 | <tr valign=top> | |
1651 | <td><strong><tt>maxwidth=</tt></strong><var>#</var></td> | |
1652 | <td><p>Force the maximum width of lines to be <var>#</var> characters | |
1653 | in length. Any lines longer than <var>#</var> characters will be | |
1654 | wrapped. | |
1655 | </p> | |
1656 | </tr> | |
1657 | <tr valign=top> | |
1658 | <td><strong><tt>nonfixed</tt></strong></td> | |
1659 | <td><p>Do not wrap message text in the HTML PRE element. This will | |
1660 | cause text to be rendered in the default font (which is normally | |
1661 | proportionally spaced). Each line of the message will have | |
1662 | a <tt><BR></tt> appended in order to preserve the line representation | |
1663 | of the message. | |
1664 | </p> | |
1665 | </tr> | |
1666 | <tr valign=top> | |
1667 | <td><strong><tt>nourl</tt></strong></td> | |
1668 | <td><p>Do not hyperlink URLs. | |
1669 | </p> | |
1670 | </tr> | |
1671 | <tr valign=top> | |
1672 | <td><strong><tt>quote</tt></strong></td> | |
1673 | <td><p>Italicize quoted message text. | |
1674 | </p> | |
1675 | </tr> | |
1676 | <tr valign=top> | |
1677 | <td><strong><tt>target=</tt></strong><var>name</var></td> | |
1678 | <td><p>Set the TARGET attribute of an anchor links generated from | |
1679 | hyperlinking URLs. | |
1680 | </p> | |
1681 | </tr> | |
1682 | <tr valign=top> | |
1683 | <td><strong><tt>usename</tt></strong></td> | |
1684 | <td><p>When decoding uuencoded data, use the full filename specified | |
1685 | when write the data to disk instead of just the filename extension. | |
1686 | <b>Note:</b> Be aware that there are potential security problems when | |
1687 | using this option. | |
1688 | </p></td> | |
1689 | </tr> | |
1690 | <tr valign=top> | |
1691 | <td><strong><tt>uudecode</tt></strong></td> | |
1692 | <td><p>Decode any embedded uuencoded data. Including uuencoded data | |
1693 | within messages was a way to trasmit binary data | |
1694 | via email before MIME was developed. The inclusion of uuencoded | |
1695 | data is deprecated within email, but is still common in the | |
1696 | USENET (binary) newsgroups. Note, specifying <b><tt>uudecode</tt></b> | |
1697 | adds extra | |
1698 | overhead in the processing of text messages, including messages without | |
1699 | any uuencoded data. | |
1700 | </p> | |
1701 | <p>Uuencoded data is treated as <tt>application/octet-stream</tt> | |
1702 | data for purposes of checking if the data should be excluded when | |
1703 | checked against the <a href="mimeexcs.html">MIMEEXCS</a> resource. | |
1704 | Therefore, if <tt>application/octet-stream</tt> data is listed | |
1705 | in MIMEEXCS, uuencoded data will be excluded. | |
1706 | </p></td> | |
1707 | </tr> | |
1708 | ||
1709 | </table> | |
1710 | ||
1711 | <p>All arguments should be separated by at least one space.</p> | |
1712 | ||
1713 | <hr size=0 noshade width="50%"> | |
1714 | <H3><a name="m2h_text_setext">m2h_text_setext::filter</a></h3> | |
1715 | ||
1716 | <p>This filter converts text/setext and text/x-setext messages | |
1717 | to HTML. | |
1718 | </p> | |
1719 | ||
1720 | <hr size=0 noshade width="50%"> | |
1721 | <H3><a name="m2h_text_tsv">m2h_text_tsv::filter</a></h3> | |
1722 | ||
1723 | <p>This filter converts text/tab-separated-values to HTML. The | |
1724 | tabular data will be converted into an HTML table. | |
1725 | </p> | |
1726 | ||
1727 | <hr size=0 noshade width="50%"> | |
1728 | <H3><a name="m2h_null">m2h_null::filter</a></h3> | |
1729 | ||
1730 | <p>This filter can be used to exclude message content from archives. | |
1731 | You can register this filter to any content-type you do not want | |
1732 | to store in your archives. For example, the following resource setting | |
1733 | excludes all images: | |
1734 | </p> | |
1735 | <pre> | |
1736 | <b><MIMEFilters></b> | |
1737 | image/*; m2h_null::filter</a>; mhnull.pl | |
1738 | <b></MIMEFilters></b> | |
1739 | </pre> | |
1740 | <p>The markup returned by this filter displays the a one line description | |
1741 | of what was excluded. Examples: | |
1742 | </p> | |
1743 | <pre> | |
1744 | <<attachment: HelloWorld.jpg>> | |
1745 | <<application/postscript>> | |
1746 | <<inline: image/jpg>> | |
1747 | </pre> | |
1748 | <p>If the disposition is available, it will be shown. If a filename | |
1749 | was specified, it will be shown. If there was no filename, the | |
1750 | content-type is shown. | |
1751 | </p> | |
1752 | ||
1753 | <!-- *************************************************************** --> | |
1754 | <hr> | |
1755 | <h2>Resource Variables</h2> | |
1756 | ||
1757 | <p>N/A | |
1758 | </p> | |
1759 | ||
1760 | <!-- *************************************************************** --> | |
1761 | <hr> | |
1762 | <h2>Examples</h2> | |
1763 | ||
1764 | <p>The following code is an example filter for converting | |
1765 | <tt>text/tab-separated-values</tt> into an HTML table: | |
1766 | </p> | |
1767 | <pre> | |
1768 | package m2h_text_tsv; | |
1769 | ||
1770 | sub filter { | |
1771 | my($fields, $data, $isdecode, $args) = @_; | |
1772 | my($field, $line, $ret); | |
1773 | local($_); | |
1774 | ||
1775 | $$data =~ s/^\s+//; | |
1776 | $ret = "<table border=1>\n"; | |
1777 | foreach $line (split(/\r?\n/, $$data)) { | |
1778 | $ret .= "<tr>"; | |
1779 | foreach $field (split(/\t/, $line)) { | |
1780 | $ret .= "<td>$field</td>"; | |
1781 | } | |
1782 | $ret .= "</tr>\n"; | |
1783 | } | |
1784 | $ret .= "</table>\n"; | |
1785 | ($ret); | |
1786 | } | |
1787 | ||
1788 | 1; | |
1789 | </pre> | |
1790 | ||
1791 | <!-- *************************************************************** --> | |
1792 | <hr> | |
1793 | <h2>Version</h2> | |
1794 | ||
1795 | <p>1.0 | |
1796 | </p> | |
1797 | ||
1798 | <!-- *************************************************************** --> | |
1799 | <hr> | |
1800 | <h2>See Also</h2> | |
1801 | ||
1802 | <p> | |
1803 | <a href="charsetconverters.html">CHARSETCONVERTERS</a>, | |
1804 | <a href="mimeargs.html">MIMEARGS</a>, | |
1805 | <a href="mimedecoders.html">MIMEDECODERS</a>, | |
1806 | <a href="mimeexcs.html">MIMEEXCS</a>, | |
1807 | <a href="perlinc.html">PERLINC</a> | |
1808 | </p> | |
1809 | ||
1810 | <!-- *************************************************************** --> | |
1811 | <hr> | |
1812 | <!--x-rc-nav--> | |
1813 | <table border=0><tr valign="top"> | |
1814 | <td align="left" width="50%">[Prev: <a href="mimeexcs.html">MIMEEXCS</a>]</td><td><nobr>[<a href="../resources.html#mimefilters">Resources</a>][<a href="../mhonarc.html">TOC</a>]</nobr></td><td align="right" width="50%">[Next: <a href="modtime.html">MODTIME</a>]</td></tr></table> | |
1815 | <!--/x-rc-nav--> | |
1816 | <hr> | |
1817 | <address> | |
1818 | $Date: 2002/10/21 16:55:19 $ <br> | |
1819 | <img align="top" src="../monicon.png" alt=""> | |
1820 | <a href="http://www.mhonarc.org"><strong>MHonArc</strong></a><br> | |
1821 | Copyright © 1997-2001 <a href="http://www.mhonarc.org/~ehood/">Earl Hood</a>, <a href="mailto:mhonarc@mhonarc.org">mhonarc@mhonarc.org</a><br> | |
1822 | </address> | |
1823 | ||
1824 | </body> | |
1825 | </html> |