# File DelimScanner.rb, line 335
        def scanTagged( opentag=nil, closetag=nil, prefix='\s*', options={} )
                prefix ||= '\s*'

                ldel = opentag || %Q,<\\w+(?:#{ makeDelimPattern(%q:'":) }|[^>])*>,
                rdel = closetag
                raise ArgumentError, "Options argument must be a hash" unless options.kind_of?( Hash )

                failmode      = options[:fail]
                bad           = if options[:reject].is_a?( Array ) then
                                          options[:reject].join("|")
                                  else
                                          (options[:reject] || '')
                                  end
                ignore        = if options[:ignore].is_a?( Array ) then
                                          options[:ignore].join("|")
                                  else
                                          (options[:ignore] || '')
                                  end

                self.matchError       = nil
                result                        = nil
                startPos              = self.pointer

                depth = self.scanDepth

                begin
                        result = matchTagged( prefix, ldel, rdel, failmode, bad, ignore )
                rescue MatchFailure => e
                        debugMsg( depth + 1, "Match error: %s" % e.message )
                        self.matchError = e.message
                        self.pointer = startPos
                        result = nil
                rescue => e
                        self.pointer = startPos
                        Kernel::raise
                end

                return result
        end