Zdrojové soubory XML
Tyto soubor XML, nacházející se ve složce <MIME>/packages, poskytují informace ohledně typů MIME, které se instalují pomocí aplikace update-mime-database do databáze. Zde je pro tyto soubory XML několik pravidel:
- Musí uvádět jmenný prostor ‚http://www.freedesktop.org/standards/shared-mime-info‘
- Kořenový element musí být mime-info
- V elementu mime-info může být uvedený žádný nebo více elementů mime-type. Atribut type se používá k určení typu MIME, který se definuje.
Standardně je soubor freedesktop.org.xml nainstalovaný ve složce packages v jedné z cest <MIME> (obvykle /usr/share/mime/packages).
Tabulka 5-1 podává stručný popis pro každý element, který se může vyskytnout jako potomek elementu mime-type.
Element (a atributy) | Popis |
---|---|
<glob pattern="*.xyz"> | Tento element určuje hromadnou masku pro názvy souborů. Pokud název souboru odpovídá, je mu přiřazen typ MIME rodičovského elementu mime-type. Atribut pattern je povinný. |
<magic priority="50"> | Tento element v sobě obsahuje seznam elementů match. Atribut priority je volitelný a určuje prioritu v rozmezí 0 až 100, kdy 100 je nejvyšší možná priorita. Každý dceřiný element match má tři povinné atributy: type, offset, hodnota a čtvrtý volitelný atributy: mask. Detaily o těchto atributech viz Specifikace sdílení informací mime od XDG. |
<alias type="media/subtype"> | Tento element definuje přezdívky pro rodičovský element mime-type. Přezdívka je jednoduše typ MIME, který je někdy známý jako jiný typ. Např. application/x-pdf je přezdívka pro typ MIME application/pdf. |
<sub-class-of type="media/subtype"> | Tento element definuje rodičovský mime-type element jako podtřídu typu MIME určeného v atributu type. Např. image/svg je podtřídou typů MIME text/xml, text/plain a application/octet-stream. |
<comment xml:lang="locale"> | Tento element poskytuje pro člověka srozumitelný popis typu MIME. Tento element se nemusí vyskytovat vůbec a nebo i vícekrát, přičemž každý výskyt obsahuje jedinečnou hodnotu pro atributu xml:lang. |
<root-XML namespaceURI="namespace" localName=""> | Pokud je soubor vyhodnocen jako soubor XML, pak jej tento element pomůže přesněji zařadit pomocí atributů namespaceURI a localName, přičemž jsou oba dva atributy povinné. Atribut namespaceURI je jmenný prostor dokumentu a localName je název kořenového elementu dokumentu. Pokud je localName přítomen, ale hodnota je prázdná, pak může mít kořenový element libovolný název, ale jmenný prostor stále musí odpovídat. |
Nejjednodušším způsobem, jak pochopit tyto soubory, je podívat se na příklad. Vypůjčme si jeden ze Specifikace sdílení mime od XDG. Příklad 5-2 ukazuje obsah zdrojového souboru nazvaného diff.xml. Definuje se v něm typ MIME text/x-diff. Je v něm několik elementů comment, které uvádí pro člověka srozumitelný název typu MIME v několika různých jazycích. Typ MIME má oba druhy pravidel, porovnání pomocí hromadné masky a zároveň ‚osahání‘ obsahu souboru (častěji známé jako magická pravidla [magic rulers]). Libovolné soubory s příponou .diff nebo .patch budou vyhodnocené jako tento typ MIME. A navíc i libovolný soubor, jehož obsah začíná řetězcem daným atributem value elementu match bude vyhodnocený jako typ MIME text/x-diff.
Vysvětlení pořadí, v jakém jsou požité hromadné masky a magická pravidla, přesahuje rámec tohoto dokumentu. Na podrobnosti se můžete podívat do Specifikace sdílení informací mime od XDG.
<?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> <comment xml:lang="cs">rozdíl mezi soubory</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>