Function: rng-possible-type-ids-using

rng-possible-type-ids-using is a byte-compiled function defined in rng-loc.el.gz.

Signature

(rng-possible-type-ids-using FILE TYPE-IDS)

Source Code

;; Defined in /usr/src/emacs/lisp/nxml/rng-loc.el.gz
(defun rng-possible-type-ids-using (file type-ids)
  (let ((rules (rng-get-parsed-schema-locating-file file))
	rule)
    (while rules
      (setq rule (car rules))
      (setq rules (cdr rules))
      (cond ((eq (car rule) 'typeId)
	     (let ((id (cdr (assq 'id (cdr rule)))))
	       (when id
		 (setq type-ids
                       (cons (string-clean-whitespace id)
			     type-ids)))))
	    ((eq (car rule) 'include)
	     (let ((uri (cdr (assq 'rules (cdr rule)))))
	       (when uri
		 (setq type-ids
		       (rng-possible-type-ids-using
			(rng-get-parsed-schema-locating-file
			 (rng-uri-file-name uri))
			type-ids)))))))
    type-ids))