Function: rng-process-start-tag

rng-process-start-tag is a byte-compiled function defined in rng-valid.el.gz.

Signature

(rng-process-start-tag TAG-TYPE)

Documentation

TAG-TYPE is start-tag for a start-tag, empty-element for an empty element.

partial-empty-element should be passed as empty-element.

Source Code

;; Defined in /usr/src/emacs/lisp/nxml/rng-valid.el.gz
(defun rng-process-start-tag (tag-type)
  "TAG-TYPE is `start-tag' for a start-tag, `empty-element' for an empty element.
`partial-empty-element' should be passed as empty-element."
  (and rng-collecting-text (rng-flush-text))
  (setq rng-collecting-text nil)
  (setq rng-pending-contents nil)
  (rng-process-namespaces)
  (let ((tag (rng-process-tag-name)))
    (rng-process-attributes)
    ;; set the state appropriately
    (cond ((eq tag-type 'empty-element)
	   (rng-process-start-tag-close)
	   ;; deal with missing content with empty element
	   (when (not (rng-match-empty-content))
	     (rng-match-after)
	     (rng-mark-start-tag-close "Empty content not allowed"))
	   (nxml-ns-pop-state))
	  ((eq tag-type 'start-tag)
	   (rng-process-start-tag-close)
	   (setq rng-collecting-text (rng-match-text-typed-p))
	   (rng-push-tag tag))
	  ((eq tag-type 'partial-start-tag)
	   (rng-process-start-tag-close)
	   (rng-match-after)
	   (nxml-ns-pop-state)))))