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)))))