Cfdi.Relacionado (cfdi v4.0.1)

Copy Markdown

cfdi:CfdiRelacionados — grupo de CFDI relacionados bajo un TipoRelacion común.

Equivalente a la clase Relacionado del paquete @cfdi/xml en Node. Cada grupo agrupa uno o más UUIDs (Cfdi.Relacionado.CfdiRelacionado).

Summary

Functions

Añade un UUID al grupo.

Nombre local del tag, sin namespace. Ej: "Emisor".

Prefijo de namespace del tag ("cfdi") o nil si no lleva.

Tag XML completo (con namespace, si lo hay). Ej: "cfdi:Emisor".

Proyecta la struct a mapa.

Types

t()

@type t() :: %Cfdi.Relacionado{
  TipoRelacion: String.t() | nil,
  "cfdi:CfdiRelacionado": list() | nil
}

Functions

add_relation(r, cr)

Añade un UUID al grupo.

local_name()

@spec local_name() :: String.t()

Nombre local del tag, sin namespace. Ej: "Emisor".

namespace()

@spec namespace() :: String.t() | nil

Prefijo de namespace del tag ("cfdi") o nil si no lleva.

relacionados_block(items)

@spec relacionados_block([t() | map()]) :: tuple() | nil

tag()

@spec tag() :: String.t()

Tag XML completo (con namespace, si lo hay). Ej: "cfdi:Emisor".

to_element(r)

@spec to_element(t()) :: tuple()

to_element(el, kids)

@spec to_element(t(), iodata()) :: tuple()

to_map(el)

@spec to_map(t() | nil) :: map() | nil

Proyecta la struct a mapa.

Opciones:

  • :nstrue (default) incluye prefijo y envuelve bajo "cfdi:Tag"; false devuelve solo los atributos como mapa plano.
  • :wraptrue (default) envuelve bajo la llave del tag; false devuelve solo el cuerpo.

to_map(el, opts)

@spec to_map(
  t() | nil,
  keyword()
) :: map() | nil