;ELC ;;; Compiled ;;; in Emacs version 26.3 ;;; 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. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (require 'xml) #@115 Convert infoset XML to string representation. PRETTY-PRINT is currently ignored. (fn XML &optional PRETTY-PRINT) (defalias 'xml->string #[513 "\211\203 \300\301!r\211q\210\302\303\304\305\306!\307\"\310$\216\311C!\210\312 *\207\313!\207" [generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205 \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 xml-print buffer-string rudel-xml-print-node] 9 (#$ . 424)]) #@45 Convert STRING to XML infoset. (fn STRING) (defalias 'string->xml #[257 "\300\301!r\211q\210\302\303\304\305\306!\307\"\310$\216c\210\311ed\"@*\207" [generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205 \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 xml-parse-region] 8 (#$ . 856)]) #@206 Generate code for accessing the NAME component of NODE-VAR. The optional argument TYPE is used when name is :child or :children to specify the element name of the child. (fn NODE-VAR NAME &optional TYPE) (defalias 'rudel-xml--node-component #[770 "\300=\203\301\302DD\303D\207\304=\203+\211\204 \305\306\307\310E\"\210\301\311\312DED\313D\207\314=\203D\211\203>\311\312DE\313D\207\302D\303D\207\315\312DE\303D\207" [:text car xml-node-children nil :child signal wrong-number-of-arguments rudel-xml--node-component 2 xml-get-children quote t :children xml-get-attribute] 8 (#$ . 1170)]) #@128 Generate code to parse the value of VALUE-VAR as TYPE. Currently, TYPE can be one of 'string and 'number. (fn VALUE-VAR TYPE) (defalias 'rudel-xml--parse-value #[514 "\211\300=\203\207\211\301=\203\302\303DE\207\304\305\306D\"\207" [string number when string-to-number signal wrong-type-argument type] 6 (#$ . 1782)]) #@308 Execute BODY with bindings of attribute values of TAG according to forms in ATTRS. ATTRS is structured as follows: ATTRS ::= (BINDING*) BINDING ::= VAR | (VAR ATTR) | (VAR ATTR TYPE) VAR is a symbol. ATTR is a symbol whose symbol-name is used as tag name. TYPE can be `number'. (fn ATTRS TAG &rest BODY) (defalias 'with-tag-attrs '(macro . #[642 "\300\301!\302\303\304\305\306\307!\310\"\311\312%\"\313DC\313\314BEE\207" [make-symbol "node-var" mapcar make-byte-code 257 "\2119\203 \211\301\300\"@D\207\211:\203\224\211@A\211:\203\217\211@A\211\2044\301\300\"@D\262\266\202\202\212\211:\203\205\211@A\211\204{\301\300#\211@A\211@A\203_D\202r\302\303!\304DC\305\"ED\262\266\202\266\205\266\203\202\200\306\307\"\266\202\202\212\306\307\"\266\202\202\223\306\307\"\207\306\307\"\207" vconcat vector [rudel-xml--node-component make-symbol "value-string" let rudel-xml--parse-value error "Invalid tag clause: %s"] 24 "\n\n(fn ATTR)" let progn] 11 (#$ . 2116)])) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put with-tag-attrs lisp-indent-function 2 put edebug-form-spec (listp form &rest form)] 5) #@143 Bind a var to children of a tag, eval BODY for each binding. VAR-AND-TAG has to be a list of the form (VAR TAG). (fn VAR-AND-TAG &rest BODY) (defalias 'do-tag-children '(macro . #[385 "@A@\300\301!\302\303DDC\304DBBE\207" [make-symbol "children" let xml-node-children dolist] 10 (#$ . 3295)])) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put do-tag-children lisp-indent-function 1 put edebug-form-spec ((symbolp form) &rest form)] 5) #@163 Return positions of top-level XML tags in STRING. The return value is a list of cons cells. Each cell contains a start position and an end position. (fn STRING) (defalias 'rudel-xml-toplevel-tag-positions #[257 "\300\301\211\211\302\300GS\"\211\203u\211@H\303U\2034TH\304U?\262\300U\203n\203n\211\262\202nH\305U\203nSH\304U\204`SH\306U\204`\203\\T\262\202`S\262\300U\203nTBB\262A\266\202\202 \210\211\237\207" [0 nil number-sequence 60 47 62 63] 9 (#$ . 3763)]) #@86 Parse STRING as partial XML document, return complete and partial tags. (fn STRING) (defalias 'rudel-xml-toplevel-tags #[257 "\300!\301\302\303\304\305\306!\307\"\310\311%\"\203%\312\313\301\314\"\"\315O\202&D\207" [rudel-xml-toplevel-tag-positions mapcar make-byte-code 257 "\300@AO\207" vconcat vector [] 4 "\n\n(fn TAG-RANGE)" apply max cdr nil] 9 (#$ . 4276)]) #@273 Assemble complete XML tags in DATA, return list of tags and a rest. The returned value is a list of the following form (COMPLETE INCOMPLETE) where complete COMPLETE is a list of complete tags and INCOMPLETE is a string containing not yet complete tags. (fn DATA STORAGE) (defalias 'rudel-xml-assemble-tags #[514 "\300P!\211@A\211@A\211D\266\202\207" [rudel-xml-toplevel-tags] 11 (#$ . 4662)]) #@40 Serialize XML infoset NODE. (fn NODE) (defalias 'rudel-xml-print-node #[257 "\211;\203\207\300\211@\262!\211A@\262\211AA\262\301\205 \302\303\304\302#\203.\305\202/\306\303\307\310#\205?\311 \305Q\260\207" [symbol-name "<" " " mapconcat rudel-xml-print-attr ">" "/>" rudel-xml-print-node "" "