Sha256: 34a9c52655f97d3ed0a140f0e884a564d228ab73f7d759c7a843ce45f5838d2d

Contents?: true

Size: 845 Bytes

Versions: 99

Compression:

Stored size: 845 Bytes

Contents

require 'libxml'

module Aws
  module Xml
    class Parser
      class LibxmlEngine

        include LibXML::XML::SaxParser::Callbacks

        def initialize(stack)
          @stack = stack
        end

        def parse(xml)
          parser = ::LibXML::XML::SaxParser.string(xml)
          parser.callbacks = self
          parser.parse
        end

        def on_start_element_ns(element_name, attributes, *ignored)
          @stack.start_element(element_name)
          attributes.each do |attr_name, attr_value|
            @stack.attr(attr_name, attr_value)
          end
        end

        def on_end_element_ns(*ignored)
          @stack.end_element
        end

        def on_characters(chars)
          @stack.text(chars)
        end

        def on_error(msg)
          @stack.error(msg)
        end

      end
    end
  end
end

Version data entries

99 entries across 99 versions & 1 rubygems

Version Path
aws-sdk-core-2.3.10 lib/aws-sdk-core/xml/parser/engines/libxml.rb
aws-sdk-core-2.3.9 lib/aws-sdk-core/xml/parser/engines/libxml.rb
aws-sdk-core-2.3.8 lib/aws-sdk-core/xml/parser/engines/libxml.rb
aws-sdk-core-2.3.7 lib/aws-sdk-core/xml/parser/engines/libxml.rb
aws-sdk-core-2.3.6 lib/aws-sdk-core/xml/parser/engines/libxml.rb
aws-sdk-core-2.3.5 lib/aws-sdk-core/xml/parser/engines/libxml.rb
aws-sdk-core-2.3.4 lib/aws-sdk-core/xml/parser/engines/libxml.rb
aws-sdk-core-2.3.3 lib/aws-sdk-core/xml/parser/engines/libxml.rb
aws-sdk-core-2.3.2 lib/aws-sdk-core/xml/parser/engines/libxml.rb
aws-sdk-core-2.3.1 lib/aws-sdk-core/xml/parser/engines/libxml.rb
aws-sdk-core-2.3.0 lib/aws-sdk-core/xml/parser/engines/libxml.rb
aws-sdk-core-2.2.37 lib/aws-sdk-core/xml/parser/engines/libxml.rb
aws-sdk-core-2.2.36 lib/aws-sdk-core/xml/parser/engines/libxml.rb
aws-sdk-core-2.2.35 lib/aws-sdk-core/xml/parser/engines/libxml.rb
aws-sdk-core-2.2.34 lib/aws-sdk-core/xml/parser/engines/libxml.rb
aws-sdk-core-2.2.33 lib/aws-sdk-core/xml/parser/engines/libxml.rb
aws-sdk-core-2.2.32 lib/aws-sdk-core/xml/parser/engines/libxml.rb
aws-sdk-core-2.2.31 lib/aws-sdk-core/xml/parser/engines/libxml.rb
aws-sdk-core-2.2.30 lib/aws-sdk-core/xml/parser/engines/libxml.rb
aws-sdk-core-2.2.29 lib/aws-sdk-core/xml/parser/engines/libxml.rb