Function: rng-ipattern-possible-attributes

rng-ipattern-possible-attributes is a byte-compiled function defined in rng-match.el.gz.

Signature

(rng-ipattern-possible-attributes IPATTERN ACCUM)

Source Code

;; Defined in /usr/src/emacs/lisp/nxml/rng-match.el.gz
(defun rng-ipattern-possible-attributes (ipattern accum)
  (let ((type (rng--ipattern-type ipattern)))
    (cond ((eq type 'after)
	   (rng-ipattern-possible-attributes (rng--ipattern-child ipattern)
					     accum))
	  ((memq type '(choice interleave group))
	   (let ((members (rng--ipattern-child ipattern)))
	     (while members
	       (setq accum
		     (rng-ipattern-possible-attributes (car members)
						       accum))
	       (setq members (cdr members))))
	   accum)
	  ((eq type 'attribute)
	   (rng-name-class-possible-names
	    (rng--ipattern-name-class ipattern)
	    accum))
	  ((eq type 'one-or-more)
	   (rng-ipattern-possible-attributes
	    (rng--ipattern-child ipattern)
	    accum))
	  (t accum))))