]>
Commit | Line | Data |
---|---|---|
1 | ;ELC\1c\0\0\0 | |
2 | ;;; Compiled | |
3 | ;;; in Emacs version 28.2 | |
4 | ;;; with all optimizations. | |
5 | ||
6 | ||
7 | ||
8 | (byte-code "\300\301!\210\300\302!\207" [require xml jabber-util] 2) | |
9 | #@178 Return STRING with all matches for REGEXP replaced with NEWTEXT. | |
10 | NEWTEXT is inserted literally, without changing its case or treating "\" | |
11 | specially. | |
12 | ||
13 | (fn STRING REGEXP NEWTEXT)\1f | |
14 | (defalias 'jabber-replace-in-string #[771 "\300\ 2\ 2\ 5\301\211%\207" [replace-regexp-in-string t] 9 (#$ . 154)]) | |
15 | (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put jabber-replace-in-string speed -1 put byte-optimizer byte-compile-inline-expand] 5) | |
16 | #@37 Escape STRING for XML. | |
17 | ||
18 | (fn STRING)\1f | |
19 | (defalias 'jabber-escape-xml #[257 "\211;\203g\0\211\260\ 1\211\300\301\302\ 2\ 2\ 5\303\211%\266\203\262\ 1\211\304\305\302\ 2\ 2\ 5\303\211%\266\203\262\ 1\211\306\307\302\ 2\ 2\ 5\303\211%\266\203\262\ 1\211\310\311\302\ 2\ 2\ 5\303\211%\266\203\262\ 1\211\312\313\302\ 2\ 2\ 5\303\211%\266\203\262\ 1\211\314\315\302\ 2\ 2\ 5\303\211%\266\203\262\ 1\211\316\317\302\ 2\ 2\ 5\303\211%\207\207" ["\f" "\n" replace-regexp-in-string t "[\0-\b\v\f\ e-\1f]" " " "&" "&" "<" "<" ">" ">" "'" "'" "\"" """] 11 (#$ . 596)]) | |
20 | #@39 Unescape STRING for XML. | |
21 | ||
22 | (fn STRING)\1f | |
23 | (defalias 'jabber-unescape-xml #[257 "\211;\203I\0\211\ 1\300\301\302\ 2\ 2\ 5\303\211%\266\203\262\ 1\211\304\305\302\ 2\ 2\ 5\303\211%\266\203\262\ 1\211\306\307\302\ 2\ 2\ 5\303\211%\266\203\262\ 1\211\310\311\302\ 2\ 2\ 5\303\211%\266\203\262\ 1\211\312\313\302\ 2\ 2\ 5\303\211%\207\207" [""" "\"" replace-regexp-in-string t "'" "'" ">" ">" "<" "<" "&" "&"] 11 (#$ . 1112)]) | |
24 | #@138 Return SEXP as well-formatted XML. | |
25 | SEXP should be in the form: | |
26 | (tagname ((attribute-name . attribute-value)...) children...) | |
27 | ||
28 | (fn SEXP)\1f | |
29 | (defalias 'jabber-sexp2xml #[257 "\211;\203 \0\300\ 1!\207\211@<\203'\0\301\ 1\211\203%\0\211@\ 2\302\ 2!P\262\ 3\ 1A\266\202\202\11\0\210\207\211:\203<\0\211@;\203<\0\211@G\303U\203<\0\301\207\301\304\305\ 3@!P\262\ 1\ 1A@\211\203i\0\211@\211:\203b\0\ 2\306\307\305\ 4@!\300\ 5A!#P\262\ 3\ 1A\266\202\202H\0\210\ 1AA\203\226\0\211\310P\262\ 1\ 1AA\211\203\214\0\211@\ 2\302\ 2!P\262\ 3\ 1A\266\202\202x\0\210\211\311\305\ 4@!\310R\207\211\312P\207" [jabber-escape-xml "" jabber-sexp2xml 0 "<" symbol-name format " %s='%s'" ">" "</" "/>"] 10 (#$ . 1516)]) | |
30 | #@344 Skip to end of tag or matching closing tag if present. | |
31 | Return t iff after a closing tag, otherwise throws an 'unfinished | |
32 | tag with value nil. | |
33 | If DONT-RECURSE-INTO-STREAM is non-nil, stop after an opening | |
34 | <stream:stream> tag. | |
35 | ||
36 | The version of `sgml-skip-tag-forward' in Emacs 21 isn't good | |
37 | enough for us. | |
38 | ||
39 | (fn &optional DONT-RECURSE-INTO-STREAM)\1f | |
40 | (defalias 'jabber-xml-skip-tag-forward #[256 "\300\301w\210\302\303!\203\e\0\304\305\301\306#\203\16\0\307\225b\207\310\311\301\"\207\302\312!\203l\0\313\314!\307\225b\210\315\316!\210\302\317!\2038\0\307\225b\210\306\207\302\320!\203g\0\307\225b\210\ 1\203L\0\211\321\232\204e\0\300\301w\210\302\322\323\ 3\320Q!!\204a\0\324 \210\202L\0\307\225b\210\306\207\310\311\301\"\207\310\311\301\"\207" ["^<" nil looking-at "<!\\[CDATA\\[" search-forward "]]>" t 0 throw unfinished "<\\([^[:space:]/>]+\\)\\([[:space:]]+[^=>]+=[[:space:]]*'[^']*'\\|[[:space:]]+[^=>]+=[[:space:]]*\"[^\"]*\"\\)*" match-string 1 skip-syntax-forward " -" "/>" ">" "stream:stream" regexp-quote "</" jabber-xml-skip-tag-forward] 7 (#$ . 2157)]) | |
41 | #@196 Parse the first XML stanza in the current buffer. | |
42 | Parse and return the first complete XML element in the buffer, | |
43 | leaving point at the end of it. If there is no complete XML | |
44 | element, return nil.\1f | |
45 | (defalias 'jabber-xml-parse-next-stanza #[0 "\3002\ e\0eb\210\301 \210`eV0\205\15\0\302e`\"\207" [unfinished jabber-xml-skip-tag-forward xml-parse-region] 3 (#$ . 3208)]) | |
46 | #@81 Return the tag associated with NODE. | |
47 | The tag is a lower-case symbol. | |
48 | ||
49 | (fn NODE)\1f | |
50 | (defalias 'jabber-xml-node-name #[257 "\211<\205\a\0\211@\207" [] 2 (#$ . 3574)]) | |
51 | (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put jabber-xml-node-name speed -1 put byte-optimizer byte-compile-inline-expand] 5) | |
52 | #@72 Return the list of attributes of NODE. | |
53 | The list can be nil. | |
54 | ||
55 | (fn NODE)\1f | |
56 | (defalias 'jabber-xml-node-attributes #[257 "\211<\205\b\0\211A@\207" [] 2 (#$ . 3886)]) | |
57 | (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put jabber-xml-node-attributes speed -1 put byte-optimizer byte-compile-inline-expand] 5) | |
58 | #@93 Return the list of children of NODE. | |
59 | This is a list of nodes, and it can be nil. | |
60 | ||
61 | (fn NODE)\1f | |
62 | (defalias 'jabber-xml-node-children #[257 "\211AA\211\300\232?\205\v\0\211\207" [((""))] 4 (#$ . 4202)]) | |
63 | (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put jabber-xml-node-children speed -1 put byte-optimizer byte-compile-inline-expand] 5) | |
64 | #@118 Return the children of NODE whose tag is CHILD-NAME. | |
65 | CHILD-NAME should be a lower case symbol. | |
66 | ||
67 | (fn NODE CHILD-NAME)\1f | |
68 | (defalias 'jabber-xml-get-children #[514 "\300\ 2\211AA\211\301\232?\205\r\0\211\266\202\211\2034\0\211@\211\203-\0\211\211<\205!\0\211@\262\ 1\ 4\232\203-\0\211\ 3B\262\ 3\ 1A\266\202\202\ f\0\210\211\237\207" [nil ((""))] 7 (#$ . 4554)]) | |
69 | #@103 Get from NODE the value of ATTRIBUTE. | |
70 | Return nil if the attribute was not found. | |
71 | ||
72 | (fn NODE ATTRIBUTE)\1f | |
73 | (defalias 'jabber-xml-get-attribute #[514 "\ 1:\205 \0\300\ 2\ 2\"\207" [xml-get-attribute-or-nil] 5 (#$ . 4897)]) | |
74 | (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put jabber-xml-get-attribute speed -1 put byte-optimizer byte-compile-inline-expand] 5) | |
75 | #@66 Get "xmlns" attribute of NODE, or nil if not present. | |
76 | ||
77 | (fn NODE)\1f | |
78 | (defalias 'jabber-xml-get-xmlns #[257 "\211\300\ 1:\205\v\0\301\ 2\ 2\"\207" [xmlns xml-get-attribute-or-nil] 6 (#$ . 5263)]) | |
79 | (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put jabber-xml-get-xmlns speed -1 put byte-optimizer byte-compile-inline-expand] 5) | |
80 | #@385 Find sub-node of XML-DATA according to PATH. | |
81 | PATH is a vaguely XPath-inspired list. Each element can be: | |
82 | a symbol go to first child node with this node name | |
83 | cons cell car is string containing namespace URI, | |
84 | cdr is string containing node name. Find | |
85 | first matching child node. | |
86 | any string character data of this node. | |
87 | ||
88 | (fn XML-DATA PATH)\1f | |
89 | (defalias 'jabber-xml-path #[514 "\ 1\ 1\203\205\0\211\203\205\0\ 1@\2119\203\1a\0\300\ 2\ 2\"@\266\202\202~\0\211:\203W\0\3012R\0\300\ 2\302\ 3A!\"\211\205O\0\211@\211\303\ 1:\205;\0\304\ 2\ 2\"\266\202\ 3@\230\203H\0\305\301\ 2\"\210\ 1A\266\202\202*\0\262\ 10\266\202\202~\0\211;\203x\0\ 1\211AA\211\306\232?\205h\0\211\266\202@\262\ 2\ 1;\204}\0\266\ 2\307\202~\0\310\311\ 2\"\210\210\ 1A\262\ 2\202\ 1\0\207" [jabber-xml-get-children --cl-block-nil-- intern xmlns xml-get-attribute-or-nil throw (("")) nil error "Unknown path step: %s"] 11 (#$ . 5599)]) | |
90 | #@165 Evaluate BODY with ATTRIBUTES bound to their values in XML-DATA. | |
91 | ATTRIBUTES must be a list of symbols, as present in XML-DATA. | |
92 | ||
93 | (fn ATTRIBUTES XML-DATA &rest BODY)\1f | |
94 | (defalias 'jabber-xml-let-attributes '(macro . #[642 "\300\301\302\303\ 5\"\ 5\"\ 2BB\207" [let mapcar make-closure #[257 "\211\301\300\302\ 4DED\207" [V0 jabber-xml-get-attribute quote] 6 "\n\n(fn ATTR)"]] 8 (#$ . 6487)])) | |
95 | (put 'jabber-xml-let-attributes 'lisp-indent-function 2) | |
96 | #@47 | |
97 | ||
98 | (fn XML-DATA &optional DEFAULT-NS PREFIXES)\1f | |
99 | (defalias 'jabber-xml-resolve-namespace-prefixes #[769 "\ 1C\ 1C\ 4\211<\205\f\0\211@\262\ 1\ 5\211<\205\17\0\211A@\262\ 1\ 2\300\ 2\ 5\242\"\240\210\ 6\ 6\211\301\ 1:\205.\0\302\ 2\ 2\"\266\203\211\2038\0\ 4\ 1\240\210\210\303\ 2!\304\305\ 2\"\203u\0\306\307\ 2\"\306\310\ 3\"\311\ 2\ 6\a\242\"\211\204^\0\312\313\ 5\"\266\ 5\202v\0\ 6\n\314\ 3!\240\210\ 6\nA\301\ 2AB\315\301\ 6\b\"B\240\266\ 4\210\316\317\320\ 6\ 6\ 6\ 6#\ 6\b\211AA\211\321\232?\205\213\0\211\266\202\"\210\ 6\ 6\207" [jabber-xml-merge-namespace-declarations xmlns xml-get-attribute-or-nil symbol-name string-match "\\(.*\\):\\(.*\\)" match-string 1 2 assoc message "jabber-xml-resolve-namespace-prefixes: Unknown prefix in %s" intern delq mapc make-closure #[257 "\211<\205\f\0\302\ 1\300\242\301\242#\207" [V0 V1 jabber-xml-resolve-namespace-prefixes] 5 "\n\n(fn X)"] ((""))] 16 (#$ . 6930)]) | |
100 | #@23 | |
101 | ||
102 | (fn ATTRS PREFIXES)\1f | |
103 | (defalias 'jabber-xml-merge-namespace-declarations #[514 "\ 1\211\203?\0\211@\300\ 1@!\301\302\ 2\"\2037\0\211\303\225\304O\ 2A\ 1\ 1B\305\ 3\ 6\b\"\2030\0\306\305\ 4\ 6 \"\ 6\b\"\2022\0\ 6\ 6B\262\ 6\266\ 2\210\ 1A\266\202\202\ 1\0\210\207" [symbol-name string-match "xmlns:" 0 nil assoc remove] 12 (#$ . 7758)]) | |
104 | (provide 'jabber-xml) |