;ELC ;;; Compiled ;;; in Emacs version 27.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\300\310!\210\300\311!\210\300\312!\210\313\314\315\316\317DD\320\321\322\323\324&\210\313\325\315\316\326DD\327\321\330\323\324&\207" [require easymenu xmltok nxml-util nxml-ns rng-match rng-util rng-valid nxml-mode rng-loc sgml-mode custom-declare-variable rng-nxml-auto-validate-flag funcall function #[0 "\300\207" [t] 1] "Non-nil means automatically turn on validation with nxml-mode." :type boolean :group relax-ng rng-preferred-prefix-alist #[0 "\300\207" [(("http://www.w3.org/1999/XSL/Transform" . "xsl") ("http://www.w3.org/1999/02/22-rdf-syntax-ns#" . "rdf") ("http://www.w3.org/1999/xlink" . "xlink") ("http://www.w3.org/2001/XmlSchema" . "xsd") ("http://www.w3.org/2001/XMLSchema-instance" . "xsi") ("http://purl.org/dc/elements/1.1/" . "dc") ("http://purl.org/dc/terms/" . "dcterms"))] 1] "Alist of namespaces vs preferred prefixes." (repeat (cons :tag "With" (string :tag "this namespace URI") (string :tag "use this prefix")))] 8) #@102 Non-nil means immediately after < complete on end-tag names. Complete on start-tag names regardless. (defvar rng-complete-end-tags-after-< t (#$ . 1461)) (defvar rng-nxml-easy-menu '("XML" ["Show Outline Only" nxml-hide-all-text-content] ["Show Everything" nxml-show-all] "---" ["Validation" rng-validate-mode :style toggle :selected rng-validate-mode] ["Electric Pairs" sgml-electric-tag-pair-mode :style toggle :selected sgml-electric-tag-pair-mode] "---" ("Set Schema" ["Automatically" rng-auto-set-schema] ("For Document Type" :filter (lambda (menu) (mapcar (lambda (type-id) (vector type-id (list 'rng-set-document-type type-id))) (rng-possible-type-ids)))) ["Any Well-Formed XML" rng-set-vacuous-schema] ["File..." rng-set-schema-file]) ["Show Schema Location" rng-what-schema] ["Save Schema Location" rng-save-schema-location :help "Save the location of the schema currently being used for this buffer"] "---" ["First Error" rng-first-error :active rng-validate-mode] ["Next Error" rng-next-error :active rng-validate-mode] "---" ["Customize nXML" (customize-group 'nxml)])) #@186 Initialize `nxml-mode' to take advantage of `rng-validate-mode'. This is typically called from `nxml-mode-hook'. Validation will be enabled if `rng-nxml-auto-validate-flag' is non-nil. (defalias 'rng-nxml-mode-init #[0 "\303\304\305#\210\303\306\307#\210\303\310\311#\210\303\312\313#\210\303\314\315#\210\303\316\317#\210\303\320\321#\210\322\323!\210\324\325\326 $\210\327\330\331\332#\210\n\203Q\305\333!\210\334\335\336\323\337$\210\334\340\341\323\337$\207\305\342!\210\343\335\336\337#\210\343\340\341\337#\207" [nxml-mode-map rng-nxml-easy-menu rng-nxml-auto-validate-flag define-key "" rng-validate-mode "" rng-what-schema "" rng-auto-set-schema-and-validate "" rng-set-schema-file-and-validate "\f" rng-save-schema-location "" rng-set-document-type-and-validate "" rng-next-error (lambda (#1=#:def-tmp-var) (defvar rng-nxml-menu #1# #2="Menu for nxml-mode used with rng-validate-mode.")) nil easy-menu-do-define rng-nxml-menu #2# add-to-list mode-line-process (rng-validate-mode (:eval (rng-compute-mode-line-string))) append 1 add-hook completion-at-point-functions rng-completion-at-point t nxml-in-mixed-content-hook rng-in-mixed-content-p 0 remove-hook] 5 (#$ . 2550) nil]) #@78 Return completion data for the string before point using the current schema. (defalias 'rng-completion-at-point #[0 "\2051\212\302\303\304\305#)\304\211\205.\306!U\205.\307!\206.\310!\206.\311!\206.\312!)\262\207" [rng-validate-mode xmltok-dtd search-backward "<" nil t rng-set-state-after rng-complete-tag rng-complete-end-tag rng-complete-attribute-name rng-complete-attribute-value] 4 (#$ . 3770)]) (defconst rng-in-start-tag-name-regex (byte-code "\301\302\303\304\211%\207" [xmltok-ncname-regexp replace-regexp-in-string "w" "<\\(?:w\\(?::w?\\)?\\)?\\=" t] 6)) #@15 (fn LT-POS) (defalias 'rng-complete-tag #[257 "\211`SU\205G\205G \205G @\305=?\205G\n\2040 \306\307\310\311\312!\313\"\314$\216\315 )\262\205G\316 @@\203B @@\317 @AQ\202E @APC\212\320\f\305#)\205|\n\203X\321 \210\322 T\212\323\324w\210`)\325\326\324$\327\306\330\331\311\312\n!\332\"\333\334%\257\262\207" [rng-complete-end-tags-after-< rng-open-elements rng-collecting-text rng-match-state rng-in-start-tag-name-regex t make-byte-code 0 "\300\211\207" vconcat vector [rng-match-state] 2 rng-match-end-tag "/" ":" re-search-backward rng-flush-text rng-match-possible-start-tag-names "-[:alnum:]_.:" nil apply-partially rng-complete-qname-function :exit-function 514 "\211\302=\204\303\207\304!\203/\305\306\307#\211\205.\310!\205.\311 \203,\211@\205. ?\205.\312c\207\300\235\2057\313c\207" [rng-open-elements finished nil rng-qname-p rng-expand-qname t rng-start-tag-expand-recover rng-match-start-tag-open rng-match-start-tag-close " " ">"] 6 "\n\n(fn COMPLETION STATUS)"] 13 (#$ . 4358)]) (defconst rng-in-end-tag-name-regex (byte-code "\301\302\303\304\211%\207" [xmltok-ncname-regexp replace-regexp-in-string "w" "" rng-match-end-tag message "Element \"%s\" is incomplete"] 5 "\n\n(fn COMPLETION STATUS)"] 12 (#$ . 5556)]) (defconst rng-in-attribute-regex (byte-code "\301\302\303\304\211%\207" [xmltok-ncname-regexp replace-regexp-in-string "w" "\203\304!C\202&\305\304\306\307 \"\"\207" [nxml-xml-namespace-uri nxml-ns-get-prefix nxml-ns-get-default nxml-ns-changed-prefixes nxml-namespace-name mapcar delq rng-match-possible-namespace-uris] 7 (#$ . 8174)]) (defconst rng-qname-regexp (concat "\\`" xmltok-ncname-regexp "\\(?::" xmltok-ncname-regexp "\\)?\\'")) #@15 (fn STRING) (defalias 'rng-qname-p #[257 "\301\"\205\302\207" [rng-qname-regexp string-match t] 4 (#$ . 8608)]) #@45 (fn QNAME &optional DEFAULTP RECOVER-FUN) (defalias 'rng-expand-qname #[769 "\300!\262@\211\203(\301!\211\203\211AB\202#\205#A\"\262\2021\205.\302 AB\207" [rng-split-qname nxml-ns-get-prefix nxml-ns-get-default] 8 (#$ . 8732)]) #@26 (fn PREFIX LOCAL-NAME) (defalias 'rng-start-tag-expand-recover #[514 "\300!\211\205\n\211B\207" [rng-match-infer-start-tag-namespace] 5 (#$ . 8988)]) #@14 (fn QNAME) (defalias 'rng-split-qname #[257 "\300\301\"\203\302\303\211\224#\302\303\225\"B\207\304B\207" [string-match ":" substring 0 nil] 5 (#$ . 9149)]) #@134 Return non-nil if point is in mixed content. Return nil only if point is definitely not in mixed content. If unsure, return non-nil. (defalias 'rng-in-mixed-content-p #[0 " =\203\302\207\303 \210\304 \207" [rng-current-schema rng-any-element t rng-set-state-after rng-match-mixed-text] 2 (#$ . 9321)]) #@222 Set the state for after parsing the first token with endpoint >= POS. This does not change the xmltok state or point. However, it does set `xmltok-dtd'. Returns the position of the end of the token. (fn &optional POS) (defalias 'rng-set-state-after #[256 "\211\204`\262W\203*\306\307!\210\310 \203&W\203&\311 \210\312\313!\210\202\306\314!\210\212\214~\210\315\211eU\203<\316 \210\202j\317S\320\"\211\203O\321!\210b\210\202i\322\320\"\211\203e\321\317S\320\"!\210\211b\210\202h\316 \210\210\210\323\211\211\211\211\211\211\211`\324U\203\212\325 \210\202\216\211`W\203\257\211f\326=\203\257`\212Tb\210\327\323w\210`)X\203\257\211\202\305`W\203\304\330\315 !\331!\210*`\202\305\211. \207" [rng-validate-up-to-date-end inhibit-point-motion-hooks xmltok-errors xmltok-namespace-attributes xmltok-attributes xmltok-replacement message "Parsing..." rng-do-some-validation force-mode-line-update sit-for 0 "Parsing...done" t rng-set-initial-state get-text-property rng-state rng-restore-state previous-single-property-change nil 1 xmltok-forward-prolog 60 " \n" (nxml-ns-get-context) rng-forward xmltok-name-end xmltok-name-colon xmltok-start xmltok-type rng-dtd xmltok-dtd rng-parsing-for-state rng-dt-namespace-context-getter] 9 (#$ . 9633)]) #@21 (fn LT-POS START) (defalias 'rng-adjust-state-for-attribute #[514 "\306\211\211\211\211\211\211\211\212b\210\307 \310>\205<\211`W\203-\311 \"\311\n\"\312\313\314\315!\210\316 \210*\312. \207" [xmltok-errors xmltok-namespace-attributes xmltok-attributes xmltok-replacement xmltok-name-end xmltok-name-colon nil xmltok-forward (start-tag partial-start-tag empty-element partial-empty-element) rng-prune-attribute-at t (nxml-ns-get-context) rng-process-start-tag stop rng-find-undeclared-prefixes xmltok-start xmltok-type rng-dt-namespace-context-getter rng-parsing-for-state] 10 (#$ . 10935)]) (defalias 'rng-find-undeclared-prefixes #[0 "\304  \n\305\306 \210\2030@\262\307!\211\203(\211\235\204(\310!\204(\211B\210A\262\202 \211\211\266 \262\205U@\262\311\307!\205K\312!\"A\262\2029\207" [rng-undeclared-prefixes xmltok-attributes nxml-ns-state xmltok-namespace-attributes nxml-ns-changed-prefixes nil nxml-ns-pop-state xmltok-attribute-prefix nxml-ns-get-prefix delete xmltok-attribute-local-name] 6]) #@19 (fn START ATTS) (defalias 'rng-prune-attribute-at #[514 "\211\205%\211\211@\211\300H\262=\203\301@\"\262\202#\211A\211\262\204\210\211\207" [0 delq] 6 (#$ . 11999)]) #@34 (fn NAME-START COLON NAME-END) (defalias 'rng-adjust-state-for-attribute-value #[771 "\205\300\"\300\203T\202\"\205\301!\203$\211\205)\302B!\207" [buffer-substring-no-properties nxml-ns-get-prefix rng-match-attribute-name] 9 (#$ . 12185)]) #@71 (fn CANDIDATES ATTRIBUTES-FLAG EXTRA-STRINGS STRING PREDICATE FLAG) (defalias 'rng-complete-qname-function #[1542 "\300\301   $$\207" [complete-with-action rng-generate-qname-list] 13 (#$ . 12455)]) #@65 (fn &optional STRING CANDIDATES ATTRIBUTE-FLAG EXTRA-STRINGS) (defalias 'rng-generate-qname-list #[1024 "\205\300\301\"\205\302\224\302V\205\303\302\211\224#\304\305\"\306C\306\211\211\211\203G@\262\203<\307\f\"B\242B\240\210\310A\"\262\202\"\242\262\203\226@\262@\262A\204\217\203u\203\217\311!\204\217C\241\210\202\217\312!\262\211\203\203C\241\210\204\217\306AB\241\210A\262\202K\313\314\315\316 \304\317\320\321\322\323!\324\"\325\326%\"B\"\327\"!\207" [string-match ":" 0 substring mapcar car nil nxml-ns-prefixes-for delq nxml-ns-get-prefix rng-get-preferred-unused-prefix rng-uniquify-equal sort apply append make-byte-code 257 "\211@\203\301\302\303\304\305\306!\307\"\310\311%\312@\300\242\"A\"\207\211AC\207" vconcat vector [mapcar make-byte-code 257 "\211\203\n\211\301\300AQ\207\300A\207" vconcat vector [":"] 4 "\n\n(fn PREFIX)" assoc] 8 "\n\n(fn NAME)" string<] 23 (#$ . 12669)]) #@11 (fn NS) (defalias 'rng-get-preferred-unused-prefix #[257 "\301\302!\"\303\211\203?A\262\304!\203?>\262\203?\301\"\211\262\203?\304A!\2038>\262\202A\262\202\207" [rng-preferred-prefix-alist assoc symbol-name nil nxml-ns-get-prefix] 7 (#$ . 13644)]) #@16 (fn STRINGS) (defalias 'rng-strings-to-completion-table #[257 "\300\301\"\207" [mapcar rng-escape-string] 4 (#$ . 13928)]) (provide 'rng-nxml)