fileinfo —
        File Information Schema
      
      
      This work is licensed under the
      Creative Commons Attribution-ShareAlike
      License 4.0.
- This Version: A.
 - 20250507.shtml
 - Latest Version:
 - 
        index.shtml
index.rss (RSS Feed of the schema with updates) 
Introduction
The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in RFC 2119.[1]
The Internet Media Type
mime-type := type "/" [tree "."] subtype ["+" suffix]* *(";" parameter)
parameter := attribute "=" value ;
attribute := token ;
value     := token / quoted-string ;
token     := 1*<any (US-ASCII) CHAR except SPACE, CTLs, or tspecials>
tspecials := "(" / ")" / "<" / ">" / "@" / "," / ";" / ":" /
             "\" / <"> /  "/" / "[" / "]" / "?" / "="
          ; Must be in quoted-string, to use within parameter values.
          { The Internet Assigned Numbers Authority (IANA) maintains the registry of official Internet Media Types.[2] Types, subtypes, and parameter names are case-insensitive. Parameter values are usually case-sensitive, but may be interpreted in a case-insensitive fashion depending on the intended use. }
The IANA currently has the following major media types defined:
- application/* —
 - audio/* —
 - font/* —
 - example/* —
 - image/* —
 - message/* —
 - model/* —
 - multipart/* —
 - text/* —
 - video/* —
 
{ Additionally, the following pseudo-types are defined by
          freedesktop.org and are used by this schema. }
- inode/* — File system non-regular files, such as character and block device files, directories, symbolic links, sockets, FIFOs, doors and mount points. [3]
 - 
              x-scheme-handler/*
              — This scheme allows URI scheme handling to
              enjoy the same benefits as media type handlers, such as the
              ability to change the default handler, the cross-desktop
              support, and easier application launching.
Note that this virtual media type is not for listing URI schemes that an application can load files from. For example, a movie player would not listx-scheme-handler/httpin its supported mime-types, but it would listx-scheme-handler/rtspif it supported playing back from RTSP locations. [3] 
{ The following unofficial top-level types are in common use: }
Media Type Suffixes
The media type suffix is an augmentation to the media type definition to additionally specify the underlying structure of that media type, allowing for generic processing based on that structure and independent of the exact type's particular semantics. Media types that make use of a named structured syntax should use the appropriate IANA registered "+"suffix for that structured syntax when they are registered. Unregistered suffixes should not be used (since January 2013). Structured syntax suffix registration procedures are defined in RFC 6838.
The +xml suffix has been defined since January
            2001 (RFC 3023), and
            was formally included in the initial contents of the Structured
            Syntax Suffix Registry along with +json,
            +ber, +der, +fastinfoset,
            +wbxml, and +zip in January 2013
            (RFC 6839). Subsequent
            additions include +gzip, +cbor,
            +json-seq, and
            +cbor-seq.
Media Type Parameters
{ The charset media type
          parameter is probably the most common one, and indicates the
          character set used in the file. }
Rationale for this Format
Various Formats and Locations for Media Type Information
Microsoft Windows
Stored under the following registry keys:
HKEY_CLASSES_ROOT\.extension\Content Type- 
                  
HKEY_CLASSES_ROOT\MIME\Database\Content Type\media-type, which is merged from theContent Type/media-typesubkeys under the following keys:- 
                    
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\MIME\Database— the machine level database of media types; - 
                    
HKEY_CURRENT_USER\Software\Classes\MIME\DataBase— the user-specific overrides of media types. 
 - 
                    
 
POSIX Compliant Systems
{ Under the Portable Operating System Interface (POSIX),
            information regarding media types is primarilly stored in two
            different files, /etc/mime.types and
            /etc/mailcap. 
            [5] }
Why RDF?
{ Resource Description Framework (RDF) }
Schema Walk-Through
contentType — Media Type
        Type: fileinfo:MediaType.
{ This property is common to both the File and MediaType classes. }
File — Basic File Properties
        Class
        
        access — Access Control
          Information
          Type: acl:Authorization 
            [6],
            xsd:string
Some access control information MUST NOT be made public by default. The access information relevant the agent requesting access to a resource MAY be provided to the requesting agent.
contentLength — File Size
          
          Type: xsd:nonNegativeInteger
lastModified — Time of Last
          Modification
          
          Type: xsd:dateTime
MediaType — Media Type
        Information Class
        
        description — File Format
          Description
          Type: xsd:string
extensions — File
          Extension(s)
          
          Type: xsd:string
ianaTemplate — IANA Template
          
        parameters — Media Type
          Parameters
          Type: xsd:string
specification — File Format
          Specification(s)
          
        title — File Format Name
          
          
          Type: xsd:string
uti — Uniform Type
          Identifier
          Type: xsd:string
An Uniform Type Identifier (UTI) is a text string used on software provided by Apple Inc. to uniquely identify a given class or type of item.
UTIs use a
          reverse-DNS naming
          structure, for example
          “net.daringfireball.markdown” for the
          Markdown format found at
          https://daringfireball.net/projects/markdown/
          . Names may include the ASCII
          characters A–Z,
          a–z, 0–9,
          hyphen ("-"), and period ("."), and all
          Unicode characters above U+007F. Colons
          (":") and slashes ("/",
          "\") are prohibited for compatibility with Macintosh
          and POSIX
          file path conventions. UTIs support multiple
          inheritance, allowing files to be identified with any number of
          relevant types, as appropriate to the contained data. UTIs are case-insensitive.
Security Considerations
References and Further Reading
- 
          [a]
          Scott
          Bradner: Key words for use in RFCs to
          Indicate Requirement Levels. IETF
          (Internet Engineering Task
          Force) RFC 2119, BCP 14.
          
          Date Published: .
          
          
          In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.Updated by IETF RFC 8174.
 - 
          [a]
          Media Types.
          Internet Assigned Numbers Authority (IANA).This is IANA's official list of registered Internet media types.
 - [a] [b] Thomas Leonard, David Faure, Alex Larsson, Seth Nickell, Keith Packard, Filip Van Raemdonck, Christos Zoulas, Matthias Clasen, Bastien Nocera: Shared MIME-info Database. FreeDesktop.Org.
 - 
          [a]
          Structured Syntax
          Suffixes.
          Internet Assigned Numbers Authority (IANA).This is IANA's official list of registered Internet media type suffixes.
 - 
          [a]
          Nathaniel S.
          Borenstein: A User Agent Configuration Mechanism For Multimedia
          Mail Format Information. IETF (Internet Engineering Task
          Force) RFC 1524.
          
          
          Date Published:
          .
          
          This RFC defines the
/etc/mailcapfile format. - 
          [a]
          Sarven
          Capadisli (ed.),
          Tim
          Berners-Lee, Henry
          Story: Web Access
          Control. Solid.
          Date Created: . Date Published: .
 - 
          [a]
          acl(5). Linux
          Manual.
          This Linux manual page can be accessed either on your local linux system, or online at:
 
- Wikipedia Contributors: Berkeley sockets. Wikipedia, the Free Encylopedia.
 - Wikipedia Contributors: Device file. Wikipedia, the Free Encylopedia.
 - Wikipedia Contributors: Doors (computing). Wikipedia, the Free Encylopedia.
 - Wikipedia Contributors: FIFO (computing and electronics). Wikipedia, the Free Encylopedia.
 - Wikipedia Contributors: Filename extension. Wikipedia, the Free Encylopedia.
 - Wikipedia Contributors: Media Type. Wikipedia, the Free Encylopedia.
 - Wikipedia Contributors: POSIX. Wikipedia, the Free Encylopedia.
 - Wikipedia Contributors: Uniform Type Identifier. Wikipedia, the Free Encylopedia.
 - 
          Ned
          Freed · John C. Klensin ·
          Tony
          Hansen: Media Type Specifications and Registration
          Procedures. IETF (Internet Engineering Task
          Force) RFC 6368,
          BCP 13.
          
          
          
          Date Published:
          .
          This document defines procedures for the specification and registration of media types for use in HTTP, MIME, and other Internet protocols.
 - Ned Freed · Alexey Melnikov: Additional Media Type Structured Syntax Suffixes. IETF (Internet Engineering Task Force) RFC 6389. Date Published: .
 - Alexey Melnikov · Julian F. Reschke: Update to MIME regarding "charset" Parameter Handling in Textual Media Types. IETF (Internet Engineering Task Force) RFC 6657. Date Published: .
 
Appendix A. Example
Below is the definition for the text/plain Media
      Type.
{
  "@context": {
    "@vocab" : "https://ns.sm0tvi.net/fileinfo#"
  },
  "@type" : "MediaType",
  "@id" : "media-type:text/plain",
  "contentType" : { "@id" : "media-type:text/plain" },
  "description" : [  
    {
      "@language" : "en",
      "@value" : "Plain text with no markup and an unspecified encoding."
    }
  ],
  "extensions" : [
    "txt",
    "text",
    "pot",
    "brf",
    "srt"
  ],
  "parameters" : [
    "charset"
  ],
  "title" : [
    {
      "@language" : "en",
      "@value" : "Text file"
    } 
  ],
  "uti" : "public.plain-text"
}