Class: Aws::Xml::Parser Private
- Inherits:
-
Object
- Object
- Aws::Xml::Parser
- Includes:
- Seahorse::Model::Shapes
- Defined in:
- lib/aws-sdk-core/xml/parser.rb,
lib/aws-sdk-core/xml/parser/frame.rb,
lib/aws-sdk-core/xml/parser/stack.rb,
lib/aws-sdk-core/xml/parser/engines/ox.rb,
lib/aws-sdk-core/xml/parser/engines/oga.rb,
lib/aws-sdk-core/xml/parser/engines/rexml.rb,
lib/aws-sdk-core/xml/parser/parsing_error.rb,
lib/aws-sdk-core/xml/parser/engines/libxml.rb,
lib/aws-sdk-core/xml/parser/engines/nokogiri.rb
Overview
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
A SAX-style XML parser that uses a shape context to handle types.
Defined Under Namespace
Classes: BlobFrame, BooleanFrame, FlatListFrame, FloatFrame, Frame, IntegerFrame, LibxmlEngine, ListFrame, MapEntryFrame, MapFrame, NokogiriEngine, NullFrame, OgaEngine, OxEngine, ParsingError, RexmlEngine, Stack, StringFrame, StructureFrame, TimestampFrame
Constant Summary collapse
- FRAME_CLASSES =
This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.
{ NilClass => NullFrame, BlobShape => BlobFrame, BooleanShape => BooleanFrame, FloatShape => FloatFrame, IntegerShape => IntegerFrame, ListShape => ListFrame, MapShape => MapFrame, StringShape => StringFrame, StructureShape => StructureFrame, TimestampShape => TimestampFrame, }
Class Method Summary collapse
-
.engine ⇒ Class
private
Returns the default parsing engine.
- .engine=(engine) ⇒ Object private
Instance Method Summary collapse
-
#initialize(rules, options = {}) ⇒ Parser
constructor
private
A new instance of Parser.
- #parse(xml, target = nil) ⇒ Structure private
Constructor Details
#initialize(rules, options = {}) ⇒ Parser
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of Parser.
18 19 20 21 |
# File 'lib/aws-sdk-core/xml/parser.rb', line 18 def initialize(rules, = {}) @rules = rules @engine = [:engine] || self.class.engine end |
Class Method Details
.engine ⇒ Class
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns the default parsing engine. One of:
57 58 59 |
# File 'lib/aws-sdk-core/xml/parser.rb', line 57 def engine @engine end |
.engine=(engine) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
44 45 46 |
# File 'lib/aws-sdk-core/xml/parser.rb', line 44 def engine= engine @engine = Class === engine ? engine : load_engine(engine) end |
Instance Method Details
#parse(xml, target = nil) ⇒ Structure
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
26 27 28 29 30 31 |
# File 'lib/aws-sdk-core/xml/parser.rb', line 26 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 |