SC.Parser.SCXML.ElementBuilder (sc v1.0.2)

View Source

Builds SCXML elements from XML attributes and location information.

This module handles the creation of SC.Document, SC.State, SC.Transition, and SC.DataElement structs with proper attribute parsing and location tracking.

Summary

Functions

Build an SC.AssignAction from XML attributes and location info.

Build an SC.DataElement from XML attributes and location info.

Build an SC.Document from SCXML attributes and location info.

Build an SC.State from final XML attributes and location info.

Build an initial state element from XML attributes and location info.

Build an SC.LogAction from XML attributes and location info.

Build an SC.State from parallel XML attributes and location info.

Build an SC.RaiseAction from XML attributes and location info.

Build an SC.State from XML attributes and location info.

Build an SC.Transition from XML attributes and location info.

Functions

build_assign_action(attributes, location, xml_string, element_counts)

@spec build_assign_action(list(), map(), String.t(), map()) ::
  SC.Actions.AssignAction.t()

Build an SC.AssignAction from XML attributes and location info.

build_data_element(attributes, location, xml_string, element_counts)

@spec build_data_element(list(), map(), String.t(), map()) :: SC.DataElement.t()

Build an SC.DataElement from XML attributes and location info.

build_document(attributes, location, xml_string, element_counts)

@spec build_document(list(), map(), String.t(), map()) :: SC.Document.t()

Build an SC.Document from SCXML attributes and location info.

build_final_state(attributes, location, xml_string, element_counts)

@spec build_final_state(list(), map(), String.t(), map()) :: SC.State.t()

Build an SC.State from final XML attributes and location info.

build_initial_state(attributes, location, xml_string, element_counts)

@spec build_initial_state(list(), map(), String.t(), map()) :: SC.State.t()

Build an initial state element from XML attributes and location info.

Initial states are represented as SC.State with type: :initial. They contain a single transition that specifies the target initial state.

build_log_action(attributes, location, xml_string, element_counts)

@spec build_log_action(list(), map(), String.t(), map()) :: SC.Actions.LogAction.t()

Build an SC.LogAction from XML attributes and location info.

build_parallel_state(attributes, location, xml_string, element_counts)

@spec build_parallel_state(list(), map(), String.t(), map()) :: SC.State.t()

Build an SC.State from parallel XML attributes and location info.

build_raise_action(attributes, location, xml_string, element_counts)

@spec build_raise_action(list(), map(), String.t(), map()) ::
  SC.Actions.RaiseAction.t()

Build an SC.RaiseAction from XML attributes and location info.

build_state(attributes, location, xml_string, element_counts)

@spec build_state(list(), map(), String.t(), map()) :: SC.State.t()

Build an SC.State from XML attributes and location info.

build_transition(attributes, location, xml_string, element_counts)

@spec build_transition(list(), map(), String.t(), map()) :: SC.Transition.t()

Build an SC.Transition from XML attributes and location info.