%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
;ELC ;;; Compiled ;;; in Emacs version 25.2.1 ;;; 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\314\311%\210\324\325\326\327\330\331\314\311&\210\324\332\333\334\330\331\314\311&\210\324\335\336\337\330\340\314\311&\210\324\341\342\343\330\340\314\311&\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 wp 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 2000 "Distance in characters between each parsing and validation state cache." :type integer rng-validate-chunk-size 8000 "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 1.5 "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.3 "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 (#$ . 2100)) (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 (#$ . 2295)) (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 (#$ . 2484)) (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 (#$ . 2849)) (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 (#$ . 3030)) #@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 (#$ . 3291)) (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 (#$ . 3694)) (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 (#$ . 3870)) (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 (#$ . 4497)) (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 (#$ . 4790)) (defvar rng-validate-mode nil) (make-variable-buffer-local 'rng-validate-mode) (defvar rng-dtd nil) (make-variable-buffer-local 'rng-dtd) #@1208 Minor mode performing continual validation against a RELAX NG schema. 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. (defalias 'rng-validate-mode #[(&optional arg no-change-schema) "\204 ?\202 \306!\307V\214~\210\310 \311\211\311\312\216\313ed\"\210-\314edT\"\210e)\315 \210\307\316\317\320\311#\210 \203X \321\216\212\203S =\205V ?\205V \322\311!*\207\323 \210\324 \210\316\325\323\311#\210\316\326\327\311#\210\316\330\331\311#\210\316\332\333\311#\207" [arg rng-validate-mode #1=#:modified buffer-undo-list inhibit-read-only inhibit-modification-hooks prefix-numeric-value 0 buffer-modified-p t #[nil "?\205 \301\302!\207" [#1# 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 #[nil "\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 force-mode-line-update 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 rng-validate-up-to-date-end rng-error-count rng-current-schema rng-any-element no-change-schema] 5 (#$ . 5078) "P"]) #@110 Sets the schema and turns on `rng-validate-mode' if not already on. The schema is set like `rng-set-schema'. (defalias 'rng-set-schema-file-and-validate #[(filename) "\302!\210 \206\n \301 \207" [filename rng-validate-mode rng-set-schema-file] 2 (#$ . 7905) "fSchema file: "]) (defalias 'rng-set-document-type-and-validate #[(type-id) "\302!\205\f \206\f \301 \207" [type-id rng-validate-mode rng-set-document-type] 2 nil (list (rng-read-type-id))]) #@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 #[nil "\301 \210\206 \300 \207" [rng-validate-mode rng-auto-set-schema] 1 (#$ . 8365) nil]) (defalias 'rng-after-change-function #[(start end pre-change-len) "\306\307 \310\211\310\311\216\312 \"\210- W\2035 \\X\2032 \313 #\\\2023 \203Z W\203p W\203T \306\223\210\202p \314 \210\202p W\203p \315\306\"\315\310\" W\203z dY\203\226 edW\203\214 dS\202\224 \214~\210edS])\316 \210\317 \207" [rng-message-overlay-inhibit-point #1=#:modified buffer-undo-list inhibit-read-only inhibit-modification-hooks start nil buffer-modified-p t #[nil "?\205 \301\302!\207" [#1# restore-buffer-modified-p nil] 2] rng-clear-cached-state - rng-clear-conditional-region copy-marker rng-activate-timers force-mode-line-update end rng-validate-up-to-date-end pre-change-len rng-conditional-up-to-date-start rng-conditional-up-to-date-end] 6]) (defalias 'rng-compute-mode-line-string #[nil "\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 #[nil "\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 #[nil "\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 #[nil "?\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 #[nil "\300\301\302\"\207" [rng-validate-mode 1 t] 3]) (defvar rng-validate-display-point nil) (defvar rng-validate-display-modified-p nil) (defalias 'rng-validate-while-idle-continue-p #[nil "\304 ?\205 ` b\210\n\204 \305\306!\210\307 \210\310\311!b\210*\207" [rng-validate-up-to-date-end rng-validate-display-point rng-validate-display-modified-p continue input-pending-p restore-buffer-modified-p nil force-mode-line-update sit-for 0] 2]) (defalias 'rng-validate-while-idle #[(buffer) "\304!\205' rq\210 \203$ `\305 \306\307!*\203 \310 \202&