Boxic.DMN.Model (boxic_dmn v0.2.0)

Copy Markdown View Source

Namespace-independent, normalized representation of a DMN definitions document.

XML nodes are converted into explicit domain values at the loading boundary so validation and execution do not depend on :xmerl records or namespace prefixes. Maps are keyed by DMN identifiers; duplicate identifiers are retained as loader issues instead of being silently overwritten.

Summary

Types

Any normalized expression supported by the DMN evaluator.

t()

Types

expression()

Any normalized expression supported by the DMN evaluator.

issue()

@type issue() ::
  {atom(), term()} | {atom(), term(), term()} | {atom(), term(), term(), term()}

t()

@type t() :: %Boxic.DMN.Model{
  bkms: map(),
  decision_services: map(),
  decisions: %{optional(String.t()) => Boxic.DMN.Model.Decision.t()},
  definitions: Boxic.DMN.Model.Definitions.t(),
  imports: %{optional(String.t()) => Boxic.DMN.Model.Import.t()},
  input_data: %{optional(String.t()) => Boxic.DMN.Model.InputData.t()},
  issues: [issue()],
  item_definitions: map(),
  serialization_fidelity: :complete | {:lossy, [term()]},
  source_profile: Boxic.DMN.Compatibility.source_profile() | nil
}