Oracle® Solaris 11.2 Desktop 管理员指南

退出打印视图

更新时间: 2014 年 7 月
 
 

了解 MIME 类型 XML 文件

    MIME XML 文件提供关于通过 update-mime-database 应用程序安装到 MIME 数据库中的 MIME 类型的所有信息。MIME XML 文件位于 <MIME>/packages 目录中。关于 MIME XML 文件的一些规则:

  • XML 文件必须将 namespace 指定为 http://www.freedesktop.org/standards/shared-mime-info

  • root 元素必须为 mime-info

  • 可以将零个或多个 mime-type 元素指定为 mime-info 元素的子项。type 属性用于指定所定义的 MIME 类型。

缺省情况下,freedesktop.org.xml 文件安装在其中一个 <MIME> 路径中的 packages 目录中(通常为 /usr/share/mime/)。

下表简要介绍了可以作为 mime-type 元素的子项的各个元素。

表 6-1  <mime-type> 的子元素
元素(及属性)
说明
<glob pattern="*.xyz">
此元素指定文件名的通配模式。如果文件名匹配,则为文件指定父 mime-type 元素的 MIME 类型。
pattern 属性是强制性的。
<magic priority="50">
此元素包含一列 match 元素作为其子元素。
priority 属性为可选属性,用于指定 0 至 100 之间的优先级,其中 100 为最高的匹配优先级。每个子 match 元素具有三个必需属性和一个可选属性:
  • type

  • offset

  • value

  • mask(可选属性)

有关这些属性的详细信息,请参见 XDG shared mime info specification(XDG 共享 mime 信息规范)。
<alias type="media/subtype">
此元素定义父 mime-type 元素的别名。例如,application/x-pdfapplication/pdf MIME 类型的别名。
<sub-class-of type="media/subtype">
此元素将父 mime-type 元素定义为 type 属性中指定的 MIME 类型的子类。例如,image/svgtext/xmltext/plainapplication/octet-stream MIME 类型的子类。
<comment xml:lang="locale">
此元素提供 MIME 类型的可读说明。此元素可以出现任意次,前提是每次出现都包含 xml:lang 属性的唯一值。
<root-XML namespaceURI="namespace" localName="">
如果将某个文件确定为 XML 文件,则此元素有助于将文件类型进一步分类(使用 namespaceURIlocalName 属性)。namespaceURI 属性是文档的名称空间,localName 是文档根元素的名称。如果出现了 localName 但值为空,则根元素可以具有任意名称,但名称空间仍需匹配。

以下示例定义了 text/x-diff MIME 类型。

示例 6-1  diff.xml 源 XML 文件示例:
<?xml version='1.0'?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
<mime-type type="text/x-diff">
	<comment>Differences between files</comment>
	<comment xml:lang="af">verskille tussen lêers</comment>
	<!-- more translated comment elements -->
	<magic priority="50"> <match type="string" offset="0" value="diff\t"/>
		<match type="string" offset="0" value="***\t"/>
		<match type="string" offset="0" value="Common subdirectories: "/>
	</magic>
	<glob pattern="*.diff"/>
	<glob pattern="*.patch"/>
</mime-type>
</mime-info>

在此示例中,多个 comment 元素以多种不同语言提供了 MIME 类型的可读名称。text/x-diff MIME 类型具有通过通配模式和利用内容探查(称为“魔法规则”)两种方式进行匹配的规则。具有 .diff.patch 扩展名的任何文件均会解析为此 MIME 类型。此外,任何内容以 match 元素的 value 属性中指定的字符串开头的文件均会解析为 text/x-diff MIME 类型。有关通配模式和魔法规则的更多详细信息,请参见 XDG shared mime info specification(XDG 共享 mime 信息规范)。