Current File : //proc/self/root/kunden/usr/share/emacs/27.2/lisp/nxml/rng-cmpct.elc |
;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; with all optimizations.
;;; This file uses dynamic docstrings, first added in Emacs 19.29.
;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\207" [require nxml-util rng-util rng-uri rng-pttrn] 2)
#@90 Load a schema in RELAX NG compact syntax from FILENAME.
Return a pattern.
(fn FILENAME)
(defalias 'rng-c-load-schema #[257 "\300!\207" [rng-c-parse-file] 3 (#$ . 524)])
(define-error 'rng-c-incorrect-schema "Incorrect schema" '(rng-error nxml-file-parse-error))
#@29
(fn FILENAME POS MESSAGE)
(defalias 'rng-c-signal-incorrect-schema #[771 "\300\301$\207" [nxml-signal-file-parse-error rng-c-incorrect-schema] 8 (#$ . 794)])
#@58 List of strings that are keywords in the compact syntax.
(defconst rng-c-keywords '("attribute" "default" "datatypes" "div" "element" "empty" "external" "grammar" "include" "inherit" "list" "mixed" "namespace" "notAllowed" "parent" "start" "string" "text" "token") (#$ . 963))
#@62 Regular expression to match a keyword in the compact syntax.
(defconst rng-c-anchored-keyword-re (byte-code "\301\302!\303Q\207" [rng-c-keywords "\\`\\(" regexp-opt "\\)\\'"] 3) (#$ . 1246))
#@46 Syntax table for parsing the compact syntax.
(defvar rng-c-syntax-table nil (#$ . 1444))
(byte-code "\204+ \301 \302\303\304#\210\302\305\306#\210\302\307\310#\210\302\311\310#\210\302\312\310#\210\302\313\314#\210\301\207" [rng-c-syntax-table make-syntax-table modify-syntax-entry 35 "<" 10 ">" 45 "w" 46 95 58 "_"] 4)
#@54 Regular expression to match a single-quoted literal.
(defconst rng-c-literal-1-re "'\\(''\\([^']\\|'[^']\\|''[^']\\)*''\\|[^'\n]*\\)'" (#$ . 1778))
#@54 Regular expression to match a double-quoted literal.
(defconst rng-c-literal-2-re (replace-regexp-in-string "'" "\"" rng-c-literal-1-re) (#$ . 1932))
(defconst rng-c-ncname-re "\\w+")
(defconst rng-c-anchored-ncname-re (concat "\\`" rng-c-ncname-re "\\'"))
#@60 Regular expression to match a token in the compact syntax.
(defconst rng-c-token-re (concat "[&|]=\\|[][()|&,*+?{}~=-]\\|" rng-c-literal-1-re #1="\\|" rng-c-literal-2-re #1# rng-c-ncname-re "\\(:\\(\\*\\|" rng-c-ncname-re "\\)\\)?\\|\\\\" rng-c-ncname-re "\\|>>") (#$ . 2195))
(defalias 'rng-c-init-buffer #[0 "\302\303\304!\210\305 !\207" [case-fold-search rng-c-syntax-table nil set-buffer-multibyte t set-syntax-table] 2])
(defvar rng-c-current-token nil)
(make-variable-buffer-local 'rng-c-current-token)
(defalias 'rng-c-advance #[0 "\302!\203 \303\304!\304\225b\210\305d!\207`dU\203 \306\211\207\307\310!\207" [rng-c-token-re rng-c-current-token looking-at match-string 0 forward-comment "" rng-c-error "Invalid token"] 2])
(defconst rng-c-anchored-datatype-name-re (concat "\\`" rng-c-ncname-re ":" rng-c-ncname-re "\\'"))
(defalias 'rng-c-current-token-keyword-p #[0 "\302 \"\207" [rng-c-anchored-keyword-re rng-c-current-token string-match] 3])
(put 'rng-c-current-token-keyword-p 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'rng-c-current-token-prefixed-name-p #[0 "\302 \"\207" [rng-c-anchored-datatype-name-re rng-c-current-token string-match] 3])
(put 'rng-c-current-token-prefixed-name-p 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'rng-c-current-token-literal-p #[0 "\301\302\"\207" [rng-c-current-token string-match "\\`['\"]"] 3])
(put 'rng-c-current-token-literal-p 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'rng-c-current-token-quoted-identifier-p #[0 "\301\302\"\207" [rng-c-current-token string-match "\\`\\\\"] 3])
(put 'rng-c-current-token-quoted-identifier-p 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'rng-c-current-token-ncname-p #[0 "\302 \"\207" [rng-c-anchored-ncname-re rng-c-current-token string-match] 3])
(put 'rng-c-current-token-ncname-p 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'rng-c-current-token-ns-name-p #[0 "G\211\301V\205 SH\302U\207" [rng-c-current-token 0 42] 3])
(put 'rng-c-current-token-ns-name-p 'byte-optimizer 'byte-compile-inline-expand)
(defvar rng-c-inherit-namespace nil)
(defvar rng-c-default-namespace nil)
(defvar rng-c-default-namespace-declared nil)
#@34 Alist of namespace declarations.
(defvar rng-c-namespace-decls nil (#$ . 4387))
(defconst rng-c-no-namespace nil)
(defalias 'rng-c-declare-standard-namespaces #[0 "\305B B\n?\205 \205 \211\207" [nxml-xml-namespace-uri rng-c-namespace-decls rng-c-default-namespace-declared rng-c-inherit-namespace rng-c-default-namespace "xml"] 2])
#@22
(fn PREFIXED-NAME)
(defalias 'rng-c-expand-name #[257 "\300\301\"\302\303\304\305#!\304T\"\"\207" [string-match ":" rng-make-name rng-c-lookup-prefix substring 0] 8 (#$ . 4732)])
#@15
(fn PREFIX)
(defalias 'rng-c-lookup-prefix #[257 "\301\"\211\204
\302\303\"\210\211A\207" [rng-c-namespace-decls assoc rng-c-error "Undefined prefix %s"] 5 (#$ . 4924)])
#@18
(fn ATTRIBUTE)
(defalias 'rng-c-unqualified-namespace #[257 "\211\203 \207 \207" [rng-c-no-namespace rng-c-default-namespace] 2 (#$ . 5106)])
(defalias 'rng-c-make-context #[0 " B\207" [rng-c-default-namespace rng-c-namespace-decls] 2])
(defconst rng-string-datatype (rng-make-datatype rng-builtin-datatypes-uri "string"))
(defconst rng-token-datatype (rng-make-datatype rng-builtin-datatypes-uri "token"))
#@119 Alist of datatype declarations.
Contains a list of pairs (PREFIX . URI) where PREFIX is a string
and URI is a symbol.
(defvar rng-c-datatype-decls nil (#$ . 5525))
(defalias 'rng-c-declare-standard-datatypes #[0 "\302B B\211\207" [rng-xsd-datatypes-uri rng-c-datatype-decls "xsd"] 2])
#@15
(fn PREFIX)
(defalias 'rng-c-lookup-datatype-prefix #[257 "\301\"\211\204
\302\303\"\210\211A\207" [rng-c-datatype-decls assoc rng-c-error "Undefined prefix %s"] 5 (#$ . 5818)])
#@22
(fn PREFIXED-NAME)
(defalias 'rng-c-expand-datatype #[257 "\300\301\"\302\303\304\305#!\304T\"\"\207" [string-match ":" rng-make-datatype rng-c-lookup-datatype-prefix substring 0] 8 (#$ . 6008)])
(defvar rng-c-current-grammar nil)
(defvar rng-c-parent-grammar nil)
(defalias 'rng-c-make-grammar #[0 "\300\301\302\"\207" [make-hash-table :test equal] 3])
(defconst rng-c-about-override-slot 0)
(defconst rng-c-about-combine-slot 1)
#@261 Return a def object for NAME.
A def object is a pair (ABOUT . REF) where REF is returned by
`rng-make-ref'.
ABOUT is a two-element vector [OVERRIDE COMBINE].
COMBINE is either nil, choice or interleave.
OVERRIDE is either nil, require or t.
(fn NAME GRAMMAR)
(defalias 'rng-c-lookup-create #[514 "\300\"\211\203\f \211\202 \301\302\211\"\303!B\262\304#\210\211\207" [gethash vector nil rng-make-ref puthash] 7 (#$ . 6453)])
#@13
(fn NAME)
(defalias 'rng-c-make-ref #[257 "\204 \301\302!\210\303\"A\207" [rng-c-current-grammar rng-c-error "Reference not in a grammar" rng-c-lookup-create] 4 (#$ . 6892)])
#@13
(fn NAME)
(defalias 'rng-c-make-parent-ref #[257 "\204 \301\302!\210\303\"A\207" [rng-c-parent-grammar rng-c-error "Reference to non-existent parent grammar" rng-c-lookup-create] 4 (#$ . 7079)])
#@40 Contains a list of (NAME . DEF) pairs.
(defvar rng-c-overrides nil (#$ . 7286))
#@25
(fn DEF COMBINE NAME)
(defalias 'rng-c-merge-combine #[771 "@\211H\203! \211\203 =\206\"