Module: Lutaml::Model::Schema::RncCompiler

Extended by:
RncCompiler
Included in:
RncCompiler
Defined in:
lib/lutaml/model/schema/rnc_compiler.rb,
lib/lutaml/model/schema/rnc_compiler/source_resolver.rb

Overview

Compiles RELAX NG Compact Syntax (RNC) into Lutaml::Model Ruby source.

RNC support is a thin adapter: the rng gem parses the compact syntax into Rng::Grammar — resolving includes, bracket annotations, and non-leading start definitions natively — then RngCompiler performs all model generation and output handling.

Defined Under Namespace

Modules: SourceResolver

Constant Summary collapse

DEFAULT_OUTPUT_DIR_PREFIX =
"rnc_models"

Instance Method Summary collapse

Instance Method Details

#to_models(rnc, options = {}) ⇒ Object



19
20
21
22
23
24
25
26
27
28
# File 'lib/lutaml/model/schema/rnc_compiler.rb', line 19

def to_models(rnc, options = {})
  require_rnc_parser!

  grammar = parse_grammar(rnc, options)

  RngCompiler.to_models(
    grammar,
    options.merge(default_output_dir: default_output_dir),
  )
end