U:RDoc::NormalClass[iI"BaseParser:ETI"REXML::Parsers::BaseParser;TI" Object;To:RDoc::Markup::Document: @parts[o;;[ S:RDoc::Markup::Heading: leveli: textI"Using the Pull Parser;To:RDoc::Markup::Paragraph;[I">This API is experimental, and subject to change.;To:RDoc::Markup::Verbatim;[ I"@parser = PullParser.new( "texttxet" ) ;TI"while parser.has_next? ;TI" res = parser.next ;TI"> puts res[1]['att'] if res.start_tag? and res[0] == 'b' ;TI" end ;T: @format0o; ;[I"LSee the PullEvent class for information on the content of the results. ;TI"MThe data is identical to the arguments passed for the various events to ;TI"the StreamListener API.;To:RDoc::Markup::BlankLineo; ;[I"Notice that:;To; ;[ I"2parser = PullParser.new( "BAD DOCUMENT" ) ;TI"while parser.has_next? ;TI" res = parser.next ;TI"" raise res[1] if res.error? ;TI" end ;T;0o; ;[I"3Nat Price gave me some good ideas for the API.;T: @fileI"$lib/rexml/parsers/baseparser.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[ I" source;TI"R;T: publicFI"$lib/rexml/parsers/baseparser.rb;T[FU:RDoc::Constant[iI" LETTER;FI"'REXML::Parsers::BaseParser::LETTER;T00o;;[;@-;0@-@cRDoc::NormalClass0U;[iI" DIGIT;FI"&REXML::Parsers::BaseParser::DIGIT;T00o;;[;@-;0@-@@:0U;[iI"COMBININGCHAR;FI".REXML::Parsers::BaseParser::COMBININGCHAR;T00o;;[;@-;0@-@@:0U;[iI" EXTENDER;FI")REXML::Parsers::BaseParser::EXTENDER;T00o;;[;@-;0@-@@:0U;[iI"NCNAME_STR;FI"+REXML::Parsers::BaseParser::NCNAME_STR;T00o;;[;@-;0@-@@:0U;[iI" NAME_STR;FI")REXML::Parsers::BaseParser::NAME_STR;T00o;;[;@-;0@-@@:0U;[iI"UNAME_STR;FI"*REXML::Parsers::BaseParser::UNAME_STR;T00o;;[;@-;0@-@@:0U;[iI" NAMECHAR;FI")REXML::Parsers::BaseParser::NAMECHAR;T00o;;[;@-;0@-@@:0U;[iI" NAME;FI"%REXML::Parsers::BaseParser::NAME;T00o;;[;@-;0@-@@:0U;[iI" NMTOKEN;FI"(REXML::Parsers::BaseParser::NMTOKEN;T00o;;[;@-;0@-@@:0U;[iI" NMTOKENS;FI")REXML::Parsers::BaseParser::NMTOKENS;T00o;;[;@-;0@-@@:0U;[iI"REFERENCE;FI"*REXML::Parsers::BaseParser::REFERENCE;T00o;;[;@-;0@-@@:0U;[iI"REFERENCE_RE;FI"-REXML::Parsers::BaseParser::REFERENCE_RE;T00o;;[;@-;0@-@@:0U;[iI"DOCTYPE_START;FI".REXML::Parsers::BaseParser::DOCTYPE_START;T00o;;[;@-;0@-@@:0U;[iI"DOCTYPE_END;FI",REXML::Parsers::BaseParser::DOCTYPE_END;T00o;;[;@-;0@-@@:0U;[iI"DOCTYPE_PATTERN;FI"0REXML::Parsers::BaseParser::DOCTYPE_PATTERN;T00o;;[;@-;0@-@@:0U;[iI"ATTRIBUTE_PATTERN;FI"2REXML::Parsers::BaseParser::ATTRIBUTE_PATTERN;T00o;;[;@-;0@-@@:0U;[iI"COMMENT_START;FI".REXML::Parsers::BaseParser::COMMENT_START;T00o;;[;@-;0@-@@:0U;[iI"COMMENT_PATTERN;FI"0REXML::Parsers::BaseParser::COMMENT_PATTERN;T00o;;[;@-;0@-@@:0U;[iI"CDATA_START;FI",REXML::Parsers::BaseParser::CDATA_START;T00o;;[;@-;0@-@@:0U;[iI"CDATA_END;FI"*REXML::Parsers::BaseParser::CDATA_END;T00o;;[;@-;0@-@@:0U;[iI"CDATA_PATTERN;FI".REXML::Parsers::BaseParser::CDATA_PATTERN;T00o;;[;@-;0@-@@:0U;[iI"XMLDECL_START;FI".REXML::Parsers::BaseParser::XMLDECL_START;T00o;;[;@-;0@-@@:0U;[iI"XMLDECL_PATTERN;FI"0REXML::Parsers::BaseParser::XMLDECL_PATTERN;T00o;;[;@-;0@-@@:0U;[iI"INSTRUCTION_START;FI"2REXML::Parsers::BaseParser::INSTRUCTION_START;T00o;;[;@-;0@-@@:0U;[iI"INSTRUCTION_PATTERN;FI"4REXML::Parsers::BaseParser::INSTRUCTION_PATTERN;T00o;;[;@-;0@-@@:0U;[iI"TAG_MATCH;FI"*REXML::Parsers::BaseParser::TAG_MATCH;T00o;;[;@-;0@-@@:0U;[iI"CLOSE_MATCH;FI",REXML::Parsers::BaseParser::CLOSE_MATCH;T00o;;[;@-;0@-@@:0U;[iI" VERSION;FI"(REXML::Parsers::BaseParser::VERSION;T00o;;[;@-;0@-@@:0U;[iI" ENCODING;FI")REXML::Parsers::BaseParser::ENCODING;T00o;;[;@-;0@-@@:0U;[iI"STANDALONE;FI"+REXML::Parsers::BaseParser::STANDALONE;T00o;;[;@-;0@-@@:0U;[iI"ENTITY_START;FI"-REXML::Parsers::BaseParser::ENTITY_START;T00o;;[;@-;0@-@@:0U;[iI" IDENTITY;FI")REXML::Parsers::BaseParser::IDENTITY;T00o;;[;@-;0@-@@:0U;[iI"ELEMENTDECL_START;FI"2REXML::Parsers::BaseParser::ELEMENTDECL_START;T00o;;[;@-;0@-@@:0U;[iI"ELEMENTDECL_PATTERN;FI"4REXML::Parsers::BaseParser::ELEMENTDECL_PATTERN;T00o;;[;@-;0@-@@:0U;[iI"SYSTEMENTITY;FI"-REXML::Parsers::BaseParser::SYSTEMENTITY;T00o;;[;@-;0@-@@:0U;[iI"ENUMERATION;FI",REXML::Parsers::BaseParser::ENUMERATION;T00o;;[;@-;0@-@@:0U;[iI"NOTATIONTYPE;FI"-REXML::Parsers::BaseParser::NOTATIONTYPE;T00o;;[;@-;0@-@@:0U;[iI"ENUMERATEDTYPE;FI"/REXML::Parsers::BaseParser::ENUMERATEDTYPE;T00o;;[;@-;0@-@@:0U;[iI" ATTTYPE;FI"(REXML::Parsers::BaseParser::ATTTYPE;T00o;;[;@-;0@-@@:0U;[iI" ATTVALUE;FI")REXML::Parsers::BaseParser::ATTVALUE;T00o;;[;@-;0@-@@:0U;[iI"DEFAULTDECL;FI",REXML::Parsers::BaseParser::DEFAULTDECL;T00o;;[;@-;0@-@@:0U;[iI" ATTDEF;FI"'REXML::Parsers::BaseParser::ATTDEF;T00o;;[;@-;0@-@@:0U;[iI"ATTDEF_RE;FI"*REXML::Parsers::BaseParser::ATTDEF_RE;T00o;;[;@-;0@-@@:0U;[iI"ATTLISTDECL_START;FI"2REXML::Parsers::BaseParser::ATTLISTDECL_START;T00o;;[;@-;0@-@@:0U;[iI"ATTLISTDECL_PATTERN;FI"4REXML::Parsers::BaseParser::ATTLISTDECL_PATTERN;T00o;;[;@-;0@-@@:0U;[iI"NOTATIONDECL_START;FI"3REXML::Parsers::BaseParser::NOTATIONDECL_START;T00o;;[;@-;0@-@@:0U;[iI" PUBLIC;FI"'REXML::Parsers::BaseParser::PUBLIC;T00o;;[;@-;0@-@@:0U;[iI" SYSTEM;FI"'REXML::Parsers::BaseParser::SYSTEM;T00o;;[;@-;0@-@@:0U;[iI"TEXT_PATTERN;FI"-REXML::Parsers::BaseParser::TEXT_PATTERN;T00o;;[;@-;0@-@@:0U;[iI"PUBIDCHAR;FI"*REXML::Parsers::BaseParser::PUBIDCHAR;T00o;;[o; ;[I"Entity constants;T;@-;0@-@@:0U;[iI"SYSTEMLITERAL;FI".REXML::Parsers::BaseParser::SYSTEMLITERAL;T00o;;[;@-;0@-@@:0U;[iI"PUBIDLITERAL;FI"-REXML::Parsers::BaseParser::PUBIDLITERAL;T00o;;[;@-;0@-@@:0U;[iI"EXTERNALID;FI"+REXML::Parsers::BaseParser::EXTERNALID;T00o;;[;@-;0@-@@:0U;[iI"NDATADECL;FI"*REXML::Parsers::BaseParser::NDATADECL;T00o;;[;@-;0@-@@:0U;[iI"PEREFERENCE;FI",REXML::Parsers::BaseParser::PEREFERENCE;T00o;;[;@-;0@-@@:0U;[iI"ENTITYVALUE;FI",REXML::Parsers::BaseParser::ENTITYVALUE;T00o;;[;@-;0@-@@:0U;[iI" PEDEF;FI"&REXML::Parsers::BaseParser::PEDEF;T00o;;[;@-;0@-@@:0U;[iI"ENTITYDEF;FI"*REXML::Parsers::BaseParser::ENTITYDEF;T00o;;[;@-;0@-@@:0U;[iI" PEDECL;FI"'REXML::Parsers::BaseParser::PEDECL;T00o;;[;@-;0@-@@:0U;[iI" GEDECL;FI"'REXML::Parsers::BaseParser::GEDECL;T00o;;[;@-;0@-@@:0U;[iI"ENTITYDECL;FI"+REXML::Parsers::BaseParser::ENTITYDECL;T00o;;[;@-;0@-@@:0U;[iI"EREFERENCE;FI"+REXML::Parsers::BaseParser::EREFERENCE;T00o;;[;@-;0@-@@:0U;[iI"DEFAULT_ENTITIES;FI"1REXML::Parsers::BaseParser::DEFAULT_ENTITIES;T00o;;[;@-;0@-@@:0U;[iI"MISSING_ATTRIBUTE_QUOTES;FI"9REXML::Parsers::BaseParser::MISSING_ATTRIBUTE_QUOTES;T00o;;[o; ;[I"FThese are patterns to identify common markup errors, to make the ;TI"%error messages more informative.;T;@-;0@-@@:0[[[I" class;T[[;[[I"new;T@2[:protected[[: private[[I" instance;T[[;[[I"add_listener;F@2[I" empty?;F@2[I" entity;F@2[I"has_next?;F@2[I"normalize;F@2[I" peek;F@2[I" position;F@2[I" pull;F@2[I" stream=;F@2[I"unnormalize;F@2[I" unshift;F@2[;[[;[[I"!need_source_encoding_update?;F@2[I"pull_event;F@2[[U:RDoc::Context::Section[i0o;;[;0;0[@-I"REXML::Parsers;TcRDoc::NormalModule