# 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