Function: rng-ipattern-possible-values

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

Signature

(rng-ipattern-possible-values IPATTERN ACCUM)

Source Code

;; Defined in /usr/src/emacs/lisp/nxml/rng-match.el.gz
(defun rng-ipattern-possible-values (ipattern accum)
  (let ((type (rng--ipattern-type ipattern)))
    (cond ((eq type 'after)
	   (rng-ipattern-possible-values (rng--ipattern-child ipattern)
					 accum))
	  ((eq type 'choice)
	   (let ((members (rng--ipattern-child ipattern)))
	     (while members
	       (setq accum
		     (rng-ipattern-possible-values (car members)
						   accum))
	       (setq members (cdr members))))
	   accum)
	  ((eq type 'value)
	   (let ((value-object (rng--ipattern-value-object ipattern)))
	     (if (stringp value-object)
		 (cons value-object accum)
	       accum)))
	  (t accum))))