;ELC ;;; Compiled by jjc@pineapple.bkk.thaiopensource.com on Mon Oct 4 11:58:42 2004 ;;; from file /home/jjc/elisp/rng-nxml.el ;;; in Emacs version 21.3.1 ;;; with bytecomp version 2.85.4.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19.29"))) (error "`rng-nxml.el' was compiled for Emacs 19.29 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (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!\207" [require easymenu xmltok nxml-util nxml-ns rng-match rng-util rng-valid nxml-mode rng-loc] 2) #@65 *Non-nil means automatically turn on validation with nxml-mode. (custom-declare-variable 'rng-nxml-auto-validate-flag 't '(#$ . -840) :type 'boolean :group 'relax-ng) #@58 Default value for variable `rng-preferred-prefix-alist'. (defvar rng-preferred-prefix-alist-default nil (#$ . 1013)) #@45 *Alist of namespaces vs preferred prefixes. (custom-declare-variable 'rng-preferred-prefix-alist 'rng-preferred-prefix-alist-default '(#$ . -1136) :type '(repeat (cons :tag "With" (string :tag "this namespace URI") (string :tag "use this prefix"))) :group 'relax-ng) #@103 *Non-nil means immediately after < complete on end-tag names. Complete on start-tag names regardless. (defvar rng-complete-end-tags-after-< t (#$ . -1410)) (byte-code "\301B\302\301!\204\f\303\301\207" [current-load-list rng-nxml-easy-menu boundp ("XML" ["Show Outline Only" nxml-hide-all-text-content] ["Show Everything" nxml-show-all] "---" ["Validation" rng-validate-mode :style toggle :selected rng-validate-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)] "---" ["Show nXML Version" nxml-version])] 2) #@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 #[nil "\305\306\307#\210\305\310\311#\210\305\312\313#\210\305\314\315#\210\305\316\317#\210\305\320\321#\210\305\322\323#\210\324\301\325\326#\210\327\301!\2048\330\331\301\326\n$\210\332\f\203W\307\333!\210\334\335\336\330\337$\210\334\340\341\330\337$\207\307\342!\210\343\335\336\337#\210\343\340\341\337#\207" [nxml-mode-map rng-nxml-menu rng-nxml-easy-menu mode-line-process 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 put variable-documentation "Menu for nxml-mode used with rng-validate-mode." boundp nil easy-menu-do-define (rng-validate-mode (:eval (rng-compute-mode-line-string))) 1 add-hook nxml-completion-hook rng-complete t nxml-in-mixed-content-hook rng-in-mixed-content-p 0 remove-hook] 5 (#$ . 2513) nil]) (byte-code "\301B\306\301!\204\f\307\302B\306\302!\204\307\303B\306\303!\204$\307\304B\306\304!\2040\307\305B\306\305!\204<\307\310B\306\310!\204I\307\307\207" [current-load-list rng-tag-history rng-attribute-name-history rng-attribute-value-history rng-complete-target-names rng-complete-name-attribute-flag boundp nil rng-complete-extra-strings] 2) #@107 Complete the string before point using the current schema. Return non-nil if in a context it understands. (defalias 'rng-complete #[nil "\2050\212\303\304\305\306#)\305\211\205/\307\n!\nU\205/\310\n!\206/\311\n!\206/\312\n!\206/\313\n!*\207" [rng-validate-mode xmltok-dtd lt-pos search-backward "<" nil t rng-set-state-after rng-complete-tag rng-complete-end-tag rng-complete-attribute-name rng-complete-attribute-value] 5 (#$ . 4059) nil]) (byte-code "\302B\303\304 \305\306\211%\302\207" [current-load-list xmltok-ncname-regexp rng-in-start-tag-name-regex replace-regexp-in-string "w" "<\\(?:w\\(?::w?\\)?\\)?\\=" t] 6) (defalias 'rng-complete-tag #[(lt-pos) "\306 `SU\203P\n\203P \203P @\307=\204P\f\204' \310\216\311 *\203P\312 \211@@)\203E \211@@)\313 \211@A)Q\202L \211@A)PB\212\314 \307#)\205\266\f\203b\315 \210\316 \306\317 T\320\321\306\322%*\306\211 \203\264\323 !\203\252\324 \307\325#\211\203\264\326!\203\264\327 \203\244@\203\264 \204\264\330c\210\202\264 \235\203\264\331c\210*\307)\207" [rng-complete-extra-strings lt-pos rng-complete-end-tags-after-< rng-open-elements rng-collecting-text rng-match-state nil t ((byte-code "\302\207" [#1=#:state rng-match-state nil] 1)) rng-match-end-tag "/" ":" re-search-backward rng-flush-text rng-match-possible-start-tag-names rng-complete-before-point rng-complete-qname-function "Tag: " rng-tag-history rng-qname-p rng-expand-qname rng-start-tag-expand-recover rng-match-start-tag-open rng-match-start-tag-close " " ">" #1# x rng-in-start-tag-name-regex rng-complete-name-attribute-flag rng-complete-target-names name completion] 7]) (byte-code "\302B\303\304 \305\306\211%\302\207" [current-load-list xmltok-ncname-regexp rng-in-end-tag-name-regex replace-regexp-in-string "w" "" rng-match-end-tag "Element %s is incomplete" rng-collecting-text] 7]) (byte-code "\302B\304\305 \306\307\211%\303B\310\303!\204\311\311\207" [current-load-list xmltok-ncname-regexp rng-in-attribute-regex rng-undeclared-prefixes replace-regexp-in-string "w" "\203\306 !C\202'\307\306\310\n\311 \"\")\207" [prefix ns 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] 6]) (byte-code "\302B\303 \304\305 \306\307\310\260\302\207" [current-load-list xmltok-ncname-regexp rng-qname-regexp "\\`" "\\(?:" ":" "\\)" "?" "\\'"] 8) (defalias 'rng-qname-p #[(string) "\302 \"\205\303\207" [rng-qname-regexp string string-match t] 3]) (defalias 'rng-expand-qname #[(qname &optional defaultp recover-fun) "\305!\211@\211\203'\306!\211\203\nAB\202# \205# A\")\2020\f\205-\307 AB)\207" [qname prefix ns recover-fun defaultp rng-split-qname nxml-ns-get-prefix nxml-ns-get-default] 4]) (defalias 'rng-start-tag-expand-recover #[(prefix local-name) "\302!\211\205 B)\207" [local-name ns rng-match-infer-start-tag-namespace] 3]) (defalias 'rng-split-qname #[(qname) "\301\302\"\203\303\211\224O\303\225\304OB\207\304B\207" [qname string-match ":" 0 nil] 4]) #@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 #[nil " =\203\302\207\303 \210\304 \207" [rng-current-schema rng-any-element t rng-set-state-after rng-match-mixed-text] 2 (#$ . 9637)]) #@201 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. (defalias 'rng-set-state-after #[(&optional pos) "\204` W\203,\306\307!\210\310 \203( W\203(\311 \210\312\313\314!\210)\202\306\315!\210\212\214~\210\316\317U\203>\320 \210\202n\321S\322\"\211\203R\323\f!\210b\210\202m\324\322\"\211\203i\323\321 S\322\"!\210 b\210\202l\320 \210))\312\211\211\211\211\211\211\211\211 !\"`\317U\203\225\325 \210\202\231#$`W\203\272f\326=\203\272`\212Tb\210\327\312w\210`)X\203\272\202\320`W\203\317\330\316%&\331!\210*`\202\320.\f\207" [pos rng-validate-up-to-date-end timer-idle-list inhibit-point-motion-hooks state start message "Parsing..." rng-do-some-validation force-mode-line-update nil sit-for 0 "Parsing...done" t 1 rng-set-initial-state get-text-property rng-state rng-restore-state previous-single-property-change xmltok-forward-prolog 60 " \n" (nxml-ns-get-context) rng-forward xmltok-errors xmltok-dependent-regions xmltok-namespace-attributes xmltok-attributes xmltok-replacement xmltok-name-end xmltok-name-colon xmltok-start xmltok-type rng-dtd xmltok-dtd rng-parsing-for-state rng-dt-namespace-context-getter] 10 (#$ . 9951)]) (defalias 'rng-adjust-state-for-attribute #[(lt-pos start) "\306\211\211\211\211\211\211\211\211\212b\210\307 \310>\205C`W\2034\311\n\"\311 \"\312\313\314\315!\210\316 \210*\312.\n\207" [xmltok-errors xmltok-dependent-regions xmltok-namespace-attributes xmltok-attributes xmltok-replacement xmltok-name-end 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-name-colon xmltok-start xmltok-type lt-pos start rng-dt-namespace-context-getter rng-parsing-for-state] 9]) (defalias 'rng-find-undeclared-prefixes #[nil "\306  \n\307\310 \210 \2037 @\311 !\211 \203/ \235\204/\312 !\204/ B) A\211\204\f\211)\211\205\\ @\313\311 !\205Q\314 !\" A\211\204D\307+\207" [rng-undeclared-prefixes xmltok-attributes nxml-ns-state att ns-state iter nxml-ns-changed-prefixes nil nxml-ns-pop-state xmltok-attribute-prefix nxml-ns-get-prefix delete xmltok-attribute-local-name prefix state xmltok-namespace-attributes] 4]) (defalias 'rng-prune-attribute-at #[(start atts) "\205$ @\211\304H) =\203\305 @\"\202\" A\211\204)\207" [atts cur att start 0 delq] 4]) (defalias 'rng-adjust-state-for-attribute-value #[(name-start colon name-end) "\205\306 \"\306\203T\202 \"\n\205\307\n!\n\203' \205,\310 \fB!+\207" [colon name-start prefix name-end local-name ns buffer-substring-no-properties nxml-ns-get-prefix rng-match-attribute-name] 3]) (defalias 'rng-complete-qname-function #[(string predicate flag) "\304\305\306!\"\n\204\307 #\202/\n\310=\203!\311 #\202/\n\312=\205/\313 \"\205/\310)\207" [string alist flag predicate mapcar #[(name) "\301B\207" [name nil] 2] rng-generate-qname-list try-completion t all-completions lambda assoc] 4]) (defalias 'rng-generate-qname-list #[(&optional string) "\205\306\307\"\205\310\224\310V\205\310\211\224O\311\312 \"\313\211\211\211\211\203O@\211\203C \314 \"BB\315 A\"\211\204/\211\203\232\f@\211@ A\204\223\203z \203\223\316!\204\223 C\241\210\202\223\317 !\211\203\207 \nC\241\210\204\223 \313 AB\241\210\fA\211\204V\320\321\322\323\311\324 \"B\"\325\"!.\207" [string rng-complete-target-names prefer ns iter ns-prefixes string-match ":" 0 mapcar car nil nxml-ns-prefixes-for delq nxml-ns-get-prefix rng-get-preferred-unused-prefix rng-uniquify-equal sort apply append #[(name) "@\203\302\303\304@ \"A\"\207AC\207" [name ns-prefixes-alist mapcar #[(prefix) "\203\n\302 AQ\207 A\207" [prefix name ":"] 3] assoc] 5] string< ns-prefixes-alist namespaces forced-prefix rng-complete-name-attribute-flag rng-complete-extra-strings] 9]) (defalias 'rng-get-preferred-unused-prefix #[(ns) "\305\306! \"\307\211\211\203>\fA\310\n!\203>\f > \203>\305 \"\211\203>\310\fA!\2038\f >\211\202\fA\202\n+\207" [ns rng-preferred-prefix-alist prefix iter ns-prefix assoc symbol-name nil nxml-ns-get-prefix] 4]) (defalias 'rng-strings-to-completion-alist #[(strings) "\301\302\303\304\301\305\"\306\"!\"\207" [strings mapcar #[(s) "\211B\207" [s] 2] rng-uniquify-equal sort rng-escape-string string<] 7]) (provide 'rng-nxml)