%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/share/emacs/27.2/lisp/nxml/
Upload File :
Create Path :
Current File : //usr/local/share/emacs/27.2/lisp/nxml/rng-valid.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!\210\300\305!\210\300\306!\210\300\307!\210\310\311\312\313\314\315\314\316\314\317&	\210\320\321\322\323#\210\324\325\326\327\330DD\331\332\333%\210\324\334\326\327\335DD\336\332\333%\210\324\337\326\327\340DD\341\332\342%\210\324\343\326\327\344DD\345\332\342%\207" [require xmltok nxml-enc nxml-util nxml-ns rng-match rng-util rng-loc custom-declare-group relax-ng nil "Validation of XML using RELAX NG." :group text nxml languages custom-declare-face rng-error ((t (:inherit font-lock-warning-face))) "Face for highlighting XML errors." custom-declare-variable rng-state-cache-distance funcall function #[0 "\300\207" [2000] 1] "Distance in characters between each parsing and validation state cache." :type integer rng-validate-chunk-size #[0 "\300\207" [8000] 1] "Number of characters in a RELAX NG validation chunk.\nA validation chunk will be the smallest chunk that is at least this\nsize and ends with a tag.  After validating a chunk, validation will\ncontinue only if Emacs is still idle." rng-validate-delay #[0 "\300\207" [1.5] 1] "Time in seconds that Emacs must be idle before starting a full validation.\nA full validation continues until either validation is up to date\nor Emacs is no longer idle." number rng-validate-quick-delay #[0 "\300\207" [0.3] 1] "Time in seconds that Emacs must be idle before starting a quick validation.\nA quick validation validates at most one chunk."] 10)
(defvar rng-validate-timer nil)
(byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local rng-validate-timer put permanent-local t] 4)
(defvar rng-validate-quick-timer nil)
(byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local rng-validate-quick-timer put permanent-local t] 4)
#@103 Number of errors in the current buffer.
Always equal to number of overlays with category `rng-error'.
(defvar rng-error-count nil (#$ . 2193))
(make-variable-buffer-local 'rng-error-count)
#@88 Overlay in this buffer whose `help-echo' property was last printed.
It is nil if none.
(defvar rng-message-overlay nil (#$ . 2388))
(make-variable-buffer-local 'rng-message-overlay)
#@237 Position at which message from overlay should be inhibited.
If point is equal to this and the error overlay around
point is `rng-message-overlay', then the `help-echo' property
of the error overlay should not be printed with `message'.
(defvar rng-message-overlay-inhibit-point nil (#$ . 2577))
(make-variable-buffer-local 'rng-message-overlay-inhibit-point)
#@64 Non-nil if `rng-message-overlay' is still the current message.
(defvar rng-message-overlay-current nil (#$ . 2942))
(make-variable-buffer-local 'rng-message-overlay-current)
#@212 Stack of names of open elements represented as a list.
Each member of the list is either t or a (PREFIX . LOCAL-NAME) pair.
(PREFIX . LOCAL-NAME) is pushed for a start-tag; t is pushed
for a mismatched end-tag.
(defvar rng-open-elements nil (#$ . 3123))
#@319 Text content of current element that has yet to be processed.
Value is a list of segments (VALUE START END) positions in reverse
order.  VALUE is a string or nil.  If VALUE is nil, then the value is
the string between START and END.  A segment can also be nil
indicating an unresolvable entity or character reference.
(defvar rng-pending-contents nil (#$ . 3384))
(defvar rng-collecting-text nil)
#@59 Last position where validation is known to be up to date.
(defvar rng-validate-up-to-date-end nil (#$ . 3787))
(make-variable-buffer-local 'rng-validate-up-to-date-end)
#@500 Marker for the start of the conditionally up-to-date region.
It is nil if there is no conditionally up-to-date region.  The
conditionally up-to-date region must be such that for any cached
state S with position P in the conditionally up-to-date region,
if at some point it is determined that S becomes correct for P,
then all states with position >= P in the conditionally up to
date region must also then be correct and all errors between P
and the end of the region must then be correctly marked.
(defvar rng-conditional-up-to-date-start nil (#$ . 3963))
(make-variable-buffer-local 'rng-conditional-up-to-date-start)
#@171 Marker for the end of the conditionally up-to-date region.
It is nil if there is no conditionally up-to-date region.
See the variable `rng-conditional-up-to-date-start'.
(defvar rng-conditional-up-to-date-end nil (#$ . 4590))
(make-variable-buffer-local 'rng-conditional-up-to-date-end)
#@96 Non-nil means we are currently parsing just to compute the state.
Should be dynamically bound.
(defvar rng-parsing-for-state nil (#$ . 4883))
(defvar rng-dtd nil)
(make-variable-buffer-local 'rng-dtd)
#@103 Non-nil if Rng-Validate mode is enabled.
Use the command `rng-validate-mode' to change this variable.
(defvar rng-validate-mode nil (#$ . 5091))
(make-variable-buffer-local 'rng-validate-mode)
#@1473 Minor mode performing continual validation against a RELAX NG schema.

If called interactively, enable Rng-Validate mode if ARG is positive,
and disable it if ARG is zero or negative.  If called from Lisp, also
enable the mode if ARG is omitted or nil, and toggle it if ARG is
`toggle'; disable the mode otherwise.

Checks whether the buffer is a well-formed XML 1.0 document,
conforming to the XML Namespaces Recommendation and valid against a
RELAX NG schema.  The mode-line indicates whether it is or not.  Any
parts of the buffer that cause it not to be are considered errors and
are highlighted with face `rng-error'.  A description of each error is
available as a tooltip.  \[rng-next-error] goes to the next error
after point.  Clicking mouse-1 on the word `Invalid' in the mode-line
goes to the first error in the buffer.  If the buffer changes, then it
will be automatically rechecked when Emacs becomes idle; the
rechecking will be paused whenever there is input pending.

By default, uses a vacuous schema that allows any well-formed XML
document.  A schema can be specified explicitly using
\[rng-set-schema-file-and-validate], or implicitly based on the buffer's
file name or on the root element name.  In each case the schema must
be a RELAX NG schema using the compact schema (such schemas
conventionally have a suffix of `.rnc').  The variable
`rng-schema-locating-files' specifies files containing rules
to use for finding the schema.

(fn &optional ARG)
(defalias 'rng-validate-mode #[256 "\306 \307=\203
?\202\310!\311V\214~\210\312 \313\211\313\314\311\315\316\317!\320\"\321$\216\322ed\"\210,\210\323edT\"\210e)\324 \210\311\325\326\327\313#\210\203a\330\216\212.\203Y./=\203]\331\313!\210*\202|\332 \210\325\333\332\313#\210\325\334\335\313#\210\325\336\337\313#\210\325\340\341\313#\210\342\343\203\206\344\202\207\345\"\210\346\347!\203\253\306 \203\233\211\306 \232\203\253\350\351\352\203\246\353\202\247\354#\266\210\355 \210\207" [rng-validate-mode buffer-undo-list inhibit-read-only inhibit-modification-hooks rng-validate-up-to-date-end rng-error-count current-message toggle prefix-numeric-value 0 buffer-modified-p t make-byte-code "\300?\205\301\302!\207" vconcat vector [restore-buffer-modified-p nil] 2 rng-clear-cached-state rng-clear-overlays rng-clear-conditional-region remove-hook rng-schema-change-hook rng-validate-clear #[0 "\204\301\302!\210\303\304\305\302\306$\210\303\307\310\302\306$\210\303\311\312\302\306$\210\303\313\314\302\306$\210\303\315\316\302\306$\210\317 \210\320 \210\321p\322\"\205;\323p!\207" [rng-current-schema rng-set-schema-file-1 nil add-hook rng-schema-change-hook rng-validate-clear t after-change-functions rng-after-change-function kill-buffer-hook rng-kill-timers echo-area-clear-hook rng-echo-area-clear-function post-command-hook rng-maybe-echo-error-at-point rng-match-init-buffer rng-activate-timers get-buffer-window visible rng-validate-while-idle] 5] rng-auto-set-schema rng-cancel-timers kill-buffer-hook post-command-hook rng-maybe-echo-error-at-point echo-area-clear-hook rng-echo-area-clear-function after-change-functions rng-after-change-function run-hooks rng-validate-mode-hook rng-validate-mode-on-hook rng-validate-mode-off-hook called-interactively-p any " in current buffer" message "Rng-Validate mode %sabled%s" "en" "dis" force-mode-line-update rng-current-schema rng-any-element] 10 (#$ . 5292) (byte-code "\206\301C\207" [current-prefix-arg toggle] 1)])
(defvar rng-validate-mode-hook nil)
(byte-code "\301\302N\204\f\303\301\302\304#\210\305\306\307\310\300!\205\307\211%\207" [rng-validate-mode-map rng-validate-mode-hook variable-documentation put "Hook run after entering or leaving `rng-validate-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" add-minor-mode rng-validate-mode nil boundp] 6)
#@125 Sets the schema and turns on `rng-validate-mode' if not already on.
The schema is set like `rng-set-schema'.

(fn FILENAME)
(defalias 'rng-set-schema-file-and-validate #[257 "\301!\210\206\n\300 \207" [rng-validate-mode rng-set-schema-file] 3 (#$ . 9225) "fSchema file: "])
#@16 

(fn TYPE-ID)
(defalias 'rng-set-document-type-and-validate #[257 "\301!\205\f\206\f\300 \207" [rng-validate-mode rng-set-document-type] 3 (#$ . 9508) (byte-code "\300 C\207" [rng-read-type-id] 1)])
#@125 Set the schema for this buffer automatically and turn on `rng-validate-mode'.
The schema is set like `rng-auto-set-schema'.
(defalias 'rng-auto-set-schema-and-validate #[0 "\301 \210\206	\300 \207" [rng-validate-mode rng-auto-set-schema] 1 (#$ . 9719) nil])
#@33 

(fn START END PRE-CHANGE-LEN)
(defalias 'rng-after-change-function #[771 "\306\307 \310\211\310\311\312\313\314\315!\316\"\317$\216\320\"\210,\210\fW\2037\\\fX\2035\f\321#\\\2026
\203V
W\203gW\203P
\306\223\210\202g\322 \210\202g\fW\203g\323\f\306\"\323\310\"\fW\203o\fdY\203\211edW\203\200dS\202\210\214~\210edS])\324 \210\325 \207" [rng-message-overlay-inhibit-point buffer-undo-list inhibit-read-only inhibit-modification-hooks rng-validate-up-to-date-end rng-conditional-up-to-date-start nil buffer-modified-p t make-byte-code 0 "\300?\205\301\302!\207" vconcat vector [restore-buffer-modified-p nil] 2 rng-clear-cached-state - rng-clear-conditional-region copy-marker rng-activate-timers force-mode-line-update rng-conditional-up-to-date-end] 11 (#$ . 9985)])
(defalias 'rng-compute-mode-line-string #[0 "\203\303\304\305 \306U\203\306\202\307	eZdeZ\"\"\207\n\306V\203.\310\311\312\313\314\315\316\317\320\"%P\207\321\207" [rng-validate-timer rng-validate-up-to-date-end rng-error-count format " Validated:%d%%" buffer-size 0 floor " " propertize "Invalid" help-echo "mouse-1: go to first error" local-map make-mode-line-mouse-map mouse-1 rng-mouse-first-error " Valid"] 9])
(defalias 'rng-cancel-timers #[0 "\303	\203\f\304	!\210\305\n\205\304\n!\210\305\211)\207" [inhibit-quit rng-validate-timer rng-validate-quick-timer t cancel-timer nil] 2])
(defalias 'rng-kill-timers #[0 "\302\300!\203\203\303!\210\304\300!\210\302\301!\205#	\203 \303	!\210\304\301!\207" [rng-validate-timer rng-validate-quick-timer local-variable-p cancel-timer kill-local-variable] 2])
(defalias 'rng-activate-timers #[0 "?\205\305\306\n\305\307p$\306\305\310p$\211)\207" [rng-validate-timer inhibit-quit rng-validate-delay rng-validate-quick-delay rng-validate-quick-timer t run-with-idle-timer rng-validate-while-idle rng-validate-quick-while-idle] 5])
(defalias 'rng-validate-clear #[0 "	=\203\302!\303 )\207\303 \207" [rng-current-schema rng-any-element copy-sequence rng-validate-mode] 2])
(defvar rng-validate-display-point nil)
(defvar rng-validate-display-modified-p nil)
(defalias 'rng-validate-while-idle-continue-p #[0 "\303 ?\205 `	b\210\n\204\304\305!\210\306 \210\307\310!b\210\211\262)\207" [rng-validate-up-to-date-end rng-validate-display-point rng-validate-display-modified-p input-pending-p restore-buffer-modified-p nil force-mode-line-update sit-for 0] 2])
#@15 

(fn BUFFER)
(defalias 'rng-validate-while-idle #[257 "\303!\205'r\211q\210\203$`\304 \305\306!*\203\307 \202&\310 \202&\311 )\207" [rng-validate-mode rng-validate-display-modified-p rng-validate-display-point buffer-live-p buffer-modified-p rng-do-some-validation rng-validate-while-idle-continue-p force-mode-line-update rng-validate-done rng-kill-timers] 3 (#$ . 12438)])
#@15 

(fn BUFFER)
(defalias 'rng-validate-quick-while-idle #[257 "\301!\205 r\211q\210\203\302 \203\303 \202\304 \202\305 )\207" [rng-validate-mode buffer-live-p rng-do-some-validation force-mode-line-update rng-validate-done rng-kill-timers] 3 (#$ . 12830)])
(defalias 'rng-validate-done #[0 "\300 \203\n\301 \203\302\303`!\206\303`S!!\210\304 \210\305 \207" [current-message rng-current-message-from-error-overlay-p rng-error-overlay-message rng-error-overlay-after rng-cancel-timers force-mode-line-update] 3])
#@102 Do some validation work.  Return t if more to do, nil otherwise.

(fn &optional CONTINUE-P-FUNCTION)
(defalias 'rng-do-some-validation #[256 "\212\214~\210\305\3061G\30715\310 \2050\311\312 \305\211\305\313\314\315\316\317!\320\"\321$\216\322!,\262)00\202V0\323\324A@\"\210\325\314!\210\326\262\202V\323\327`\330!#\210\325\314!\210\326\262+\207" [inhibit-point-motion-hooks rng-dt-namespace-context-getter buffer-undo-list inhibit-read-only inhibit-modification-hooks t (debug error) (debug rng-compile-error) rng-validate-prepare (nxml-ns-get-context) buffer-modified-p make-byte-code 0 "\300?\205\301\302!\207" vconcat vector [restore-buffer-modified-p nil] 2 rng-do-some-validation-1 message "Incorrect schema. %s" rng-validate-mode nil "Internal error in rng-validate-mode triggered at buffer position %d. %s" error-message-string] 9 (#$ . 13363)])
#@114 Prepare to do some validation, initializing point and the state.
Return t if there is work to do, nil otherwise.
(defalias 'rng-validate-prepare #[0 "eU\203\301 \210\302\207dU\203\303\207\304S\305\"\211\203%\306!\210b\202D\307\305\"\211\203@\306\304S\305\"\2069\310\311!!\210\211b\202B\301 \262\207" [rng-validate-up-to-date-end rng-set-initial-state t nil get-text-property rng-state rng-restore-state previous-single-property-change error "Internal error: state null"] 6 (#$ . 14242)])
#@80 Check whether the current dtd is different from the trivial default.

(fn DTD)
(defalias 'rng-dtd-trivial-p #[257 "\211?\206\211=\207" [xmltok-predefined-entity-alist] 3 (#$ . 14753)])
#@38 

(fn &optional CONTINUE-P-FUNCTION)
(defalias 'rng-do-some-validation-1 #[256 "	\\`\n\\\306\307\211\211\211\211\211\211\211\211 `\310U\203]\311 \312\310`\"\210\211\203O\211@\313H\314=\203H\315@\310H@\316H\"\210\211A\262\2020\210 \232\204Z\317 \210 \203<\320 \262`\205\207\211W\206\207\205\207 \205\207	\\\211\262\205\207\306\262!\203\312\211!V\203\312\211\"W\203\312\321\322S\323\"!\203\312SW\203\264\324S\"\210\307\262\325 \210\326\"!\317 \210dW\262\2028\211Y\204\324\2048\211\n\\\262\324\"\210\203\350\327S!\210\211\262\2048\203
\330\307w\210`dU\203
\312`\"\210\324`\"\210\307\262`\262\204\331 \210\325 \210\211\"\2038\"X\203+\317 \210\2028!W\2038!\307\223\210\210\202].	\207" [rng-validate-up-to-date-end rng-validate-chunk-size rng-state-cache-distance rng-dtd xmltok-errors xmltok-namespace-attributes t nil 1 xmltok-forward-prolog rng-clear-overlays 0 encoding-name rng-process-encoding-name 2 rng-clear-conditional-region rng-forward rng-state-matches-current get-text-property rng-state rng-clear-cached-state rng-mark-xmltok-errors marker-position rng-cache-state " 	
\n" rng-process-end-document xmltok-attributes xmltok-replacement xmltok-name-end xmltok-name-colon xmltok-start xmltok-type xmltok-dtd rng-conditional-up-to-date-start rng-conditional-up-to-date-end] 15 (#$ . 14947)])
(defalias 'rng-clear-conditional-region #[0 "\203\302\211\223\210\302	\205	\302\211\223\210\302\211\207" [rng-conditional-up-to-date-start rng-conditional-up-to-date-end nil] 3])
#@59 Clear cached state between START and END.

(fn START END)
(defalias 'rng-clear-cached-state #[514 "\300\301#\207" [remove-text-properties (rng-state nil)] 6 (#$ . 16544)])
#@78 Save the current state in a text property on the character at pos.

(fn POS)
(defalias 'rng-cache-state #[257 "\300\211T\301\302 $\207" [put-text-property rng-state rng-get-state] 6 (#$ . 16724)])
#@14 

(fn STATE)
(defalias 'rng-state-matches-current #[257 "\211\205\211@\211=\262\205\211A@	\232\262\205\3038\n\232\207" [rng-match-state nxml-ns-state rng-open-elements 2] 4 (#$ . 16928)])
(defalias 'rng-get-state #[0 "	\nE\207" [rng-match-state nxml-ns-state rng-open-elements] 3])
#@14 

(fn STATE)
(defalias 'rng-restore-state #[257 "\211@\211\211\266\211A\262\211@\211\211\266\211A@\305\306 \211\207" [rng-match-state nxml-ns-state rng-open-elements rng-pending-contents rng-collecting-text nil rng-match-text-typed-p] 4 (#$ . 17228)])
(defalias 'rng-set-initial-state #[0 "\302 \210\303 \210\304\211eb\207" [rng-open-elements rng-pending-contents nxml-ns-init rng-match-start-document nil] 2])
#@16 

(fn BEG END)
(defalias 'rng-clear-overlays #[514 "?\205<\304\"\211\205:\211@\305\306\"\211\307=\2031\310\n=\203%\311\312!\210\313!\210\2030S)\266\211A\262\202	\262\207" [rng-parsing-for-state inhibit-quit rng-message-overlay rng-error-count overlays-in overlay-get category rng-error t rng-error-overlay-message nil delete-overlay] 7 (#$ . 17655)])
(defalias 'rng-mark-xmltok-errors #[0 "\205$@\301\211\302H\262\211\303H\262\211\304H\262#\266A\211\204\305\207" [xmltok-errors rng-mark-not-well-formed 0 1 2 nil] 8])
#@24 

(fn MESSAGE BEG END)
(defalias 'rng-mark-invalid #[771 "\300#\207" [rng-mark-error] 7 (#$ . 18212)])
#@24 

(fn MESSAGE BEG END)
(defalias 'rng-mark-not-well-formed #[771 "\300#\207" [rng-mark-error] 7 (#$ . 18324)])
#@24 

(fn MESSAGE BEG END)
(defalias 'rng-mark-error #[771 "?\205n\303\"\211\203D\203D\211@\304\305\"\306=\203<\307!U\203<\310!U\203<\311\312\304\312\"\313	Q#\210\314\262\210\211A\262\202	\210\205n\315\nT\316\314\315U%\311\317#\210\311\305\306#\210\311\312#\262)\207" [rng-parsing-for-state inhibit-quit rng-error-count overlays-in overlay-get category rng-error overlay-start overlay-end overlay-put help-echo "\n" nil t make-overlay priority] 11 (#$ . 18444)])
(byte-code "\300\301\302\301#\210\300\301\303\304#\207" [put rng-error face modification-hooks (rng-error-modified)] 4)
#@57 

(fn OVERLAY AFTER-P BEG END &optional PRE-CHANGE-LEN)
(defalias 'rng-error-modified #[1284 "\205 \302!\205 \302!\303!Y\205 \304\305!\210	S\211)\207" [inhibit-quit rng-error-count overlay-start overlay-end t delete-overlay] 8 (#$ . 19067)])
(defalias 'rng-echo-area-clear-function #[0 "\301\211\207" [rng-message-overlay-current nil] 2])
(defalias 'rng-maybe-echo-error-at-point #[0 "\300 \203\n\301 \205\302\303`!!\207" [current-message rng-current-message-from-error-overlay-p rng-error-overlay-message rng-error-overlay-after] 3])
#@12 

(fn POS)
(defalias 'rng-error-overlay-after #[257 "\300\211T\"\301\203.@\302\303\"\304=\203&\203#\305!\305!W\203&\211\262\210A\262\202\207" [overlays-in nil overlay-get category rng-error overlay-start] 7 (#$ . 19623)])
#@88 Go to the first validation error.
Turn on `rng-validate-mode' if it is not already on.
(defalias 'rng-first-error #[0 "\204\300 \210\301 \210\302eS!\211\203\303!\202(\212eb\210\304\305!)\211\205&\211b\262\207" [rng-validate-mode rng-do-some-validation rng-find-next-error-overlay rng-goto-error-overlay rng-next-error 1] 3 (#$ . 19867) nil])
#@66 Go to the first validation error from a mouse click.

(fn EVENT)
(defalias 'rng-mouse-first-error #[257 "\300\301!\211@\262!\210\302 \207" [select-window event-start rng-first-error] 4 (#$ . 20224) "e"])
#@257 Go to the next validation error after point.
Turn on `rng-validate-mode' if it is not already on.
A prefix ARG specifies how many errors to move.
A negative ARG moves backwards.  Just \[universal-argument] as a prefix
means goto the first error.

(fn ARG)
(defalias 'rng-next-error #[257 "\211:\203\301 \207\204\300 \210\302!\262\211\303W\203\304[!\207\305!\207" [rng-validate-mode rng-first-error prefix-numeric-value 0 rng-previous-error-1 rng-next-error-1] 3 (#$ . 20437) "P"])
#@261 Go to the previous validation error before point.
Turn on `rng-validate-mode' if it is not already on.
A prefix ARG specifies how many errors to move.
A negative ARG moves forwards.  Just \[universal-argument] as a prefix
means goto the first error.

(fn ARG)
(defalias 'rng-previous-error #[257 "\211:\203\301 \207\204\300 \210\302!\262\211\303W\203\304[!\207\305!\207" [rng-validate-mode rng-first-error prefix-numeric-value 0 rng-next-error-1 rng-previous-error-1] 3 (#$ . 20936) "P"])
#@12 

(fn ARG)
(defalias 'rng-next-error-1 #[257 "`\301\211\302V\203!\303!\211\262\203!S\262\262\304!\262\202\302V\203zS]\262dW\203z\305\306!\210\307 \302V\203W\303!\211\262\203WS\262\262\304!\262\2029\302V\205u\211\205udW\205u\310 \210\311\302!\210S]\262\312\262\2047\211\203\204\313!\202\211\305\314!\210\301\207" [rng-validate-up-to-date-end nil 0 rng-find-next-error-overlay overlay-start message "Parsing..." rng-do-some-validation force-mode-line-update sit-for t rng-goto-error-overlay "No more errors"] 7 (#$ . 21442)])
#@12 

(fn ARG)
(defalias 'rng-previous-error-1 #[257 "`\301\211\302V\203!\303!\211\262\203!\304!\262\262S\262\202\302V\203hd^W\203h\305\306!\210\307 \203Jd^W\203J\310 \210\311\302!\210\2023\302V\203h\303!\211\262\203h\304!\262\262S\262\202J\211\203r\312!\202w\305\313!\210\301\207" [rng-validate-up-to-date-end nil 0 rng-find-previous-error-overlay overlay-start message "Parsing..." rng-do-some-validation force-mode-line-update sit-for rng-goto-error-overlay "No previous errors"] 7 (#$ . 22017)])
#@70 Goto the start of error overlay ERR and print its message.

(fn ERR)
(defalias 'rng-goto-error-overlay #[257 "\301!b\210\302\303!\207" [rng-message-overlay-inhibit-point overlay-start nil rng-error-overlay-message] 3 (#$ . 22557)])
#@12 

(fn ERR)
(defalias 'rng-error-overlay-message #[257 "\211\203%`=\203	=\2040d\303U\2040\304\305\306\307\"\"\210\310`\2020\311 \203.\304\312!\210\312\211\211\207" [rng-message-overlay-inhibit-point rng-message-overlay rng-message-overlay-current 1 message "%s" overlay-get help-echo t rng-current-message-from-error-overlay-p nil] 6 (#$ . 22798)])
(defalias 'rng-current-message-from-error-overlay-p #[0 "\205	\205\302	\303\"\304 \232\207" [rng-message-overlay-current rng-message-overlay overlay-get help-echo current-message] 3])
#@167 Return the overlay for the next error starting after POS.
Return nil if there is no such overlay or it is out of date.
Do not do any additional validation.

(fn POS)
(defalias 'rng-find-next-error-overlay #[257 "\205\\\302\211\211\204Y\211\2038\211@A\262\303\304\"\305=\2034\306!U\2034\307!	X\2034\310\262\211\262\210\202dU\204I\311!\211\262	V\203O\310\262\202\312\211T\"\262\202\266\203\207" [rng-error-count rng-validate-up-to-date-end nil overlay-get category rng-error overlay-start overlay-end t next-overlay-change overlays-in] 8 (#$ . 23356)])
#@168 Return the overlay for the last error starting before POS.
Return nil if there is no such overlay or it is out of date.
Do not do any additional validation.

(fn POS)
(defalias 'rng-find-previous-error-overlay #[257 "\205T\211	X\205T\302\211\211\204Q\211\2036\211@A\262\303\304\"\305=\2032\306!U\2032\307\262\211\262\210\202
eU\203B\307\262\202
\310!\262\311\211T\"\262\202
\266\203\207" [rng-error-count rng-validate-up-to-date-end nil overlay-get category rng-error overlay-start t previous-overlay-change overlays-in] 8 (#$ . 23945)])
#@225 Move forward over one or more tokens updating the state.
If LIMIT is nil, stop after tags.
If LIMIT is non-nil, stop when end of last token parsed is >= LIMIT.
Return nil at end of buffer, t otherwise.

(fn &optional LIMIT)
(defalias 'rng-forward #[256 "\302\303 \262\304`\"\210\211\305\267\202\202\306\307!\210\302\202\203\310 \210\302\202\203\306\311!\210\302\202\203\312\302\313#\210\313\202\203\312\302\211#\210\313\202\203	\203I\312\302\314	$\210\202X\211\315=\203U\316 \210\202X\317 \210\313\202\203\312\320\\`\321Z\314#\210\313\202\203\306\322!\210\313\202\203\306\311!\210\313\202\203\310\323!\210\313\202\203\211\203\215`W\202\216\211\262\204\211\205\230\313\207" [xmltok-start xmltok-replacement nil xmltok-forward rng-clear-overlays #s(hash-table size 11 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (start-tag 16 end-tag 24 empty-element 31 space 39 data 49 entity-ref 59 char-ref 59 cdata-section 92 partial-start-tag 106 partial-empty-element 114 partial-end-tag 122)) rng-process-start-tag start-tag rng-process-end-tag empty-element rng-process-text t maybe char-ref rng-process-unknown-char rng-process-unknown-entity 9 3 partial-start-tag partial] 7 (#$ . 24516)])
#@155 TAG-TYPE is `start-tag' for a start-tag, `empty-element' for
an empty element.  `partial-empty-element' should be passed
as empty-element.

(fn TAG-TYPE)
(defalias 'rng-process-start-tag #[257 "\203\302 \210\303\211\304 \210\305 \306 \210\307\267\202D\310 \210\311 \204(\312 \210\313\314!\210\315 \202E\310 \210\316 \317!\202E\310 \210\312 \210\315 \202E\303\207" [rng-collecting-text rng-pending-contents rng-flush-text nil rng-process-namespaces rng-process-tag-name rng-process-attributes #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (empty-element 25 start-tag 45 partial-start-tag 57)) rng-process-start-tag-close rng-match-empty-content rng-match-after rng-mark-start-tag-close "Empty content not allowed" nxml-ns-pop-state rng-match-text-typed-p rng-push-tag] 5 (#$ . 25754)])
(defalias 'rng-process-namespaces #[0 "\301\302 \210\205r@\303!\211\203i\304!\305!\205\306!\211\235\2038\307\310\211\311H\262\211\312H\262#\210\202b\211\204C\313!\210\202b\203O\314\"\210\202b\307\315\211\316H\262S\211\317H\262T#\210\211B\262\266\266A\262\202\207" [xmltok-namespace-attributes nil nxml-ns-push-state xmltok-attribute-value nxml-make-namespace xmltok-attribute-prefix xmltok-attribute-local-name rng-mark-invalid "Duplicate namespace declaration" 0 2 nxml-ns-set-default nxml-ns-set-prefix "Namespace prefix cannot be undeclared" 3 4] 12])
(defalias 'rng-process-tag-name #[0 "\300 \301 \203@\302!\211\203\211B\202;\303!\211\262\2037\304B!\2037\305\"\210\306\307\310!#\210\311\202;\312 \210\311\262\202D\313 B\211\203x\304!\204x\211@\204t\303A!\211\205o\304B!\205o\314!\210\306\315\310!\"\210\316\262\204x\317!\210B\207" [xmltok-start-tag-prefix xmltok-start-tag-local-name nxml-ns-get-prefix rng-match-infer-start-tag-namespace rng-match-start-tag-open nxml-ns-set-prefix rng-mark-start-tag-close "Missing xmlns:%s=\"%s\"" nxml-namespace-name nil rng-recover-bad-element-prefix nxml-ns-get-default nxml-ns-set-default "Missing xmlns=\"%s\"" t rng-recover-start-tag-open] 8])
(defalias 'rng-process-attributes #[0 "\301\205~@\302!\303!\203!\304!\211\205\211B\262\202$\301B\211\204/\305!\210\202r\211\235\203<\306!\210\202r\307!\204I\310!\210\202r\311 \203i\312!\211\203b\313!\204e\314!\210\202e\315 \210\210\202r\316 \204r\317\320!\210\211B\266\205A\262\202\207" [xmltok-attributes nil xmltok-attribute-prefix xmltok-attribute-local-name nxml-ns-get-prefix rng-recover-bad-attribute-prefix rng-recover-duplicate-attribute-name rng-match-attribute-name rng-recover-attribute-name rng-match-text-typed-p xmltok-attribute-value rng-match-attribute-value rng-recover-attribute-value rng-match-after rng-match-end-tag error "Internal error: invalid on untyped attribute value"] 9])
(defalias 'rng-process-start-tag-close #[0 "\300 ?\205
\301\302 !\210\303 \207" [rng-match-start-tag-close rng-mark-start-tag-close rng-missing-attributes-message rng-match-ignore-attributes] 2])
#@19 

(fn &rest ARGS)
(defalias 'rng-mark-start-tag-close #[128 "\301=?\205\302\303\304\"`\305=\203\306\202\307Z`#\207" [xmltok-type partial-start-tag rng-mark-invalid apply format empty-element 2 1] 6 (#$ . 28803)])
(defalias 'rng-recover-bad-element-prefix #[0 "\302\303T	#\210\304 \207" [xmltok-start xmltok-name-colon rng-mark-invalid "Prefix not declared" rng-match-unknown-start-tag-open] 4])
#@12 

(fn ATT)
(defalias 'rng-recover-bad-attribute-prefix #[257 "\300\301\211\302H\262\211\303H\262#\207" [rng-mark-invalid "Prefix not declared" 0 1] 7 (#$ . 29214)])
#@12 

(fn ATT)
(defalias 'rng-recover-duplicate-attribute-name #[257 "\300\301\211\302H\262\211\303H\262#\207" [rng-mark-invalid "Duplicate attribute" 0 2] 7 (#$ . 29389)])
#@13 

(fn NAME)
(defalias 'rng-recover-start-tag-open #[257 "\302 \211\203%\303!\203%\304 \203%\303!\203%\305\306\307\310!\"\211T#\202Q\311 \2039\303!\2039\305\312\211T#\202Q\313!\203H\305\314T	#\202Q\315 \210\305\316T	#\207" [xmltok-start xmltok-name-end rng-match-required-element-name rng-match-start-tag-open rng-match-after rng-mark-invalid format "Missing element \"%s\"" rng-name-to-string rng-match-optionalize-elements "Required elements missing" rng-match-out-of-context-start-tag-open "Element not allowed in this context" rng-match-unknown-start-tag-open "Unknown element"] 7 (#$ . 29568)])
#@12 

(fn ATT)
(defalias 'rng-recover-attribute-value #[257 "\211\211\300H\262\211\301H\262U\203\302\303T#\210\202\"\302\304#\210\266\305 \207" [3 4 rng-mark-invalid "Empty attribute value invalid" "Attribute value invalid" rng-match-after] 7 (#$ . 30192)])
#@12 

(fn ATT)
(defalias 'rng-recover-attribute-name #[257 "\300\301\211\302H\262\211\303H\262#\207" [rng-mark-invalid "Attribute not allowed" 0 2] 7 (#$ . 30465)])
(defalias 'rng-missing-attributes-message #[0 "\300 \211\204\n\301\202\"\211A\204\302\303\304@\305\"\"\202\"\302\306\307\310\311#\"\207" [rng-match-required-attribute-names "Required attributes missing" format "Missing attribute \"%s\"" rng-name-to-string t "Missing attributes \"%s\"" mapconcat #[257 "\300\301\"\207" [rng-name-to-string t] 4 "\n\n(fn NM)"] "\", \""] 7])
#@26 

(fn &optional PARTIAL)
(defalias 'rng-process-end-tag #[256 "\204\n\302\303	`#\207\211\204\304 \305 B@\232\203\306 \207\307 \207" [rng-open-elements xmltok-start rng-mark-not-well-formed "Extra end-tag" xmltok-end-tag-prefix xmltok-end-tag-local-name rng-end-element rng-recover-mismatched-end-tag] 5 (#$ . 31017)])
(defalias 'rng-end-element #[0 "\203;\304 \211\204\305 \210\2023\306!\2043\307 \211\204'\310\311	\211\312\\#\210\202/\310\313@A#\210\210\305 \210\314\211\210\202L\315 \204L\310\316 	\211\312\\#\210\305 \210\317 \210@\320=\203Y\321 \210\321 \207" [rng-collecting-text xmltok-start rng-pending-contents rng-open-elements rng-contents-string rng-match-after rng-match-element-value rng-contents-region rng-mark-invalid "Empty content not allowed" 2 "Invalid data" nil rng-match-end-tag rng-missing-element-message nxml-ns-pop-state t rng-pop-tag] 8])
(defalias 'rng-missing-element-message #[0 "\300 \211\203\301\302\303!\"\202\304\207" [rng-match-required-element-name format "Missing element \"%s\"" rng-name-to-string "Required child elements missing"] 5])
(defalias 'rng-recover-mismatched-end-tag #[0 "\301 \302 B\211A\235\203>@\303=\304\211@\262\305 \210\211\303=\204*\211B\262\306 \210\307 \210\211\232\203?\2059\310A!\266\203\202S\311 \203K\312 \210\313 \202S\312 \210\303B\211\207" [rng-open-elements xmltok-end-tag-prefix xmltok-end-tag-local-name t nil rng-pop-tag nxml-ns-pop-state rng-match-after rng-mark-missing-end-tags rng-match-empty-before-p rng-mark-mismatched-end-tag rng-end-element] 6])
#@16 

(fn MISSING)
(defalias 'rng-mark-missing-end-tags #[257 "\301\302\303A\204\f\304\202
\305\306\307\310##\211\311\\#\207" [xmltok-start rng-mark-not-well-formed format "Missing end-tag%s \"%s\"" "" "s" mapconcat #[257 "\211@\203\f\211@\300AQ\207\211A\207" [":"] 4 "\n\n(fn NAME)"] "\", \"" 2] 9 (#$ . 32596)])
(defalias 'rng-mark-mismatched-end-tag #[0 "\302\303\304\\	#\207" [xmltok-start xmltok-name-end rng-mark-not-well-formed "Mismatched end-tag" 2] 4])
#@26 

(fn PREFIX-LOCAL-NAME)
(defalias 'rng-push-tag #[257 "\211B\211\207" [rng-open-elements] 3 (#$ . 33070)])
(defalias 'rng-pop-tag #[0 "A\211\207" [rng-open-elements] 2])
(defalias 'rng-contents-string #[0 "\211\204	\301\202'\302>\203\302\202'\211A\204\303@!\202'\304\305\306\303\"\237\"\207" [rng-pending-contents "" nil rng-segment-string apply concat mapcar] 6])
#@16 

(fn SEGMENT)
(defalias 'rng-segment-string #[257 "\211@\206\n\300\301A\"\207" [apply buffer-substring-no-properties] 4 (#$ . 33458)])
#@16 

(fn SEGMENT)
(defalias 'rng-segment-blank-p #[257 "\211@\203\n\300@!\207\301\302A\"\207" [rng-blank-p apply rng-region-blank-p] 4 (#$ . 33602)])
(defalias 'rng-contents-region #[0 "\205#\211@A\211@A@A\211\262\203@A@\262\202
B\266\204\207" [rng-pending-contents] 6])
#@399 Process characters between position START and END as text.
END nil means point.  WHITESPACE t means known to be whitespace, nil
means known not to be, anything else means unknown whether whitespace
or not.  END must not be nil if WHITESPACE is neither t nor nil.
VALUE is a string or nil; nil means the value is equal to the
string between START and END.

(fn START END WHITESPACE &optional VALUE)
(defalias 'rng-process-text #[1027 "\203\211\206`E	B\211\207\203,\302=\206.\211\203%\303!\202)\304\"\206.\305 ?\205;\306\307\206:`#\207" [rng-collecting-text rng-pending-contents t rng-blank-p rng-region-blank-p rng-match-mixed-text rng-mark-invalid "Text not allowed"] 8 (#$ . 33893)])
(defalias 'rng-process-unknown-char #[0 "\205	\302	B\211\207" [rng-collecting-text rng-pending-contents nil] 2])
(defalias 'rng-process-unknown-entity #[0 "\300 \210\301 \207" [rng-process-unknown-char rng-match-optionalize-elements] 1])
#@16 

(fn BEG END)
(defalias 'rng-region-blank-p #[514 "\212b\210\300wZU)\207" [" \n
	"] 5 (#$ . 34847)])
(defalias 'rng-flush-text #[0 "\205&@\301!\204\302 \204\211A\303\304@A@#\266\210A\211\204\305\207" [rng-pending-contents rng-segment-blank-p rng-match-mixed-text rng-mark-invalid "In this context text cannot be mixed with elements" nil] 7])
(defalias 'rng-process-end-document #[0 "\301``\"\210\212\302\303x\210`)\203 @\304=?\205+\305\306`#\202+\307 ?\205+\305\310`#\207" [rng-open-elements rng-clear-overlays " 	
\n" nil t rng-mark-not-well-formed "Missing end-tag" rng-match-nullable-p "No document element"] 5])
#@16 

(fn BEG END)
(defalias 'rng-process-encoding-name #[514 "\300\"\301!\206\211\227\302\230\262?\205\303\304#\207" [buffer-substring-no-properties nxml-mime-charset-coding-system "utf-16" rng-mark-not-well-formed "Unsupported encoding"] 6 (#$ . 35497)])
#@34 

(fn NAME &optional ATTRIBUTEP)
(defalias 'rng-name-to-string #[513 "@A\203\204\300 =\203\211\202.\301!\211\203%\211\302Q\202,\303\304!\305R\262\207" [nxml-ns-get-default nxml-ns-prefix-for ":" "{" symbol-name "}"] 9 (#$ . 35766)])
(provide 'rng-valid)

Zerion Mini Shell 1.0