User:Felix/ontology


 * 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
 * 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

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