Skip to main content

DocumentFormat

Enum DocumentFormat 

Source
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§

§

Pdf

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

Source

pub const fn name(self) -> &'static str

Stable lower-case name (used in JSON and in the manifest provenance token).

Source

pub const fn adapter(self) -> &'static str

The adapter that serves this format (the observation layer’s name for it).

Source

pub const fn compiled(self) -> bool

Whether the adapter for this format is compiled into this build.

Source

pub fn provenance_prefix(self) -> String

The machine-readable format=<name>; provenance prefix recorded at ingest.

Source

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.

Trait Implementations§

Source§

impl Clone for DocumentFormat

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for DocumentFormat

Source§

impl Debug for DocumentFormat

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for DocumentFormat

Source§

impl PartialEq for DocumentFormat

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for DocumentFormat

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.