Class: BaseParser (REXML::Parsers)

Overview
Module Structure
Class Hierarchy
Constants
BaseParser::NCNAME_STR
BaseParser::NAME_STR
BaseParser::UNAME_STR
BaseParser::NAMECHAR
BaseParser::NAME
BaseParser::NMTOKEN
BaseParser::NMTOKENS
BaseParser::REFERENCE
BaseParser::REFERENCE_RE
BaseParser::DOCTYPE_START
BaseParser::DOCTYPE_PATTERN
BaseParser::ATTRIBUTE_PATTERN
BaseParser::COMMENT_START
BaseParser::COMMENT_PATTERN
BaseParser::CDATA_START
BaseParser::CDATA_END
BaseParser::CDATA_PATTERN
BaseParser::XMLDECL_START
BaseParser::XMLDECL_PATTERN
BaseParser::INSTRUCTION_START
BaseParser::INSTRUCTION_PATTERN
BaseParser::TAG_MATCH
BaseParser::CLOSE_MATCH
BaseParser::VERSION
BaseParser::ENCODING
BaseParser::STANDALONE
BaseParser::ENTITY_START
BaseParser::IDENTITY
BaseParser::ELEMENTDECL_START
BaseParser::ELEMENTDECL_PATTERN
BaseParser::SYSTEMENTITY
BaseParser::ENUMERATION
BaseParser::NOTATIONTYPE
BaseParser::ENUMERATEDTYPE
BaseParser::ATTTYPE
BaseParser::ATTVALUE
BaseParser::DEFAULTDECL
BaseParser::ATTDEF
BaseParser::ATTDEF_RE
BaseParser::ATTLISTDECL_START
BaseParser::ATTLISTDECL_PATTERN
BaseParser::NOTATIONDECL_START
BaseParser::PUBLIC
BaseParser::SYSTEM
BaseParser::TEXT_PATTERN
BaseParser::PUBIDCHAR
BaseParser::SYSTEMLITERAL
BaseParser::PUBIDLITERAL
BaseParser::EXTERNALID
BaseParser::NDATADECL
BaseParser::PEREFERENCE
BaseParser::ENTITYVALUE
BaseParser::PEDEF
BaseParser::ENTITYDEF
BaseParser::PEDECL
BaseParser::GEDECL
BaseParser::ENTITYDECL
BaseParser::EREFERENCE
BaseParser::DEFAULT_ENTITIES
BaseParser::MISSING_ATTRIBUTE_QUOTES
Instance Attributes
BaseParser#source [R]
Instance Methods
BaseParser#initialize / 1
BaseParser#add_listener / 1
BaseParser#stream= / 1
BaseParser#position
BaseParser#empty?
BaseParser#has_next?
BaseParser#unshift
BaseParser#peek
BaseParser#pull
BaseParser#entity / 2
BaseParser#normalize / 3
BaseParser#unnormalize / 3
is a submodule of
module: Parsers ( REXML )
inherits from
  Object ( Builtin-Module )
has properties
constant: NCNAME_STR   
constant: NAME_STR   
constant: UNAME_STR   
constant: NAMECHAR   
constant: NAME   
constant: NMTOKEN   
constant: NMTOKENS   
constant: REFERENCE   
constant: REFERENCE_RE   
constant: DOCTYPE_START   
constant: DOCTYPE_PATTERN   
constant: ATTRIBUTE_PATTERN   
constant: COMMENT_START   
constant: COMMENT_PATTERN   
constant: CDATA_START   
constant: CDATA_END   
constant: CDATA_PATTERN   
constant: XMLDECL_START   
constant: XMLDECL_PATTERN   
constant: INSTRUCTION_START   
constant: INSTRUCTION_PATTERN   
constant: TAG_MATCH   
constant: CLOSE_MATCH   
constant: VERSION   
constant: ENCODING   
constant: STANDALONE   
constant: ENTITY_START   
constant: IDENTITY   
constant: ELEMENTDECL_START   
constant: ELEMENTDECL_PATTERN   
constant: SYSTEMENTITY   
constant: ENUMERATION   
constant: NOTATIONTYPE   
constant: ENUMERATEDTYPE   
constant: ATTTYPE   
constant: ATTVALUE   
constant: DEFAULTDECL   
constant: ATTDEF   
constant: ATTDEF_RE   
constant: ATTLISTDECL_START   
constant: ATTLISTDECL_PATTERN   
constant: NOTATIONDECL_START   
constant: PUBLIC   
constant: SYSTEM   
constant: TEXT_PATTERN   
constant: PUBIDCHAR   
constant: SYSTEMLITERAL   
constant: PUBIDLITERAL   
constant: EXTERNALID   
constant: NDATADECL   
constant: PEREFERENCE   
constant: ENTITYVALUE   
constant: PEDEF   
constant: ENTITYDEF   
constant: PEDECL   
constant: GEDECL   
constant: ENTITYDECL   
constant: EREFERENCE   
constant: DEFAULT_ENTITIES   
constant: MISSING_ATTRIBUTE_QUOTES   
method: initialize / 1   
method: add_listener / 1   
attribute: source [R]   
method: stream= / 1   
method: position   
method: empty?   
method: has_next?   
method: unshift   
method: peek   
method: pull   
method: entity / 2   
method: normalize / 3   
method: unnormalize / 3   
is defined at
#27 in rexml/parsers/baseparser.rb  

Overview

Module Structure

  module: <Toplevel Module>
  module: <Built-in Module>
  module: REXML
  module: Parsers
class: BaseParser     

Class Hierarchy

Object ( Builtin-Module )
has properties
method: dclone   
BaseParser ( REXML::Parsers )
has properties
constant: NCNAME_STR   
constant: NAME_STR   
constant: UNAME_STR   
constant: NAMECHAR   
constant: NAME   
constant: NMTOKEN   
constant: NMTOKENS   
constant: REFERENCE   
constant: REFERENCE_RE   
constant: DOCTYPE_START   
constant: DOCTYPE_PATTERN   
constant: ATTRIBUTE_PATTERN   
constant: COMMENT_START   
constant: COMMENT_PATTERN   
constant: CDATA_START   
constant: CDATA_END   
constant: CDATA_PATTERN   
constant: XMLDECL_START   
constant: XMLDECL_PATTERN   
constant: INSTRUCTION_START   
constant: INSTRUCTION_PATTERN   
constant: TAG_MATCH   
constant: CLOSE_MATCH   
constant: VERSION   
constant: ENCODING   
constant: STANDALONE   
constant: ENTITY_START   
constant: IDENTITY   
constant: ELEMENTDECL_START   
constant: ELEMENTDECL_PATTERN   
constant: SYSTEMENTITY   
constant: ENUMERATION   
constant: NOTATIONTYPE   
constant: ENUMERATEDTYPE   
constant: ATTTYPE   
constant: ATTVALUE   
constant: DEFAULTDECL   
constant: ATTDEF   
constant: ATTDEF_RE   
constant: ATTLISTDECL_START   
constant: ATTLISTDECL_PATTERN   
constant: NOTATIONDECL_START   
constant: PUBLIC   
constant: SYSTEM   
constant: TEXT_PATTERN   
constant: PUBIDCHAR   
constant: SYSTEMLITERAL   
constant: PUBIDLITERAL   
constant: EXTERNALID   
constant: NDATADECL   
constant: PEREFERENCE   
constant: ENTITYVALUE   
constant: PEDEF   
constant: ENTITYDEF   
constant: PEDECL   
constant: GEDECL   
constant: ENTITYDECL   
constant: EREFERENCE   
constant: DEFAULT_ENTITIES   
constant: MISSING_ATTRIBUTE_QUOTES   
method: initialize / 1   
method: add_listener / 1   
attribute: source [R]   
method: stream= / 1   
method: position   
method: empty?   
method: has_next?   
method: unshift   
method: peek   
method: pull   
method: entity / 2   
method: normalize / 3   
method: unnormalize / 3   

Constants

BaseParser::NCNAME_STR

#28 in rexml/parsers/baseparser.rb

NCNAME_STR = '[\w:][\-\w\d.]*'   

BaseParser::NAME_STR

#29 in rexml/parsers/baseparser.rb

NAME_STR = "(?:(#{NCNAME_STR}):)?(#{NCNAME_STR})"   

BaseParser::UNAME_STR

#30 in rexml/parsers/baseparser.rb

UNAME_STR = "(?:#{NCNAME_STR}:)?#{NCNAME_STR}"   

BaseParser::NAMECHAR

#32 in rexml/parsers/baseparser.rb

NAMECHAR = '[\-\w\d\.:]'   

BaseParser::NAME

#33 in rexml/parsers/baseparser.rb

NAME = "([\\w:]#{NAMECHAR}*)"   

BaseParser::NMTOKEN

#34 in rexml/parsers/baseparser.rb

NMTOKEN = "(?:#{NAMECHAR})+"   

BaseParser::NMTOKENS

#35 in rexml/parsers/baseparser.rb

NMTOKENS = "#{NMTOKEN}(\\s+#{NMTOKEN})*"   

BaseParser::REFERENCE

#36 in rexml/parsers/baseparser.rb

REFERENCE = "(?:&#{NAME};|&#\\d+;|&#x[0-9a-fA-F]+;)"   

BaseParser::REFERENCE_RE

#37 in rexml/parsers/baseparser.rb

REFERENCE_RE = /#{REFERENCE}/   

BaseParser::DOCTYPE_START

#39 in rexml/parsers/baseparser.rb

DOCTYPE_START = /\A\s*<!DOCTYPE\s/um   

BaseParser::DOCTYPE_PATTERN

#40 in rexml/parsers/baseparser.rb

DOCTYPE_PATTERN = /\s*<!DOCTYPE\s+(.*?)(\[|>)/um   

BaseParser::ATTRIBUTE_PATTERN

#41 in rexml/parsers/baseparser.rb

ATTRIBUTE_PATTERN = /\s*(#{NAME_STR})\s*=\s*(["'])(.*?)\4/um   

BaseParser::COMMENT_START

#42 in rexml/parsers/baseparser.rb

COMMENT_START = /\A<!--/u   

BaseParser::COMMENT_PATTERN

#43 in rexml/parsers/baseparser.rb

COMMENT_PATTERN = /<!--(.*?)-->/um   

BaseParser::CDATA_START

#44 in rexml/parsers/baseparser.rb

CDATA_START = /\A<!\[CDATA\[/u   

BaseParser::CDATA_END

#45 in rexml/parsers/baseparser.rb

CDATA_END = /^\s*\]\s*>/um   

BaseParser::CDATA_PATTERN

#46 in rexml/parsers/baseparser.rb

CDATA_PATTERN = /<!\[CDATA\[(.*?)\]\]>/um   

BaseParser::XMLDECL_START

#47 in rexml/parsers/baseparser.rb

XMLDECL_START = /\A<\?xml\s/u;   

BaseParser::XMLDECL_PATTERN

#48 in rexml/parsers/baseparser.rb

XMLDECL_PATTERN = /<\?xml\s+(.*?)\?>/um   

BaseParser::INSTRUCTION_START

#49 in rexml/parsers/baseparser.rb

INSTRUCTION_START = /\A<\?/u   

BaseParser::INSTRUCTION_PATTERN

#50 in rexml/parsers/baseparser.rb

INSTRUCTION_PATTERN = /<\?(.*?)(\s+.*?)?\?>/um   

BaseParser::TAG_MATCH

#51 in rexml/parsers/baseparser.rb

TAG_MATCH = /^<((?>#{NAME_STR}))\s*((?>\s+#{UNAME_STR}\s*=\s*(["']).*?\5)*)\s*(\/)?>/um   

BaseParser::CLOSE_MATCH

#52 in rexml/parsers/baseparser.rb

CLOSE_MATCH = /^\s*<\/(#{NAME_STR})\s*>/um   

BaseParser::VERSION

#54 in rexml/parsers/baseparser.rb

VERSION = /\bversion\s*=\s*["'](.*?)['"]/um   

BaseParser::ENCODING

#55 in rexml/parsers/baseparser.rb

ENCODING = /\bencoding\s*=\s*["'](.*?)['"]/um   

BaseParser::STANDALONE

#56 in rexml/parsers/baseparser.rb

STANDALONE = /\bstandalone\s*=\s["'](.*?)['"]/um   

BaseParser::ENTITY_START

#58 in rexml/parsers/baseparser.rb

ENTITY_START = /^\s*<!ENTITY/   

BaseParser::IDENTITY

#59 in rexml/parsers/baseparser.rb

IDENTITY = /^([!\*\w\-]+)(\s+#{NCNAME_STR})?(\s+["'](.*?)['"])?(\s+['"](.*?)["'])?/u   

BaseParser::ELEMENTDECL_START

#60 in rexml/parsers/baseparser.rb

ELEMENTDECL_START = /^\s*<!ELEMENT/um   

BaseParser::ELEMENTDECL_PATTERN

#61 in rexml/parsers/baseparser.rb

ELEMENTDECL_PATTERN = /^\s*(<!ELEMENT.*?)>/um   

BaseParser::SYSTEMENTITY

#62 in rexml/parsers/baseparser.rb

SYSTEMENTITY = /^\s*(%.*?;)\s*$/um   

BaseParser::ENUMERATION

#63 in rexml/parsers/baseparser.rb

ENUMERATION = "\\(\\s*#{NMTOKEN}(?:\\s*\\|\\s*#{NMTOKEN})*\\s*\\)"   

BaseParser::NOTATIONTYPE

#64 in rexml/parsers/baseparser.rb

NOTATIONTYPE = "NOTATION\\s+\\(\\s*#{NAME}(?:\\s*\\|\\s*#{NAME})*\\s*\\)"   

BaseParser::ENUMERATEDTYPE

#65 in rexml/parsers/baseparser.rb

ENUMERATEDTYPE = "(?:(?:#{NOTATIONTYPE})|(?:#{ENUMERATION}))"   

BaseParser::ATTTYPE

#66 in rexml/parsers/baseparser.rb

ATTTYPE = "(CDATA|ID|IDREF|IDREFS|ENTITY|ENTITIES|NMTOKEN|NMTOKENS|#{ENUMERATEDTYPE})"   

BaseParser::ATTVALUE

#67 in rexml/parsers/baseparser.rb

ATTVALUE = "(?:\"((?:[^<&\"]|#{REFERENCE})*)\")|(?:'((?:[^<&']|#{REFERENCE})*)')"   

BaseParser::DEFAULTDECL

#68 in rexml/parsers/baseparser.rb

DEFAULTDECL = "(#REQUIRED|#IMPLIED|(?:(#FIXED\\s+)?#{ATTVALUE}))"   

BaseParser::ATTDEF

#69 in rexml/parsers/baseparser.rb

ATTDEF = "\\s+#{NAME}\\s+#{ATTTYPE}\\s+#{DEFAULTDECL}"   

BaseParser::ATTDEF_RE

#70 in rexml/parsers/baseparser.rb

ATTDEF_RE = /#{ATTDEF}/   

BaseParser::ATTLISTDECL_START

#71 in rexml/parsers/baseparser.rb

ATTLISTDECL_START = /^\s*<!ATTLIST/um   

BaseParser::ATTLISTDECL_PATTERN

#72 in rexml/parsers/baseparser.rb

ATTLISTDECL_PATTERN = /^\s*<!ATTLIST\s+#{NAME}(?:#{ATTDEF})*\s*>/um   

BaseParser::NOTATIONDECL_START

#73 in rexml/parsers/baseparser.rb

NOTATIONDECL_START = /^\s*<!NOTATION/um   

BaseParser::PUBLIC

#74 in rexml/parsers/baseparser.rb

PUBLIC = /^\s*<!NOTATION\s+(\w[\-\w]*)\s+(PUBLIC)\s+(["'])(.*?)\3(?:\s+(["'])(.*?)\5)?\s*>/um   

BaseParser::SYSTEM

#75 in rexml/parsers/baseparser.rb

SYSTEM = /^\s*<!NOTATION\s+(\w[\-\w]*)\s+(SYSTEM)\s+(["'])(.*?)\3\s*>/um   

BaseParser::TEXT_PATTERN

#77 in rexml/parsers/baseparser.rb

TEXT_PATTERN = /\A([^<]*)/um   

BaseParser::PUBIDCHAR

#80 in rexml/parsers/baseparser.rb

PUBIDCHAR = "\x20\x0D\x0Aa-zA-Z0-9\\-()+,./:=?;!*@$_%#"   

BaseParser::SYSTEMLITERAL

#81 in rexml/parsers/baseparser.rb

SYSTEMLITERAL = %Q{((?:"[^"]*")|(?:'[^']*'))}   

BaseParser::PUBIDLITERAL

#82 in rexml/parsers/baseparser.rb

PUBIDLITERAL = %Q{("[#{PUBIDCHAR}']*"|'[#{PUBIDCHAR}]*')}   

BaseParser::EXTERNALID

#83 in rexml/parsers/baseparser.rb

EXTERNALID = "(?:(?:(SYSTEM)\\s+#{SYSTEMLITERAL})|(?:(PUBLIC)\\s+#{PUBIDLITERAL}\\s+#{SYSTEMLITERAL}))"   

BaseParser::NDATADECL

#84 in rexml/parsers/baseparser.rb

NDATADECL = "\\s+NDATA\\s+#{NAME}"   

BaseParser::PEREFERENCE

#85 in rexml/parsers/baseparser.rb

PEREFERENCE = "%#{NAME};"   

BaseParser::ENTITYVALUE

#86 in rexml/parsers/baseparser.rb

ENTITYVALUE = %Q{((?:"(?:[^%&"]|#{PEREFERENCE}|#{REFERENCE})*")|(?:'([^%&']|#{PEREFERENCE}|#{REFERENCE})*'))}   

BaseParser::PEDEF

#87 in rexml/parsers/baseparser.rb

PEDEF = "(?:#{ENTITYVALUE}|#{EXTERNALID})"   

BaseParser::ENTITYDEF

#88 in rexml/parsers/baseparser.rb

ENTITYDEF = "(?:#{ENTITYVALUE}|(?:#{EXTERNALID}(#{NDATADECL})?))"   

BaseParser::PEDECL

#89 in rexml/parsers/baseparser.rb

PEDECL = "<!ENTITY\\s+(%)\\s+#{NAME}\\s+#{PEDEF}\\s*>"   

BaseParser::GEDECL

#90 in rexml/parsers/baseparser.rb

GEDECL = "<!ENTITY\\s+#{NAME}\\s+#{ENTITYDEF}\\s*>"   

BaseParser::ENTITYDECL

#91 in rexml/parsers/baseparser.rb

ENTITYDECL = /\s*(?:#{GEDECL})|(?:#{PEDECL})/um   

BaseParser::EREFERENCE

#93 in rexml/parsers/baseparser.rb

EREFERENCE = /&(?!#{NAME};)/   

BaseParser::DEFAULT_ENTITIES

#95 in rexml/parsers/baseparser.rb

DEFAULT_ENTITIES = {   

BaseParser::MISSING_ATTRIBUTE_QUOTES

#107 in rexml/parsers/baseparser.rb

MISSING_ATTRIBUTE_QUOTES = /^<#{NAME_STR}\s+#{NAME_STR}\s*=\s*[^"']/um   

Instance Attributes

BaseParser#source [R]

#130 in rexml/parsers/baseparser.rb

Instance Methods

BaseParser#initialize / 1

#109 in rexml/parsers/baseparser.rb

initialize ( source )

BaseParser#add_listener / 1

#113 in rexml/parsers/baseparser.rb

add_listener ( listener )

BaseParser#stream= / 1

#132 in rexml/parsers/baseparser.rb

stream= ( source )

BaseParser#position

#142 in rexml/parsers/baseparser.rb

position

BaseParser#empty?

#152 in rexml/parsers/baseparser.rb

empty?

BaseParser#has_next?

#157 in rexml/parsers/baseparser.rb

has_next?

BaseParser#unshift

#163 in rexml/parsers/baseparser.rb

unshift

BaseParser#peek

#173 in rexml/parsers/baseparser.rb

peek

BaseParser#pull

#188 in rexml/parsers/baseparser.rb

pull

BaseParser#entity / 2

#423 in rexml/parsers/baseparser.rb

entity ( reference ,
  entities )

BaseParser#normalize / 3

#434 in rexml/parsers/baseparser.rb

normalize ( input ,
  entities=nil ,
  entity_filter=nil )

BaseParser#unnormalize / 3

#450 in rexml/parsers/baseparser.rb

unnormalize ( string ,
  entities=nil ,
  filter=nil )