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
- Machine code
- Abstract data
- Schema (XML DTD, XSD, SQL DDL, JSON Schema…)
- Serialisation
- Identifier (GUID, UUID, URI…)
- Character encoding (UTF-8, ISO 8859, code pages…)
- Variable-length integers
- Encapsulation encoding (base64, quoted-printable…)
- Structured data (SGML, XML, bencode, JSON, RIFF…)
- File container
- Archive (zip, tar, message/rfc822…)
- Cryptography
- Encrypted data envelope
- Cryptographic key/certificate
- Signature
- General-purpose compression (gz, bzip2, xz…)
- File system (FAT, extfs…)
- Partition map (MBR, GPT…)
- Text and hypertext (HTML, RTF…)
- Markup language
- Page layout (PDF, PostScript, dvi, DjVu, XSL-FO…)
- Multimedia
- Audio (WAV, mp3…)
- MIDI audio
- Multimedia container (Ogg, Matroska)
- Video and animation (MP4, GIF…)
- Static graphics
- Raster graphics (BMP, PNG, JPEG…)
- Vector graphics (SVG, WMF…)
- Subtitles
- Streaming media manifest
- Playlist
- Audio (WAV, mp3…)
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