User:Felix/ontology
From Just Solve the File Format Problem
- Abstract (XML, ASN.1) or concrete (HTML, PEM)?
By serialisation method
How does it encode the data it stores?
- Text-based
- HTML-based (microformats)
- JSON-based
- XML-based
- YAML-based
- Binary
- ASN.1
- bencode
- BSON
- EBML
By content type
What data is it capable of holding?
- Software
- Machine code
- Core dump
- Executable
- Shared object/dynamically-linked library
- Object code
- Bytecode
- Programming language
- Build automation scripts
- GUI layout data
- Machine code
- Abstract data
- Schema (XML DTD, XSD, SQL DDL, JSON Schema…)
- Primitive value
- Identifier (GUID, UUID, URI…)
- Variable-length integers
- Identification/metadata
- Encapsulation/transfer encoding (base64, quoted-printable, percent encoding…)
- Database
- Abstract structured data (SGML, XML, bencode, JSON, RIFF…)
- File container
- Archive (zip, tar, message/rfc822…)
- Cryptography
- Encrypted data envelope
- Keys and certificates
- Signature
- General-purpose compression (gz, bzip2, xz…)
- File system (FAT, extfs…)
- Partition map (MBR, GPT…)
- Text and hypertext
- Character encoding (UTF-8, ISO 8859, code pages…)
- Markup language (TeX, HTML, RTF…)
- Page layout (PDF, PostScript, dvi, DjVu, XSL-FO…)
- Multimedia
- Audio
- Waveform audio (WAV, mp3, FLAC…)
- Instrumental audio (MIDI, MOD)
- Media container (Ogg, Matroska)
- Video and animation (MP4, GIF…)
- Static graphics
- Raster graphics (BMP, PNG, JPEG…)
- Vector graphics (SVG, WMF…)
- Fonts
- Bitmap fonts (BDF, PCF…)
- Outline fonts (sfnt)
- Subtitles
- Streaming manifest
- Playlist
- Game data
- Audio
Some formats may fit several categories at once. SWF could fit in "Video and animation", "Multimedia container" and "Bytecode".
By use
How is it typically used?
- General-purpose
- Long-term archival
- Data interchange
- Internet/network messaging
Per-content type:
- Raster graphics:
- Photographic
- Pixel art
- Scanned documents