Cfdi.Transform.Transform (cfdi_transform v4.0.1)

Copy Markdown

API fluente para generar la cadena original. Espejo de transform.ts.

cadena =
  Cfdi.Transform.Transform.new()
  |> Cfdi.Transform.Transform.s("comprobante.xml")
  |> Cfdi.Transform.Transform.xsl("cadenaoriginal.xslt")
  |> Cfdi.Transform.Transform.run!()

Summary

Functions

Alias de xsl/2 (paridad con .json(file) de Node).

Crea una instancia vacía.

Ejecuta la transformación. Devuelve {:ok, cadena} o {:error, reason}.

Como run/1, pero levanta RuntimeError si falla.

Carga el archivo XML a transformar (equivale a .s(file) de Node).

Sin efecto: paridad con .warnings(_) de Node.

Carga el XML directamente como string (sin archivo intermedio).

Carga la hoja XSLT (equivale a .xsl(file) de Node).

Types

t()

@type t() :: %Cfdi.Transform.Transform{
  registry: map() | nil,
  xml_content: String.t() | nil,
  xml_path: String.t() | nil
}

Functions

json(t, path)

@spec json(t(), String.t()) :: t()

Alias de xsl/2 (paridad con .json(file) de Node).

new()

@spec new() :: t()

Crea una instancia vacía.

run(transform)

@spec run(t()) :: {:ok, String.t()} | {:error, term()}

Ejecuta la transformación. Devuelve {:ok, cadena} o {:error, reason}.

run!(t)

@spec run!(t()) :: String.t()

Como run/1, pero levanta RuntimeError si falla.

s(t, xml_path)

@spec s(t(), String.t()) :: t()

Carga el archivo XML a transformar (equivale a .s(file) de Node).

warnings(t, type \\ "silent")

@spec warnings(t(), String.t()) :: t()

Sin efecto: paridad con .warnings(_) de Node.

xml_string(t, xml)

@spec xml_string(t(), String.t()) :: t()

Carga el XML directamente como string (sin archivo intermedio).

xsl(t, xsl_path)

@spec xsl(t(), String.t()) :: t()

Carga la hoja XSLT (equivale a .xsl(file) de Node).