$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:
main.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.