Current section

Files

Jump to
xberg lib xberg element_type.ex
Raw

lib/xberg/element_type.ex

# This file is auto-generated by alef — DO NOT EDIT.
# alef:hash:c42b3ed17053806bdcf42dea768a2aecba67c8ec1370751ea7323b02483cbce1
# To regenerate: alef generate
# To verify freshness: alef verify --exit-code
defmodule Xberg.ElementType do
@moduledoc """
Semantic element type classification.
Categorizes text content into semantic units for downstream processing.
Supports the element types commonly found in Unstructured documents.
"""
@typedoc "Semantic element type classification."
@type t ::
:title
| :narrative_text
| :heading
| :list_item
| :table
| :image
| :page_break
| :code_block
| :block_quote
| :footer
| :header
@title :title
@narrative_text :narrative_text
@heading :heading
@list_item :list_item
@table :table
@image :image
@page_break :page_break
@code_block :code_block
@block_quote :block_quote
@footer :footer
@header :header
@doc "Document title"
@spec title() :: t()
def title, do: @title
@doc "Main narrative text body"
@spec narrative_text() :: t()
def narrative_text, do: @narrative_text
@doc "Section heading"
@spec heading() :: t()
def heading, do: @heading
@doc "List item (bullet, numbered, etc.)"
@spec list_item() :: t()
def list_item, do: @list_item
@doc "Table element"
@spec table() :: t()
def table, do: @table
@doc "Image element"
@spec image() :: t()
def image, do: @image
@doc "Page break marker"
@spec page_break() :: t()
def page_break, do: @page_break
@doc "Code block"
@spec code_block() :: t()
def code_block, do: @code_block
@doc "Block quote"
@spec block_quote() :: t()
def block_quote, do: @block_quote
@doc "Footer text"
@spec footer() :: t()
def footer, do: @footer
@doc "Header text"
@spec header() :: t()
def header, do: @header
end