Skip to content

Commit 2c4949e

Browse files
committed
[enhancement] improve and restructure mime-types.xml
- lots of new extensions added - items grouped by type - xml - split up generic xml into newer more specific mime-types (tei, ...) - binary - source files - JSON - other texts - image, audio, video - fonts
1 parent d7b9c4a commit 2c4949e

File tree

1 file changed

+213
-76
lines changed

1 file changed

+213
-76
lines changed

exist-core/src/main/resources/org/exist/util/mime-types.xml

Lines changed: 213 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -36,16 +36,77 @@
3636
directory pointed by property "home.exist",
3737
and then as a classpath resource in org/exist/util .
3838
=======================================================
39-
40-
$Id$
4139
-->
42-
4340
<mime-types xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="schema/mime-types.xsd">
4441

45-
<!-- Mime types stored as XML -->
42+
<!-- - - Mime types stored as XML - - - - - - - - - -->
43+
4644
<mime-type name="application/xml" type="xml">
4745
<description>XML document</description>
48-
<extensions>.xml,.xsd,.rng,.mods,.xmp,.xmi,.xconf,.xmap,.xsp,.wsdl,.x3d,.owl,.dbx,.tei,.xces,.ead,.xqx,.xform,.gml,.fo,.nvdl,.sch,.imdi,.cmdi,.odd,.jcmconnect,.ditaval</extensions>
46+
<extensions>.xml,.xmp,.xmi,.xmap,.xsp,.wsdl,.x3d,.owl,.dbx,.xces,.ead,.imdi,.cmdi,.jcmconnect</extensions>
47+
</mime-type>
48+
<!-- exist-db specific -->
49+
<mime-type name="application/xml" type="xml">
50+
<description>Collection configuration file</description>
51+
<extensions>.xconf</extensions>
52+
</mime-type>
53+
<!-- intermediate formats -->
54+
<mime-type name="application/xml" type="xml">
55+
<description>XQuery X</description>
56+
<extensions>.xqx</extensions>
57+
</mime-type>
58+
<mime-type name="application/xml" type="xml">
59+
<description>XSL-FO Document</description>
60+
<extensions>.fo</extensions>
61+
</mime-type>
62+
<mime-type name="application/xml" type="xml">
63+
<description>NVDL file</description>
64+
<extensions>.nvdl</extensions>
65+
</mime-type>
66+
<!-- SCHEMAS -->
67+
<mime-type name="application/xml" type="xml">
68+
<description>Schema</description>
69+
<extensions>.sch</extensions>
70+
</mime-type>
71+
<mime-type name="application/xml" type="xml">
72+
<description>Relax NG schema</description>
73+
<extensions>.rng</extensions>
74+
</mime-type>
75+
<mime-type name="application/xml" type="xml">
76+
<description>XDM schema definition</description>
77+
<extensions>.xsd</extensions>
78+
</mime-type>
79+
<!-- xforms -->
80+
<mime-type name="application/xml" type="xml">
81+
<description>XForm definition</description>
82+
<extensions>.xform</extensions>
83+
</mime-type>
84+
<!-- GEO -->
85+
<mime-type name="application/gml+xml" type="xml">
86+
<description>Geography Markup Language</description>
87+
<extensions>.gml</extensions>
88+
</mime-type>
89+
<!-- MARC, MODS, METS ... -->
90+
<mime-type name="application/mods+xml" type="xml">
91+
<description>Metadata Object Description Schema</description>
92+
<extensions>.mods</extensions>
93+
</mime-type>
94+
<mime-type name="application/mads+xml" type="xml">
95+
<description>Metadata Authority Description Schema</description>
96+
<extensions>.mads</extensions>
97+
</mime-type>
98+
<mime-type name="application/mets+xml" type="xml">
99+
<description>Metadata Encoding and Transmission Standard</description>
100+
<extensions>.mets</extensions>
101+
</mime-type>
102+
<mime-type name="application/marcxml+xml" type="xml">
103+
<description>MARC21 XML Schema</description>
104+
<extensions>.mrcx</extensions>
105+
</mime-type>
106+
<!-- TEI -->
107+
<mime-type name="application/tei+xml" type="xml">
108+
<description>TEI Document</description>
109+
<extensions>.tei,.teiCorpus,.odd</extensions>
49110
</mime-type>
50111
<!-- default is 'application/xml' for .xml This required to resolve 'text/xml' -->
51112
<mime-type name="text/xml" type="xml">
@@ -96,26 +157,34 @@
96157
<description>Schema Component Model</description>
97158
<extensions>.scm</extensions>
98159
</mime-type>
99-
100-
<!-- Binary mime types -->
160+
<mime-type name="application/xml-patch+xml" type="xml">
161+
<description>XML Patch</description>
162+
<extensions>.xml</extensions>
163+
</mime-type>
164+
<mime-type name="application/vnd.google-earth.kml+xml" type="xml">
165+
<description>Google Earch KML file</description>
166+
<extensions>.kml</extensions>
167+
</mime-type>
168+
<!-- DITA
169+
the mimetype application/dita+xml is not formally registered with IANA
170+
see https://dita.fluidtopics.com/r/Darwin-Information-Typing-Architecture-DITA-Version-1.2/DITA-MIME-type
171+
-->
172+
<mime-type name="application/dita+xml" type="xml">
173+
<description>DITA document</description>
174+
<extensions>.dita,.ditamap,.ditaval</extensions>
175+
</mime-type>
176+
177+
<!-- - - Mime types stored as binary - - - - - - - - - -->
178+
101179
<mime-type name="application/exi" type="binary">
102180
<description>Efficient XML Interchange</description>
103181
<extensions>.exi</extensions>
104182
</mime-type>
105-
<mime-type name="application/xquery" type="binary">
106-
<description>XQuery script</description>
107-
<extensions>.xq,.xql,.xqm,.xquery,.xqy,.xqws</extensions>
108-
</mime-type>
109183
<mime-type name="application/octet-stream" type="binary">
110184
<description>Generic binary stream</description>
111-
<extensions>.jar,.exe,.dll,.o</extensions>
112-
</mime-type>
113-
<mime-type name="application/json" type="binary">
114-
<description>JSON</description>
115-
<extensions>.json</extensions>
185+
<extensions>.jar,.exe,.dll,.o,.bin</extensions>
116186
</mime-type>
117-
118-
187+
119188
<!-- TODO : for OpenOffice.org and other Zip files: add a new type="archive",
120189
that will unzip and store as a collection -->
121190

@@ -291,87 +360,128 @@
291360
<extensions>.xltx</extensions>
292361
</mime-type>
293362

363+
<!-- Miscellaneous formats -->
364+
294365
<mime-type name="application/xml-dtd" type="binary">
295366
<description>External DTD subsets</description>
296367
<extensions>.dtd,.mod</extensions>
297368
</mime-type>
298-
299369
<mime-type name="application/xml-external-parsed-entity" type="binary">
300370
<description>External parsed entities</description>
301371
<extensions>.ent</extensions>
302372
</mime-type>
303-
304-
<mime-type name="application/vnd.adobe.flash-movie" type="binary">
305-
<description>Adobe Flash Movie</description>
306-
<extensions>.swf</extensions>
307-
</mime-type>
308-
309-
<mime-type name="video/vnd.avi" type="binary">
310-
<description>Audio Video Interleaved</description>
311-
<extensions>.avi</extensions>
312-
</mime-type>
313-
314-
<mime-type name="video/webm" type="binary">
315-
<description>WebM</description>
316-
<extensions>.webm</extensions>
317-
</mime-type>
318-
319-
<mime-type name="text/x-java-source" type="binary">
320-
<description>Java source code</description>
321-
<extensions>.java</extensions>
373+
<mime-type name="application/pdf" type="binary">
374+
<description>PDF (Adobe)</description>
375+
<extensions>.pdf</extensions>
322376
</mime-type>
323-
324377
<mime-type name="application/java-byte-code" type="binary">
325378
<description>Java byte code</description>
326379
<extensions>.class</extensions>
327380
</mime-type>
328-
329381
<mime-type name="application/relax-ng-compact-syntax" type="binary">
330382
<description>RelaxNG compact syntax</description>
331383
<extensions>.rnc</extensions>
332384
</mime-type>
333-
334385
<mime-type name="application/prs.aff-dictionary" type="binary">
335386
<description>Affix File Format</description>
336387
<extensions>.aff</extensions>
337388
</mime-type>
338-
339389
<mime-type name="application/prs.dictionary" type="binary">
340390
<description>Dictionary File Format</description>
341391
<extensions>.dic</extensions>
342392
</mime-type>
393+
<mime-type name="application/vnd.adobe.flash-movie" type="binary">
394+
<description>Adobe Flash Movie</description>
395+
<extensions>.swf</extensions>
396+
</mime-type>
397+
<mime-type name="application/jwt" type="binary">
398+
<description>JSON Web Token</description>
399+
<extensions>.jwt</extensions>
400+
</mime-type>
401+
402+
<!-- source code -->
403+
404+
<mime-type name="application/xquery" type="binary">
405+
<description>XQuery script</description>
406+
<extensions>.xq,.xql,.xqm,.xquery,.xqy,.xqws</extensions>
407+
</mime-type>
408+
<mime-type name="text/javascript" type="binary"><!-- this is text now; see RFC 9239 -->
409+
<description>JavaScript source</description>
410+
<extensions>.js,.mjs</extensions>
411+
</mime-type>
412+
<mime-type name="application/javascript" type="binary"><!-- kept for legacy mime type resolution -->
413+
<description>JavaScript source</description>
414+
<extensions>.js,.mjs</extensions>
415+
</mime-type>
416+
<mime-type name="application/postscript" type="binary">
417+
<description>PostScript Document</description>
418+
<extensions>.eps,.ps</extensions>
419+
</mime-type>
420+
<mime-type name="text/x-less" type="binary"><!-- application/less is not registered with IANA -->
421+
<description>Less source file</description>
422+
<extensions>.less</extensions>
423+
</mime-type>
424+
<mime-type name="text/x-java-source" type="binary">
425+
<description>Java source code</description>
426+
<extensions>.java</extensions>
427+
</mime-type>
428+
429+
<!-- JSON -->
430+
431+
<mime-type name="application/json" type="binary">
432+
<description>JSON</description>
433+
<extensions>.json</extensions>
434+
</mime-type>
435+
<mime-type name="application/json-patch+json" type="binary">
436+
<description>JSON Patch</description>
437+
<extensions>.json-patch</extensions>
438+
</mime-type>
439+
<mime-type name="application/ld+json" type="binary">
440+
<description>JSON-LD format</description>
441+
<extensions>.jsonld</extensions>
442+
</mime-type>
443+
<mime-type name="application/manifest+json" type="binary">
444+
<description>Web application manifest</description>
445+
<extensions>.webmanifest</extensions>
446+
</mime-type>
447+
<mime-type name="application/spdx+json" type="binary">
448+
<description>SPDX license information</description>
449+
<extensions>.spdx.json</extensions>
450+
</mime-type>
451+
452+
<!-- other text formats -->
343453

344454
<mime-type name="text/csv" type="binary">
345455
<description>Comma Seperated Values</description>
346456
<extensions>.csv</extensions>
347457
</mime-type>
348-
349458
<mime-type name="text/plain" type="binary">
350459
<description>Plain text</description>
351460
<extensions>.txt,.text,.properties,.sh</extensions>
352461
</mime-type>
353-
354462
<mime-type name="text/markdown" type="binary">
355463
<description>Markdown</description>
356464
<extensions>.md</extensions>
357465
</mime-type>
358-
359466
<mime-type name="text/css" type="binary">
360467
<description>CSS stylesheet</description>
361468
<extensions>.css</extensions>
362469
</mime-type>
363-
364-
<!-- DITA -->
365-
<mime-type name="application/dita+xml" type="xml">
366-
<description>DITA document</description>
367-
<extensions>.dita,.ditamap</extensions>
470+
<mime-type name="application/yaml" type="binary">
471+
<description>Yet Another Markup Language file</description>
472+
<extensions>.yaml</extensions>
368473
</mime-type>
369474

370-
<!-- Bitmaps -->
475+
<!-- Image Formats -->
476+
371477
<mime-type name="image/png" type="binary">
372478
<description>PNG image</description>
373479
<extensions>.png</extensions>
374480
</mime-type>
481+
<mime-type name="image/apng" type="binary">
482+
<description>Animated Portable Network Graphics (APNG) image</description>
483+
<extensions>.apng</extensions>
484+
</mime-type>
375485
<mime-type name="image/gif" type="binary">
376486
<description>GIF image</description>
377487
<extensions>.gif</extensions>
@@ -390,40 +500,50 @@
390500
</mime-type>
391501
<mime-type name="image/tiff" type="binary">
392502
<description>Tag Image File Format</description>
393-
<extensions>.tif</extensions>
503+
<extensions>.tif,.tiff</extensions>
394504
</mime-type>
395505
<mime-type name="image/x-xbitmap" type="binary">
396506
<description>X Bitmap Graphic</description>
397507
<extensions>.xbm</extensions>
398508
</mime-type>
399-
<mime-type name="image/vnd.microsoft.icon" type="binary">
400-
<description>Icon image</description>
401-
<extensions>.ico</extensions>
402-
</mime-type>
403-
404-
<!-- Misc -->
405-
<mime-type name="application/pdf" type="binary">
406-
<description>PDF (Adobe)</description>
407-
<extensions>.pdf</extensions>
408-
</mime-type>
409-
<mime-type name="application/postscript" type="binary">
410-
<description>PostScript Document</description>
411-
<extensions>.eps,.ps</extensions>
509+
<mime-type name="image/vnd.microsoft.icon" type="binary">
510+
<description>Icon image</description>
511+
<extensions>.ico</extensions>
412512
</mime-type>
413-
<mime-type name="application/javascript" type="binary">
414-
<description>JavaScript</description>
415-
<extensions>.js</extensions>
513+
<mime-type name="image/avif" type="binary">
514+
<description>AVIF image</description>
515+
<extensions>.avif</extensions>
416516
</mime-type>
417-
<mime-type name="application/less" type="binary">
418-
<description>Less</description>
419-
<extensions>.less</extensions>
517+
<mime-type name="image/webp" type="binary">
518+
<description>WEBP image</description>
519+
<extensions>.webp</extensions>
420520
</mime-type>
421-
422-
<!-- Media types -->
521+
522+
<!-- Audio Formats -->
523+
423524
<mime-type name="audio/mpeg" type="binary">
424525
<description>MPEG Audio</description>
425526
<extensions>.mp2,.mp3,.mpga</extensions>
426527
</mime-type>
528+
<mime-type name="audio/webm" type="binary">
529+
<description>WEBM audio</description>
530+
<extensions>.weba</extensions>
531+
</mime-type>
532+
<mime-type name="audio/ogg" type="binary">
533+
<description>Opus audio in Ogg container</description>
534+
<extensions>.opus</extensions>
535+
</mime-type>
536+
<mime-type name="audio/aac" type="binary">
537+
<description>AAC audio</description>
538+
<extensions>.aac</extensions>
539+
</mime-type>
540+
541+
<!-- Video Formats -->
542+
543+
<mime-type name="video/webm" type="binary">
544+
<description>WEBM video</description>
545+
<extensions>.webm</extensions>
546+
</mime-type>
427547
<mime-type name="video/mpeg" type="binary">
428548
<description>MPEG Video</description>
429549
<extensions>.mpg,.mpeg</extensions>
@@ -432,11 +552,28 @@
432552
<description>MP4 Video</description>
433553
<extensions>.mp4</extensions>
434554
</mime-type>
435-
555+
<mime-type name="video/vnd.avi" type="binary">
556+
<description>Audio Video Interleaved</description>
557+
<extensions>.avi</extensions>
558+
</mime-type>
559+
436560
<!-- Font types -->
437-
<mime-type name="application/font-woff" type="binary">
561+
562+
<mime-type name="font/woff" type="binary">
438563
<description>WOFF File Format</description>
439564
<extensions>.woff</extensions>
440565
</mime-type>
441-
566+
<mime-type name="font/woff2" type="binary">
567+
<description>WOFF2 File Format</description>
568+
<extensions>.woff2</extensions>
569+
</mime-type>
570+
<mime-type name="font/otf" type="binary">
571+
<description>OpenType Font</description>
572+
<extensions>.otf</extensions>
573+
</mime-type>
574+
<mime-type name="font/ttf" type="binary">
575+
<description>TrueType Font</description>
576+
<extensions>.ttf</extensions>
577+
</mime-type>
578+
442579
</mime-types>

0 commit comments

Comments
 (0)