# File lib/edi4r.rb, line 696 def []( xpath_expr ) return super( xpath_expr ) if xpath_expr.is_a? Integer msg_unsupported = "Unsupported XPath expression: #{xpath_expr}" case xpath_expr when /\A(descendant|child)(-or-self)?::(.*)/ return xpath_matches($1, $2, $3, msg_unsupported) # Currently no real path, no predicate available supported when /\//, /\[/, /\]/ raise IndexError, msg_unsupported when /child::(\w+)/ # ignore & accept default axis "child" return super( $1 ) when /::/ # No other axes supported for now raise IndexError, msg_unsupported else # assume simple element name return super( xpath_expr ) end end