Function: ebnf-dtd-intsubset

ebnf-dtd-intsubset is a byte-compiled function defined in ebnf-dtd.el.gz.

Signature

(ebnf-dtd-intsubset TOKEN)

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/ebnf-dtd.el.gz
;;; doctypedecl ::= '<!DOCTYPE' S Name (S ExternalID)? S?
;;;                 ('[' intSubset ']' S?)? '>'
;;;
;;; intSubset ::= (markupdecl | DeclSep)*
;;;
;;; DeclSep ::= PEReference | S
;;;
;;; markupdecl ::= elementdecl | AttlistDecl | EntityDecl
;;;              | NotationDecl | PI | Comment


(defun ebnf-dtd-intsubset (token)
  ;; PI - Processing Instruction
  (and (eq token 'begin-pi)
       (setq token (ebnf-dtd-pi token)))
  (cond
   ((memq token '(end-subset end-of-input))
    (cons token nil))
   ((eq token 'pe-ref)
    (cons (ebnf-dtd-lex) nil))		; annotation
   ((eq token 'element-decl)
    (ebnf-dtd-elementdecl))		; rule
   ((eq token 'attlist-decl)
    (ebnf-dtd-attlistdecl))		; annotation
   ((eq token 'entity-decl)
    (ebnf-dtd-entitydecl))		; annotation
   ((eq token 'notation-decl)
    (ebnf-dtd-notationdecl))		; annotation
   (t
    (error "Invalid DOCTYPE element"))
   ))