$v:media-type-map
$v:media-type-map — Mapping from extensions to media types.
Variable:
{http://docbook.org/ns/docbook/variables}media-type-map
Defined in:
modules/variable.xsl
Used in:
modules/objects.xsl
Synopsis
|<xsl:variable name="v:media-type-map"
| as="map(xs:string, xs:string)">
| <xsl:map>
| <xsl:map-entry key="'.aac'" select="'audio/aac'"/>
| <xsl:map-entry key="'.abw'" select="'application/x-abiword'"/>
| <xsl:map-entry key="'.arc'" select="'application/x-freearc'"/>
| <xsl:map-entry key="'.avif'" select="'image/avif'"/>
| <xsl:map-entry key="'.avi'" select="'video/x-msvideo'"/>
| <xsl:map-entry key="'.azw'" select="'application/vnd.amazon.ebook'"/>
| <xsl:map-entry key="'.bin'" select="'application/octet-stream'"/>
| <xsl:map-entry key="'.bmp'" select="'image/bmp'"/>
| <xsl:map-entry key="'.bz'" select="'application/x-bzip'"/>
| <xsl:map-entry key="'.bz2'" select="'application/x-bzip2'"/>
| <xsl:map-entry key="'.cda'" select="'application/x-cdf'"/>
| <xsl:map-entry key="'.csh'" select="'application/x-csh'"/>
| <xsl:map-entry key="'.css'" select="'text/css'"/>
| <xsl:map-entry key="'.csv'" select="'text/csv'"/>
| <xsl:map-entry key="'.doc'" select="'application/msword'"/>
| <xsl:map-entry key="'.docx'"
| select="'application/vnd.openxmlformats-officedocument.wordprocessingml.document'"/>
| <xsl:map-entry key="'.eot'" select="'application/vnd.ms-fontobject'"/>
| <xsl:map-entry key="'.epub'" select="'application/epub+zip'"/>
| <xsl:map-entry key="'.gz'" select="'application/gzip'"/>
| <xsl:map-entry key="'.gif'" select="'image/gif'"/>
| <xsl:map-entry key="'.htm'" select="'text/html'"/>
| <xsl:map-entry key="'.html'" select="'text/html'"/>
| <xsl:map-entry key="'.ico'" select="'image/vnd.microsoft.icon'"/>
| <xsl:map-entry key="'.ics'" select="'text/calendar'"/>
| <xsl:map-entry key="'.jar'" select="'application/java-archive'"/>
| <xsl:map-entry key="'.jpeg'" select="'image/jpeg'"/>
| <xsl:map-entry key="'.jpg'" select="'image/jpeg'"/>
| <xsl:map-entry key="'.js'" select="'text/javascript'"/>
| <xsl:map-entry key="'.json'" select="'application/json'"/>
| <xsl:map-entry key="'.jsonld'" select="'application/ld+json'"/>
| <xsl:map-entry key="'.mid'" select="'audio/midi'"/>
| <xsl:map-entry key="'.midi'" select="'audio/midi'"/>
| <xsl:map-entry key="'.mjs'" select="'text/javascript'"/>
| <xsl:map-entry key="'.m3u8'" select="'application/x-mpegURL'"/>
| <xsl:map-entry key="'.mp3'" select="'audio/mpeg'"/>
| <xsl:map-entry key="'.mp4'" select="'video/mp4'"/>
| <xsl:map-entry key="'.mpeg'" select="'video/mpeg'"/>
| <xsl:map-entry key="'.mpkg'" select="'application/vnd.apple.installer+xml'"/>
| <xsl:map-entry key="'.mov'" select="'video/quicktime'"/>
| <xsl:map-entry key="'.odp'" select="'application/vnd.oasis.opendocument.presentation'"/>
| <xsl:map-entry key="'.ods'" select="'application/vnd.oasis.opendocument.spreadsheet'"/>
| <xsl:map-entry key="'.odt'" select="'application/vnd.oasis.opendocument.text'"/>
| <xsl:map-entry key="'.oga'" select="'audio/ogg'"/>
| <xsl:map-entry key="'.ogv'" select="'video/ogg'"/>
| <xsl:map-entry key="'.ogx'" select="'application/ogg'"/>
| <xsl:map-entry key="'.opus'" select="'audio/opus'"/>
| <xsl:map-entry key="'.otf'" select="'font/otf'"/>
| <xsl:map-entry key="'.png'" select="'image/png'"/>
| <xsl:map-entry key="'.pdf'" select="'application/pdf'"/>
| <xsl:map-entry key="'.php'" select="'application/x-httpd-php'"/>
| <xsl:map-entry key="'.ppt'" select="'application/vnd.ms-powerpoint'"/>
| <xsl:map-entry key="'.pptx'"
| select="'application/vnd.openxmlformats-officedocument.presentationml.presentation'"/>
| <xsl:map-entry key="'.rar'" select="'application/vnd.rar'"/>
| <xsl:map-entry key="'.rtf'" select="'application/rtf'"/>
| <xsl:map-entry key="'.sh'" select="'application/x-sh'"/>
| <xsl:map-entry key="'.svg'" select="'image/svg'"/>
| <!-- not image/svg+xml for epub -->
| <xsl:map-entry key="'.tar'" select="'application/x-tar'"/>
| <xsl:map-entry key="'.tif'" select="'image/tiff'"/>
| <xsl:map-entry key="'.tiff'" select="'image/tiff'"/>
| <xsl:map-entry key="'.ts'" select="'video/mp2t'"/>
| <xsl:map-entry key="'.ttf'" select="'font/ttf'"/>
| <xsl:map-entry key="'.txt'" select="'text/plain'"/>
| <xsl:map-entry key="'.text'" select="'text/plain'"/>
| <xsl:map-entry key="'.vsd'" select="'application/vnd.visio'"/>
| <xsl:map-entry key="'.wav'" select="'audio/wav'"/>
| <xsl:map-entry key="'.weba'" select="'audio/webm'"/>
| <xsl:map-entry key="'.webm'" select="'video/webm'"/>
| <xsl:map-entry key="'.webp'" select="'image/webp'"/>
| <xsl:map-entry key="'.wmv'" select="'video/x-ms-wmv'"/>
| <xsl:map-entry key="'.woff'" select="'font/woff'"/>
| <xsl:map-entry key="'.woff2'" select="'font/woff2'"/>
| <xsl:map-entry key="'.xhtml'" select="'application/xhtml+xml'"/>
| <xsl:map-entry key="'.xls'" select="'application/vnd.ms-excel'"/>
| <xsl:map-entry key="'.xlsx'"
| select="'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'"/>
| <xsl:map-entry key="'.xml'" select="'application/xml'"/>
| <xsl:map-entry key="'.xul'" select="'application/vnd.mozilla.xul+xml'"/>
| <xsl:map-entry key="'.zip'" select="'application/zip'"/>
| <xsl:map-entry key="'.7z'" select="'application/x-7z-compressed'"/>
| </xsl:map>
|</xsl:variable>
Description
When attempting to determine the media type of a file, the stylesheets use this map to check for a media type based on the filename (or URI) extension.
This mapping is derived from Mozilla’s
list of common types. The “.3gp
” and
“.3g2
” extensions have been removed because they
have multiple mappings. The “.text
”, “.mov
”,
“.m3u8
”, and “.wmv
” extensions have been
added. The media type for “.svg
” has been simplified to just
“image/svg
”
because that seems to be what EPUB readers require.