       (forward-sexp)
       (setq end (point))
       (setq tag-pos (list beg end))
-      (unless (search-forward-regexp "\\s-+\\([A-Za-z0-9:_]+\\s-+\\)?\\({\\)" nil t)
+      (unless (search-forward-regexp "\\s-+\\([A-Za-z0-9:_]+\\s-*\\)?\\({\\)" nil t)
         (error "error parsing namespace"))
       ;; get bounds of opening delimiter `{'
       (goto-char (match-beginning 2))

      (setq beg (match-beginning 1))
      (setq end (match-end 1))
      ;; note string-trim alters match-data
      (if (and title (setq title (string-trim title)))

          (setq name-pos (list beg (- end 1)))
        (setq name-pos (list (1+ (cadr tag-pos)) (1+ (cadr tag-pos))))
        (setq title outre-anon-name))
      (list (list title (if parent
                            (concat parent "::" title)
                          title))
            tag-pos name-pos delimiter-pos))))

(defun outre--get-full-extant (ns)

  "Parse the namespace starting at LOC.
PARENT contains any enclosing namespaces."
  (save-excursion
    (let (tag-pos name-pos delimiter-pos title beg end title-trimmed)
      (goto-char loc)
      (unless (outre--at-ns-begin-p loc)
        (error "not looking at valid namespace"))
