class Aws::Xml::Parser

A SAX-style XML parser that uses a shape context to handle types.

def engine

Returns:
  • (Class) - Returns the default parsing engine.
def engine
  @engine
end

def engine= engine

Parameters:
  • engine (Symbol, Class) --
def engine= engine
  @engine = Class === engine ? engine : load_engine(engine)
end

def initialize(rules, options = {})

Parameters:
  • rules (Seahorse::Model::ShapeRef) --
def initialize(rules, options = {})
  @rules = rules
  @engine = options[:engine] || self.class.engine
end

def load_engine(name)

def load_engine(name)
  require "aws-sdk-core/xml/parser/engines/#{name}"
  const_name = name[0].upcase + name[1..-1] + 'Engine'
  const_get(const_name)
end

def parse(xml, target = nil)

Returns:
  • (Structure) -

Parameters:
  • target (Structure) -- (nil)
  • xml (String) -- An XML document string to parse.
def parse(xml, target = nil)
  xml = '<xml/>' if xml.nil? or xml.empty?
  stack = Stack.new(@rules, target)
  @engine.new(stack).parse(xml.to_s)
  stack.result
end

def try_load_engine(name)

def try_load_engine(name)
  load_engine(name)
rescue LoadError
  false
end