--- !ruby/object:RI::ClassDescription 
attributes: []

class_methods: []

comment: 
- !ruby/struct:SM::Flow::P 
  body: You don't want to use this class. Really. Use XPath, which is a wrapper for this class. Believe me. You don't want to poke around in here. There is strange, dark magic at work in this code. Beware. Go back! Go back while you still can!
constants: 
- !ruby/object:RI::Constant 
  comment: 
  name: LITERAL
  value: /^'([^']*)'|^"([^"]*)"/u
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: RelativeLocationPath
  - !ruby/struct:SM::Flow::VERB 
    body: "  |                                                    Step\n    | (AXIS_NAME '::' | '@' | '')                     AxisSpecifier\n      NodeTest\n        Predicate\n    | '.' | '..'                                      AbbreviatedStep\n  |  RelativeLocationPath '/' Step\n  | RelativeLocationPath '//' Step\n"
  name: AXIS
  value: /^(ancestor|ancestor-or-self|attribute|child|descendant|descendant-or-self|following|following-sibling|namespace|parent|preceding|preceding-sibling|self)::/
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::VERB 
    body: " Returns a 1-1 map of the nodeset\n The contents of the resulting array are either:\n   true/false, if a positive match\n   String, if a name match\n"
  - !ruby/struct:SM::Flow::P 
    body: NodeTest
  - !ruby/struct:SM::Flow::VERB 
    body: "  | ('*' | NCNAME ':' '*' | QNAME)                NameTest\n  | NODE_TYPE '(' ')'                              NodeType\n  | PI '(' LITERAL ')'                            PI\n    | '[' expr ']'                                Predicate\n"
  name: NCNAMETEST
  value: /^(#{NCNAME_STR}):\*/u
- !ruby/object:RI::Constant 
  comment: 
  name: QNAME
  value: Namespace::NAMESPLIT
- !ruby/object:RI::Constant 
  comment: 
  name: NODE_TYPE
  value: /^(comment|text|node)\(\s*\)/m
- !ruby/object:RI::Constant 
  comment: 
  name: PI
  value: /^processing-instruction\(/
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "| VARIABLE_REFERENCE | '(' expr ')' | LITERAL | NUMBER | FunctionCall"
  name: VARIABLE_REFERENCE
  value: /^\$(#{NAME_STR})/u
- !ruby/object:RI::Constant 
  comment: 
  name: NUMBER
  value: /^(\d*\.?\d+)/
- !ruby/object:RI::Constant 
  comment: 
  name: NT
  value: /^comment|text|processing-instruction|node$/
full_name: REXML::Parsers::XPathParser
includes: 
- !ruby/object:RI::IncludedModule 
  name: XMLTokens
instance_methods: 
- !ruby/object:RI::MethodSummary 
  name: AdditiveExpr
- !ruby/object:RI::MethodSummary 
  name: AndExpr
- !ruby/object:RI::MethodSummary 
  name: EqualityExpr
- !ruby/object:RI::MethodSummary 
  name: FilterExpr
- !ruby/object:RI::MethodSummary 
  name: FunctionCall
- !ruby/object:RI::MethodSummary 
  name: LocationPath
- !ruby/object:RI::MethodSummary 
  name: MultiplicativeExpr
- !ruby/object:RI::MethodSummary 
  name: NodeTest
- !ruby/object:RI::MethodSummary 
  name: OrExpr
- !ruby/object:RI::MethodSummary 
  name: PathExpr
- !ruby/object:RI::MethodSummary 
  name: Predicate
- !ruby/object:RI::MethodSummary 
  name: PrimaryExpr
- !ruby/object:RI::MethodSummary 
  name: RelationalExpr
- !ruby/object:RI::MethodSummary 
  name: RelativeLocationPath
- !ruby/object:RI::MethodSummary 
  name: UnaryExpr
- !ruby/object:RI::MethodSummary 
  name: UnionExpr
- !ruby/object:RI::MethodSummary 
  name: abbreviate
- !ruby/object:RI::MethodSummary 
  name: expand
- !ruby/object:RI::MethodSummary 
  name: get_group
- !ruby/object:RI::MethodSummary 
  name: namespaces=
- !ruby/object:RI::MethodSummary 
  name: parse
- !ruby/object:RI::MethodSummary 
  name: parse_args
- !ruby/object:RI::MethodSummary 
  name: predicate
- !ruby/object:RI::MethodSummary 
  name: predicate_to_string
name: XPathParser
superclass: Object
