Module: Junoser::Xsd::Parsable

Defined in:
lib/junoser/xsd/parsable.rb

Instance Method Summary collapse

Instance Method Details

#remove_unusedObject



23
24
25
26
27
# File 'lib/junoser/xsd/parsable.rb', line 23

def remove_unused
  xpath('/xsd:schema/*[self::xsd:import]').remove
  xpath('//xsd:element[@ref="undocumented" or @ref="junos:comment" or @name="apply-advanced"]').remove
  self
end

#to_configObject



8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/junoser/xsd/parsable.rb', line 8

def to_config
  rule = "rule(:#{self['name'].underscore}) do\n"

  case name
  when 'complexType'
    rule << Junoser::Xsd::ComplexType.new(self, depth: 1).to_s
  when 'element'
    rule << Junoser::Xsd::Element.new(self, depth: 1).content
  else
    raise "ERROR: unknown element: #{name}"
  end

  rule << "\nend\n\n"
end