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
@type expression() :: Boxic.DMN.Model.LiteralExpression.t() | Boxic.DMN.Model.DecisionTable.t() | Boxic.DMN.Model.ContextExpression.t() | Boxic.DMN.Model.Invocation.t() | Boxic.DMN.Model.FunctionDefinition.t() | Boxic.DMN.Model.Relation.t() | Boxic.DMN.Model.ListExpression.t() | Boxic.DMN.Model.ConditionalExpression.t() | Boxic.DMN.Model.FilterExpression.t() | Boxic.DMN.Model.IteratorExpression.t() | {:unsupported, String.t()} | nil
Any normalized expression supported by the DMN evaluator.
@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 }