pub enum DocumentFormat {
Show 20 variants
Pdf,
Docx,
Epub,
Odt,
Ods,
Odp,
Xlsx,
Pptx,
Json,
Yaml,
Csv,
Markdown,
Xml,
Html,
Toml,
Jsonl,
Eml,
Parquet,
ArrowIpc,
Opaque,
}Expand description
A detected document format (the class of the field’s source bytes).
Variants§
A validated PDF (physical indicators).
Docx
An OPC package with a WordprocessingML officeDocument part.
Epub
An OCF container with an EPUB package document.
Odt
An ODF package with an OpenDocument text content part.
Ods
An ODF package with an OpenDocument spreadsheet content part.
Odp
An ODF package with an OpenDocument presentation content part.
Xlsx
An OPC package with a SpreadsheetML workbook part.
Pptx
An OPC package with a PresentationML presentation part.
Json
A structured JSON document (the whole source parses as exactly one JSON value). Not a package: the exact leaf is the whole source (Phase 21.5.1).
Yaml
A structured YAML document (the whole source parses as a bounded YAML stream whose every document root is a mapping or a sequence). Not a package: the exact leaf is the whole source (Phase 21.6.1).
Csv
A CSV/TSV table (the whole source parses under a comma or tab delimiter as a table with a consistent field count across a sampled majority of at least two records). Not a package: the exact leaf is the whole source, and the recorded dialect distinguishes comma from tab (Phase 21.7.1).
Markdown
A Markdown prose document (the whole source carries at least one structural mark — an ATX heading, a fenced code block, front matter, a table, a reference definition, or a footnote definition). Not a package: the exact leaf is the whole source (Phase 21.8.1).
Xml
A standalone XML document (the whole source begins with < and parses as
well-formed XML with exactly one root element under the XML caps). Not a
package: the exact leaf is the whole source, and every node/attribute span
is a Q_gen projection (Phase 21.9).
Html
A standalone HTML document (the source is not well-formed XML and carries
clear HTML structure — a <!doctype html>, an <html/<head/<body tag,
or a preponderance of known HTML tags). Parsed by a bounded,
error-recovering scanner. Not a package: the exact leaf is the whole
source, and every element/attribute/text/comment/raw-text span is a Q_gen
projection (Phase 21.10).
Toml
A TOML document (the source is not any earlier format, parses as TOML 1.0
under the TOML caps with no errors, and carries at least one key/value
assignment). Not a package: the exact leaf is the whole source, and every
table/array/key/value/comment span is a Q_gen projection. TOML’s
duplicate-key/redefinition rules are enforced (a violation is a typed
decline) (Phase 21.11).
Jsonl
A JSONL / NDJSON line/event stream (the source carries at least two non-blank
lines and every non-blank line parses as exactly one JSON value under the
caps, each line parsed by the shared JSON parser). Not a package: the exact
leaf is the whole source, and every record’s exact line span, terminator, and
per-token spans are Q_gen projections. A single JSON value stays
DocumentFormat::Json (Phase 21.12).
Eml
An EML / MIME internet message (an RFC 5322 header block terminated by a
blank line, carrying From/Date/Message-ID, or an explicit
MIME-Version). Not a package: the exact leaf is the whole source, and every
header/part span and every Content-Transfer-Encoding-decoded constituent is
a Q_gen projection (Phase 21.13).
Parquet
An Apache Parquet file (the source begins with PAR1 and ends with PAR1,
and the 4-byte little-endian footer length before the trailing magic is
consistent with the file length). Not a package: the exact leaf is the whole
source, and the parsed footer inventory (schema, row groups, column chunks,
statistics) and any decoded values are Q_gen projections (Phase 21.14).
ArrowIpc
An Apache Arrow IPC file/stream (the source begins with the ARROW1 magic
and is either the file format — a trailing ARROW1 magic preceded by a
consistent little-endian int32 footer length — or the stream format —
a valid encapsulated Schema message at the 8-byte magic+padding prefix).
Not a package: the exact leaf is the whole source, and the parsed schema and
record-batch inventory (with each batch’s exact source span) and any decoded
columnar values are Q_gen projections (Phase 21.16).
Opaque
Anything else; preserved exactly by the opaque floor.
Implementations§
Source§impl DocumentFormat
impl DocumentFormat
Sourcepub const fn name(self) -> &'static str
pub const fn name(self) -> &'static str
Stable lower-case name (used in JSON and in the manifest provenance token).
Sourcepub const fn adapter(self) -> &'static str
pub const fn adapter(self) -> &'static str
The adapter that serves this format (the observation layer’s name for it).
Sourcepub const fn compiled(self) -> bool
pub const fn compiled(self) -> bool
Whether the adapter for this format is compiled into this build.
Sourcepub fn provenance_prefix(self) -> String
pub fn provenance_prefix(self) -> String
The machine-readable format=<name>; provenance prefix recorded at ingest.
Sourcepub fn from_provenance(provenance: &str) -> Option<DocumentFormat>
pub fn from_provenance(provenance: &str) -> Option<DocumentFormat>
Recover the recorded format from a field manifest’s provenance string.
Returns None for a manifest that does not carry the token (e.g. a field
written before this subphase); such a field still serves every native
selector, but common observations decline typed rather than guessing.