--- !ruby/object:RDoc::RI::ClassDescription 
attributes: 
- !ruby/object:RDoc::RI::Attribute 
  comment: 
  name: source
  rw: R
class_methods: 
- !ruby/object:RDoc::RI::MethodSummary 
  name: new
comment: 
- !ruby/struct:RDoc::Markup::Flow::H 
  :level: 1
  :text: Using the Pull Parser
- !ruby/struct:RDoc::Markup::Flow::P 
  :body: <em>This API is experimental, and subject to change.</em>
- !ruby/struct:RDoc::Markup::Flow::VERB 
  :body: " parser = PullParser.new( &quot;&lt;a&gt;text&lt;b att='val'/&gt;txet&lt;/a&gt;&quot; )\n while parser.has_next?\n   res = parser.next\n   puts res[1]['att'] if res.start_tag? and res[0] == 'b'\n end\n"
- !ruby/struct:RDoc::Markup::Flow::P 
  :body: See the PullEvent class for information on the content of the results. The data is identical to the arguments passed for the various events to the StreamListener API.
- !ruby/struct:RDoc::Markup::Flow::P 
  :body: "Notice that:"
- !ruby/struct:RDoc::Markup::Flow::VERB 
  :body: " parser = PullParser.new( &quot;&lt;a&gt;BAD DOCUMENT&quot; )\n while parser.has_next?\n   res = parser.next\n   raise res[1] if res.error?\n end\n"
- !ruby/struct:RDoc::Markup::Flow::P 
  :body: Nat Price gave me some good ideas for the API.
constants: 
- !ruby/object:RDoc::RI::Constant 
  comment: 
  - !ruby/struct:RDoc::Markup::Flow::P 
    :body: Oniguruma / POSIX [understands unicode]
  name: LETTER
  value: "'[[:alpha:]]'"
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: DIGIT
  value: "'[[:digit:]]'"
- !ruby/object:RDoc::RI::Constant 
  comment: 
  - !ruby/struct:RDoc::Markup::Flow::P 
    :body: Ruby &lt; 1.9 [doesn't understand unicode]
  name: LETTER
  value: "'a-zA-Z'"
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: DIGIT
  value: "'\\d'"
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: COMBININGCHAR
  value: "''"
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: EXTENDER
  value: "''"
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: NCNAME_STR
  value: "\"[#{LETTER}_:][-#{LETTER}#{DIGIT}._:#{COMBININGCHAR}#{EXTENDER}]*\""
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: NAME_STR
  value: "\"(?:(#{NCNAME_STR}):)?(#{NCNAME_STR})\""
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: UNAME_STR
  value: "\"(?:#{NCNAME_STR}:)?#{NCNAME_STR}\""
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: NAMECHAR
  value: "'[\\-\\w\\d\\.:]'"
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: NAME
  value: "\"([\\\\w:]#{NAMECHAR}*)\""
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: NMTOKEN
  value: "\"(?:#{NAMECHAR})+\""
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: NMTOKENS
  value: "\"#{NMTOKEN}(\\\\s+#{NMTOKEN})*\""
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: REFERENCE
  value: "\"&(?:#{NAME};|#\\\\d+;|#x[0-9a-fA-F]+;)\""
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: REFERENCE_RE
  value: /#{REFERENCE}/
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: DOCTYPE_START
  value: /\A\s*<!DOCTYPE\s/um
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: DOCTYPE_PATTERN
  value: /\s*<!DOCTYPE\s+(.*?)(\[|>)/um
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: ATTRIBUTE_PATTERN
  value: /\s*(#{NAME_STR})\s*=\s*(["'])(.*?)\4/um
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: COMMENT_START
  value: /\A<!--/u
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: COMMENT_PATTERN
  value: /<!--(.*?)-->/um
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: CDATA_START
  value: /\A<!\[CDATA\[/u
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: CDATA_END
  value: /^\s*\]\s*>/um
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: CDATA_PATTERN
  value: /<!\[CDATA\[(.*?)\]\]>/um
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: XMLDECL_START
  value: /\A<\?xml\s/u;
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: XMLDECL_PATTERN
  value: /<\?xml\s+(.*?)\?>/um
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: INSTRUCTION_START
  value: /\A<\?/u
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: INSTRUCTION_PATTERN
  value: /<\?(.*?)(\s+.*?)?\?>/um
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: TAG_MATCH
  value: /^<((?>#{NAME_STR}))\s*((?>\s+#{UNAME_STR}\s*=\s*(["']).*?\5)*)\s*(\/)?>/um
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: CLOSE_MATCH
  value: /^\s*<\/(#{NAME_STR})\s*>/um
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: VERSION
  value: /\bversion\s*=\s*["'](.*?)['"]/um
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: ENCODING
  value: /\bencoding\s*=\s*["'](.*?)['"]/um
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: STANDALONE
  value: /\bstandalone\s*=\s["'](.*?)['"]/um
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: ENTITY_START
  value: /^\s*<!ENTITY/
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: IDENTITY
  value: /^([!\*\w\-]+)(\s+#{NCNAME_STR})?(\s+["'](.*?)['"])?(\s+['"](.*?)["'])?/u
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: ELEMENTDECL_START
  value: /^\s*<!ELEMENT/um
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: ELEMENTDECL_PATTERN
  value: /^\s*(<!ELEMENT.*?)>/um
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: SYSTEMENTITY
  value: /^\s*(%.*?;)\s*$/um
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: ENUMERATION
  value: "\"\\\\(\\\\s*#{NMTOKEN}(?:\\\\s*\\\\|\\\\s*#{NMTOKEN})*\\\\s*\\\\)\""
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: NOTATIONTYPE
  value: "\"NOTATION\\\\s+\\\\(\\\\s*#{NAME}(?:\\\\s*\\\\|\\\\s*#{NAME})*\\\\s*\\\\)\""
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: ENUMERATEDTYPE
  value: "\"(?:(?:#{NOTATIONTYPE})|(?:#{ENUMERATION}))\""
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: ATTTYPE
  value: "\"(CDATA|ID|IDREF|IDREFS|ENTITY|ENTITIES|NMTOKEN|NMTOKENS|#{ENUMERATEDTYPE})\""
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: ATTVALUE
  value: "\"(?:\\\"((?:[^<&\\\"]|#{REFERENCE})*)\\\")|(?:'((?:[^<&']|#{REFERENCE})*)')\""
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: DEFAULTDECL
  value: "\"(#REQUIRED|#IMPLIED|(?:(#FIXED\\\\s+)?#{ATTVALUE}))\""
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: ATTDEF
  value: "\"\\\\s+#{NAME}\\\\s+#{ATTTYPE}\\\\s+#{DEFAULTDECL}\""
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: ATTDEF_RE
  value: /#{ATTDEF}/
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: ATTLISTDECL_START
  value: /^\s*<!ATTLIST/um
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: ATTLISTDECL_PATTERN
  value: /^\s*<!ATTLIST\s+#{NAME}(?:#{ATTDEF})*\s*>/um
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: NOTATIONDECL_START
  value: /^\s*<!NOTATION/um
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: PUBLIC
  value: /^\s*<!NOTATION\s+(\w[\-\w]*)\s+(PUBLIC)\s+(["'])(.*?)\3(?:\s+(["'])(.*?)\5)?\s*>/um
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: SYSTEM
  value: /^\s*<!NOTATION\s+(\w[\-\w]*)\s+(SYSTEM)\s+(["'])(.*?)\3\s*>/um
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: TEXT_PATTERN
  value: /\A([^<]*)/um
- !ruby/object:RDoc::RI::Constant 
  comment: 
  - !ruby/struct:RDoc::Markup::Flow::P 
    :body: Entity constants
  name: PUBIDCHAR
  value: "\"\\x20\\x0D\\x0Aa-zA-Z0-9\\\\-()+,./:=?;!*@$_%#\""
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: SYSTEMLITERAL
  value: "%Q{((?:\"[^\"]*\")|(?:'[^']*'))}"
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: PUBIDLITERAL
  value: "%Q{(\"[#{PUBIDCHAR}']*\"|'[#{PUBIDCHAR}]*')}"
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: EXTERNALID
  value: "\"(?:(?:(SYSTEM)\\\\s+#{SYSTEMLITERAL})|(?:(PUBLIC)\\\\s+#{PUBIDLITERAL}\\\\s+#{SYSTEMLITERAL}))\""
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: NDATADECL
  value: "\"\\\\s+NDATA\\\\s+#{NAME}\""
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: PEREFERENCE
  value: "\"%#{NAME};\""
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: ENTITYVALUE
  value: "%Q{((?:\"(?:[^%&\"]|#{PEREFERENCE}|#{REFERENCE})*\")|(?:'([^%&']|#{PEREFERENCE}|#{REFERENCE})*'))}"
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: PEDEF
  value: "\"(?:#{ENTITYVALUE}|#{EXTERNALID})\""
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: ENTITYDEF
  value: "\"(?:#{ENTITYVALUE}|(?:#{EXTERNALID}(#{NDATADECL})?))\""
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: PEDECL
  value: "\"<!ENTITY\\\\s+(%)\\\\s+#{NAME}\\\\s+#{PEDEF}\\\\s*>\""
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: GEDECL
  value: "\"<!ENTITY\\\\s+#{NAME}\\\\s+#{ENTITYDEF}\\\\s*>\""
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: ENTITYDECL
  value: /\s*(?:#{GEDECL})|(?:#{PEDECL})/um
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: EREFERENCE
  value: /&(?!#{NAME};)/
- !ruby/object:RDoc::RI::Constant 
  comment: 
  name: DEFAULT_ENTITIES
  value: "{          'gt' => [/&gt;/, '&gt;', '>', />/],          'lt' => [/&lt;/, '&lt;', '<', /</],          'quot' => [/&quot;/, '&quot;', '\"', /\"/],          \"apos\" => [/&apos;/, \"&apos;\", \"'\", /'/]        }"
- !ruby/object:RDoc::RI::Constant 
  comment: 
  - !ruby/struct:RDoc::Markup::Flow::P 
    :body: These are patterns to identify common markup errors, to make the error messages more informative.
  name: MISSING_ATTRIBUTE_QUOTES
  value: /^<#{NAME_STR}\s+#{NAME_STR}\s*=\s*[^"']/um
full_name: REXML::Parsers::BaseParser
includes: []

instance_methods: 
- !ruby/object:RDoc::RI::MethodSummary 
  name: add_listener
- !ruby/object:RDoc::RI::MethodSummary 
  name: empty?
- !ruby/object:RDoc::RI::MethodSummary 
  name: entity
- !ruby/object:RDoc::RI::MethodSummary 
  name: has_next?
- !ruby/object:RDoc::RI::MethodSummary 
  name: normalize
- !ruby/object:RDoc::RI::MethodSummary 
  name: peek
- !ruby/object:RDoc::RI::MethodSummary 
  name: position
- !ruby/object:RDoc::RI::MethodSummary 
  name: pull
- !ruby/object:RDoc::RI::MethodSummary 
  name: stream=
- !ruby/object:RDoc::RI::MethodSummary 
  name: unnormalize
- !ruby/object:RDoc::RI::MethodSummary 
  name: unshift
name: BaseParser
superclass: Object
