KDE's MIME magic (KMimeMagic) database (format)
Daniel Leidert
daniel.leidert.spam at gmx.net
Sat Feb 17 10:15:36 PST 2007
Hello,
I'm the author of a data collection to support the unregistered but
widely used chemical/* MIME types under Linux desktops. For KDE 3 (4
will hopefully support the shared-mime-info db) I already implemented to
output .desktop files for every (supported) MIME type. Now I wanted to
extend the magic database (mimelnk/magic) to solve possible conflicts
(e.g. chemical/x-daxlight-smiles and application/smil use the same file
extension, ditto for e.g. chemical/x-pdb and application/vnd.palm). So I
wrote a stylesheet, that produces an output, usable as file(1)'s
magic.mime database (works perfectly for `file -i'). From what I read I
thought, that the KMimeMagic uses the same format. But that seems to be
wrong. I can make konqueror crash with such a magic-database. I get the
following errors on command line (just a few of them):
kio (KMimeMagic): ERROR: parse: type search/76 NOTE chemical/x-cmtx invalid
kio (KMimeMagic): ERROR: parse: offset &0 string ----- chemical/x-gamess-output invalid
kio (KMimeMagic): ERROR: parse: type &0 string ----- chemical/x-gamess-output invalid
kio (KMimeMagic): ERROR: mconvert: invalid type \x00
So what is supported in the KMimeMagic database format compared to
file's magic(.mime) database? I've attached the current database to this
mail, so that you can have a look at your own for the used syntax. To
test, I simply copied it to ~/.kde/share/mimelnk.
And a second problem: What is 'X-KDE-IsAlso' compared to the
shared-mime-info database format? From what I read, I think it's similar
to <sub-class-of type="..."/>. But how do you handle aliases then? Is
there another X-KDE key, that I can use?
PS: The projects website and cvs, if you want to look at yourself:
http://chemical-mime-sf.net
http://chemical-mime.cvs.sourceforge.net/chemical-mime/chemical-mime-data/
CCing the freedesktop.org xdg-list
Regards, Daniel
-------------- next part --------------
# This file is part of the chemical-mime-data package.
# It is distributed under the GNU Lesser General Public License version 2.1.
#
# Database: '$Id: chemical-mime-database.xml.in,v 1.50 2007/02/16 20:47:25 dleidert Exp $'
# This file was created automatically by cmd_file-magic.xsl. Copy or
# append its content to KDE's MIME magic database (on Debian systems,
# it's the file /usr/share/mimelnk/magic.
# chemical/x-pdb 85
0 string ATOM\ \ \
>11 string \ chemical/x-pdb
0 string HETATM\
>11 string \ chemical/x-pdb
0 string TER\ \ \ \
>11 string \ chemical/x-pdb
0 string AUTHOR\ chemical/x-pdb
0 string CISPEP\ chemical/x-pdb
0 string COMPND\ chemical/x-pdb
0 string CRYST1\ chemical/x-pdb
0 string DBREF\ \ chemical/x-pdb
0 string EXPDTA\ chemical/x-pdb
0 string FORMUL\ chemical/x-pdb
0 string HEADER\ chemical/x-pdb
0 string HELIX\ \ chemical/x-pdb
0 string HETNAM\ chemical/x-pdb
0 string HETSYN\ chemical/x-pdb
0 string JRNL\ \ \ chemical/x-pdb
0 string KEYWDS\ chemical/x-pdb
0 string LINK\ \ \ chemical/x-pdb
0 string MODEL\ \ chemical/x-pdb
0 string MTRIX1\ chemical/x-pdb
0 string ORIGX1\ chemical/x-pdb
0 string REMARK\ chemical/x-pdb
0 string REVDAT\ chemical/x-pdb
0 string SCALE1\ chemical/x-pdb
0 string SEQDAV\ chemical/x-pdb
0 string SEQRES\ chemical/x-pdb
0 string SHEET\ \ chemical/x-pdb
0 string SOURCE\ chemical/x-pdb
0 string TITLE\ \ chemical/x-pdb
0 string TURN\ \ \ chemical/x-pdb
# chemical/x-cmtx 80
0 string TITL
>5 search/76 NOTE chemical/x-cmtx
0 string MOLE
>5 search/76 TITL
>>10 search/151 NOTE chemical/x-cmtx
# chemical/x-gamess-input 80
0 search/80 $CONTRL
>8 search/72 AIMPAC chemical/x-gamess-input
>8 search/72 CCTYP chemical/x-gamess-input
>8 search/72 CITYP chemical/x-gamess-input
>8 search/72 COORD chemical/x-gamess-input
>8 search/72 DFTTYP chemical/x-gamess-input
>8 search/72 EXETYP chemical/x-gamess-input
>8 search/72 FRIEND chemical/x-gamess-input
>8 search/72 GEOM chemical/x-gamess-input
>8 search/72 GRDTYP chemical/x-gamess-input
>8 search/72 ICHARG chemical/x-gamess-input
>8 search/72 ICUT chemical/x-gamess-input
>8 search/72 INTTYP chemical/x-gamess-input
>8 search/72 ISPHER chemical/x-gamess-input
>8 search/72 ITOL chemical/x-gamess-input
>8 search/72 LOCAL chemical/x-gamess-input
>8 search/72 MAXIT chemical/x-gamess-input
>8 search/72 MOLPLT chemical/x-gamess-input
>8 search/72 MPLEVEL chemical/x-gamess-input
>8 search/72 MULT chemical/x-gamess-input
>8 search/72 NPRINT chemical/x-gamess-input
>8 search/72 NORMF chemical/x-gamess-input
>8 search/72 NORMP chemical/x-gamess-input
>8 search/72 NOSYM chemical/x-gamess-input
>8 search/72 NUMGRD chemical/x-gamess-input
>8 search/72 NZVAR chemical/x-gamess-input
>8 search/72 PLTORB chemical/x-gamess-input
>8 search/72 PP chemical/x-gamess-input
>8 search/72 QMTTOL chemical/x-gamess-input
>8 search/72 RELWFN chemical/x-gamess-input
>8 search/72 RUNTYP chemical/x-gamess-input
>8 search/72 SCFTYP chemical/x-gamess-input
>8 search/72 TDDFT chemical/x-gamess-input
>8 search/72 TREST chemical/x-gamess-input
>8 search/72 UNITS chemical/x-gamess-input
>8 search/72 $END chemical/x-gamess-input
# chemical/x-genbank 80
0 string \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ GENETIC\ SEQ
>&0 string UENCE\ DATA\ BANK chemical/x-genbank
0 string LOCUS\ \ \ \ \ \ \ chemical/x-genbank
# chemical/x-shelx 80
0 string TITL
>5 search/76 CELL chemical/x-shelx
# application/x-chemtool 50
0 string Chemtool\ Version\ application/x-chemtool
# application/x-ghemical 50
0 string \!Header\ gpr\
>12 string 100\n application/x-ghemical
>12 string 110\n application/x-ghemical
>12 string 111\n application/x-ghemical
0 string \!Header\ mmlgp\
>14 string 100\n application/x-ghemical
# application/x-xdrawchem 50
0 search/256 \<\!DOCTYPE\ xdrawchem application/x-xdrawchem
0 search/64 \<xdrawchem application/x-xdrawchem
# chemical/x-cactvs-ascii 50
0 string #
>0 search/100 Cactvs\ NMDSAscii\ by chemical/x-cactvs-ascii
# chemical/x-cactvs-binary 50
8 byte 07
>9 string CACTVSBIN chemical/x-cactvs-binary
# chemical/x-cactvs-table 50
0 string CACTVS\ QSAR\ Table chemical/x-cactvs-table
# chemical/x-cdx 50
0 string VjCD0100
>8 lelong 0x01020304
>>12 lelong 0x00000000
>>>16 lelong 0x00000000
>>>>20 lelong 0x80000000 chemical/x-cdx
>>>>20 lelong 0x00000000 chemical/x-cdx
# chemical/x-cdxml 50
0 search/256 \<\!DOCTYPE\ CDXML chemical/x-cdxml
0 search/64 \<CDXML chemical/x-cdxml
# chemical/x-cif 50
0 string #\#CIF_1.1
>10 byte 9 chemical/x-cif
>10 byte 10 chemical/x-cif
>10 byte 13 chemical/x-cif
# chemical/x-cmdf 50
0 string CMDFCrystalMakerM chemical/x-cmdf
0 string CMD5(CrystalMaker) chemical/x-cmdf
# chemical/x-cml 50
0 search/256 \<\!DOCTYPE\ cml chemical/x-cml
0 search/256 \<\!DOCTYPE\ molecule chemical/x-cml
0 search/64 \<cml chemical/x-cml
0 search/64 \<molecule chemical/x-cml
# chemical/x-cmmf 50
0 string CMMFCrystalMakerM chemical/x-cmmf
0 string CMM5(CrystalMaker) chemical/x-cmmf
# chemical/x-ctx 50
0 string \ /IDENT\ \ \ \ \ \ \ \ chemical/x-ctx
# chemical/x-embl-dl-nucleotide 50
0 string ID\ \ \ chemical/x-embl-dl-nucleotide
# chemical/x-fasta 50
0 string \< chemical/x-fasta
# chemical/x-gamess-output 50
0 string -----\ GAMESS\ execution\ script\
>&0 string ----- chemical/x-gamess-output
65 search/65 GAMESS\ VERSION\ =
>584 search/1 \n\n\ EXECUTION\ OF\ GAMESS\ BEGUN chemical/x-gamess-output
# chemical/x-gaussian-log 50
1 string Entering\ Gaussian\ System,\ Link
>&0 string \ 0= chemical/x-gaussian-log
# chemical/x-gcg8-sequence 50
0 string \!\!AA_SEQUENCE\ 1.0\n chemical/x-gcg8-sequence
0 string \!\!NA_SEQUENCE\ 1.0\n chemical/x-gcg8-sequence
# chemical/x-gulp 50
81 search/79 GENERAL\ UTILITY\ LATTICE\ PROGRA
>161 search/79 Julian\ Gale
>>241 search/79 Nanochemistry\ Research\ Institu
>>>&0 string te
>>>>321 search/79 Curtin\ University\ of\ Technolog
>>>>>&0 string y,\ Western\ Australia chemical/x-gulp
>161 search/79 Julian\ Gale,\ NRI,\ Curtin\ Unive
>>&0 string rsity chemical/x-gulp
# chemical/x-hin 50
0 string mol\ 1\
>6 search/58 .hin
>>12 search/116 atom\ 1 chemical/x-hin
# chemical/x-inchi-xml 50
0 search/64 \<INChI chemical/x-inchi-xml
# chemical/x-isostar 50
0 string #\ Isostar\ Scatter\ Plot chemical/x-isostar
# chemical/x-kinemage 50
0 string \<title\>
>17 search/223 \n at text chemical/x-kinemage
>17 search/223 \n at kinemage chemical/x-kinemage
0 string @text chemical/x-kinemage
0 string @kinemage chemical/x-kinemage
# chemical/x-mdl-rdfile 50
0 string $RDFILE\ 1\n
>10 string $DATM chemical/x-mdl-rdfile
# chemical/x-mdl-rxnfile 50
0 string $RXN\n chemical/x-mdl-rxnfile
0 string $RXN\ V3000\n chemical/x-mdl-rxnfile
# chemical/x-mdl-xdfile 50
0 search/64 \<XDfile chemical/x-mdl-xdfile
# chemical/x-mol2 50
0 search/800 @\<TRIPOS\>MOLECULE\x0D chemical/x-mol2
# chemical/x-mopac-out 50
81 search/79 MOPAC
>81 search/79 (c)\ Fujitsu chemical/x-mopac-out
81 search/79 MOPAC chemical/x-mopac-out
# chemical/x-msi-car 50
0 string \!BIOSYM\ archive\ chemical/x-msi-car
# chemical/x-msi-hessian 50
0 string $hessian chemical/x-msi-hessian
# chemical/x-msi-mdf 50
0 string \!BIOSYM\ molecular_data\ chemical/x-msi-mdf
# chemical/x-msi-msi 50
0 string #\ MSI\ CERIUS2\ DataModel\ File\ V
>&0 string ersion\ chemical/x-msi-msi
# chemical/x-ncbi-asn1 50
0 string PC-AssayContainer chemical/x-ncbi-asn1
0 string PC-Compound chemical/x-ncbi-asn1
0 string PC-InfoData chemical/x-ncbi-asn1
0 string PC-ID chemical/x-ncbi-asn1
0 string PC-Source chemical/x-ncbi-asn1
0 string PC-Substance chemical/x-ncbi-asn1
0 string PC-XRefData chemical/x-ncbi-asn1
# chemical/x-ncbi-asn1-binary 50
0 lelong 0x803080A0
>4 lelong 0x80308030 chemical/x-ncbi-asn1-binary
0 lelong 0x80308030
>4 lelong 0x803080A0 chemical/x-ncbi-asn1-binary
# chemical/x-ncbi-asn1-xml 50
0 search/64 \<PC-AssayContainer chemical/x-ncbi-asn1-xml
0 search/64 \<PC-Compound chemical/x-ncbi-asn1-xml
0 search/64 \<PC-ID chemical/x-ncbi-asn1-xml
0 search/64 \<PC-InfoData chemical/x-ncbi-asn1-xml
0 search/64 \<PC-Source chemical/x-ncbi-asn1-xml
0 search/64 \<PC-Substance chemical/x-ncbi-asn1-xml
0 search/64 \<PC-XRefData chemical/x-ncbi-asn1-xml
# chemical/x-qchem-output 50
20 string Welcome\ to\ Q-Chem
>41 string A\ Quantum\ Leap\ Into\ The\ Future
>>&0 string \ Of\ Chemistry chemical/x-qchem-output
# chemical/x-swissprot 50
0 string ID\ \ \ chemical/x-swissprot
# chemical/x-turbomole-basis 50
0 string $basis\n chemical/x-turbomole-basis
# chemical/x-turbomole-control 50
0 string $title\n chemical/x-turbomole-control
0 string $operating\ system\ unix\n chemical/x-turbomole-control
# chemical/x-turbomole-coord 50
0 string $coord\n chemical/x-turbomole-coord
# chemical/x-turbomole-grad 50
0 string $grad\ chemical/x-turbomole-grad
# chemical/x-turbomole-input 50
0 string %method\n
>8 string ENRGY\ ::\ chemical/x-turbomole-input
>8 string FORCE\ ::\ chemical/x-turbomole-input
>8 string GEOMY\ ::\ chemical/x-turbomole-input
>8 string GRADI\ ::\ chemical/x-turbomole-input
# chemical/x-turbomole-jbas 50
0 string $jbas\ chemical/x-turbomole-jbas
# chemical/x-turbomole-scfmo 50
0 string $scfmo\ chemical/x-turbomole-scfmo
# chemical/x-vamas-iso14976 50
0 string VAMAS\ Surface\ Chemical\ Analysi
>&0 string s\ Standard\ Data\ Transfer\ Forma
>>&0 string t\ 1988\ May\ 4 chemical/x-vamas-iso14976
More information about the xdg
mailing list