%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/share/emacs/27.2/lisp/
Upload File :
Create Path :
Current File : //usr/local/share/emacs/27.2/lisp/xml.elc

;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; with all optimizations.

;;; This file contains utf-8 non-ASCII characters,
;;; and so cannot be loaded into Emacs 22 or earlier.
(and (boundp 'emacs-version)
     (< (aref emacs-version (1- (length emacs-version))) ?A)
     (string-lessp emacs-version "23")
     (error "`%s' was compiled for Emacs 23 or later" #$))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


#@43 What to substitute for undefined entities
(defconst xml-undefined-entity "?" (#$ . 408))
#@53 Alist mapping default XML namespaces to their URIs.
(defconst xml-default-ns '((#1="" . #1#) ("xml" . "http://www.w3.org/XML/1998/namespace") ("xmlns" . "http://www.w3.org/2000/xmlns/")) (#$ . 503))
#@55 Alist mapping XML entities to their replacement text.
(defvar xml-entity-alist '(("lt" . "&#60;") ("gt" . ">") ("apos" . "'") ("quot" . "\"") ("amp" . "&#38;")) (#$ . 708))
#@293 The maximum size of entity reference expansions.
If the size of the buffer increases by this many characters while
expanding entity references in a segment of character data, the
XML parser signals an error.  Setting this to nil removes the
limit (making the parser vulnerable to XML bombs).
(defvar xml-entity-expansion-limit 20000 (#$ . 888))
#@43 Alist of defined XML parametric entities.
(defvar xml-parameter-entity-alist nil (#$ . 1239))
#@57 Non-nil when the XML parser is parsing an XML fragment.
(defvar xml-sub-parser nil (#$ . 1339))
#@42 Set to non-nil to get validity checking.
(defvar xml-validating-parser nil (#$ . 1441))
#@393 Return the tag associated with NODE.
Without namespace-aware parsing, the tag is a symbol.

With namespace-aware parsing, the tag is a cons of a string
representing the uri of the namespace with the local name of the
tag.  For example,

    <foo>

would be represented by

    ("" . "foo").

If you'd just like a plain symbol instead, use `symbol-qnames' in
the PARSE-NS argument.

(fn NODE)
(defalias 'xml-node-name #[257 "\211@\207" [] 2 (#$ . 1536)])
(put 'xml-node-name 'byte-optimizer 'byte-compile-inline-expand)
#@72 Return the list of attributes of NODE.
The list can be nil.

(fn NODE)
(defalias 'xml-node-attributes #[257 "\211A@\207" [] 2 (#$ . 2061)])
(put 'xml-node-attributes 'byte-optimizer 'byte-compile-inline-expand)
#@93 Return the list of children of NODE.
This is a list of nodes, and it can be nil.

(fn NODE)
(defalias 'xml-node-children #[257 "\211AA\207" [] 2 (#$ . 2278)])
(put 'xml-node-children 'byte-optimizer 'byte-compile-inline-expand)
#@139 Return the children of NODE whose tag is CHILD-NAME.
CHILD-NAME should match the value returned by `xml-node-name'.

(fn NODE CHILD-NAME)
(defalias 'xml-get-children #[514 "\300\211AA\262\211\203(\211@\211<\203!\211\211@\262\232\203!\211B\262A\266\202\202\210\211\237\207" [nil] 7 (#$ . 2513)])
#@134 Get from NODE the value of ATTRIBUTE.
Return nil if the attribute was not found.

See also `xml-get-attribute'.

(fn NODE ATTRIBUTE)
(defalias 'xml-get-attribute-or-nil #[514 "\300\211A@\262\"A\207" [assoc] 6 (#$ . 2827)])
#@158 Get from NODE the value of ATTRIBUTE.
An empty string is returned if the attribute was not found.

See also `xml-get-attribute-or-nil'.

(fn NODE ATTRIBUTE)
(defalias 'xml-get-attribute #[514 "\300\"\206\301\207" [xml-get-attribute-or-nil ""] 5 (#$ . 3060)])
(put 'xml-get-attribute 'byte-optimizer 'byte-compile-inline-expand)
(defconst xml-name-start-char-re "[[:word:]:_]")
(defconst xml-name-char-re "[[:word:]:_.0-9·̀-ͯ‿⁀-]")
(defconst xml-name-re (concat xml-name-start-char-re xml-name-char-re "*"))
(defconst xml-names-re (concat xml-name-re "\\(?: " xml-name-re "\\)*"))
(defconst xml-nmtoken-re (concat xml-name-char-re "+"))
(defconst xml-nmtokens-re (concat xml-nmtoken-re "\\(?: " xml-name-re "\\)*"))
(defconst xml-char-ref-re "\\(?:&#[0-9]+;\\|&#x[[:xdigit:]]+;\\)")
(defconst xml-entity-ref (concat "&" xml-name-re ";"))
(defconst xml-entity-or-char-ref-re (concat "&\\(?:#\\(x\\)?\\([[:xdigit:]]+\\)\\|\\(" xml-name-re "\\)\\);"))
(defconst xml-pe-reference-re (concat "%\\(" xml-name-re "\\);"))
(defconst xml-reference-re (concat "\\(?:" xml-entity-ref "\\|" xml-char-ref-re "\\)"))
(defconst xml-att-value-re (concat "\\(?:\"\\(?:[^&\"]\\|" xml-reference-re "\\)*\"\\|'\\(?:[^&']\\|" xml-reference-re "\\)*'\\)"))
(defconst xml-tokenized-type-re "\\(?:ID\\|IDREF\\|IDREFS\\|ENTITY\\|ENTITIES\\|NMTOKEN\\|NMTOKENS\\)")
(defconst xml-notation-type-re (concat "\\(?:NOTATION\\s-+(\\s-*" xml-name-re "\\(?:\\s-*|\\s-*" xml-name-re "\\)*\\s-*)\\)"))
(defconst xml-enumeration-re (concat "\\(?:(\\s-*" xml-nmtoken-re "\\(?:\\s-*|\\s-*" xml-nmtoken-re "\\)*\\s-+)\\)"))
(defconst xml-enumerated-type-re (concat "\\(?:" xml-notation-type-re "\\|" xml-enumeration-re "\\)"))
(defconst xml-att-type-re (concat "\\(?:CDATA\\|" xml-tokenized-type-re "\\|" xml-enumerated-type-re "\\)"))
(defconst xml-default-decl-re (concat "\\(?:#REQUIRED\\|#IMPLIED\\|\\(?:#FIXED\\s-+\\)*" xml-att-value-re "\\)"))
(defconst xml-att-def-re (concat "\\(?:\\s-*" xml-name-re #1="\\s-*" xml-att-type-re #1# xml-default-decl-re "\\)"))
(defconst xml-entity-value-re (concat "\\(?:\"\\(?:[^%&\"]\\|" xml-pe-reference-re #1="\\|" xml-reference-re "\\)*\"\\|'\\(?:[^%&']\\|" xml-pe-reference-re #1# xml-reference-re "\\)*'\\)"))
#@147 Syntax table used by the XML parser.
In this syntax table, the XML space characters [ \t\r\n], and
only those characters, have whitespace syntax.
(defvar xml-syntax-table (byte-code "\300\301\302\"\303\211\203\211@\304\305#\210A\266\202\202\210\304\306\307#\210\304\310\307#\210\304\311\307#\210\304\312\307#\210\304\313\307#\210\304\314\307#\210\304\315\307#\210\304\316\307#\210\304\317\307#\210\304\320\307#\210\304\321\307#\210\304\322\307#\210\304\323\307#\210\304\324\307#\210\211\207" [make-char-table syntax-table (3) (32 9 13 10) modify-syntax-entry " " (65 . 90) "w" (97 . 122) (192 . 214) (216 . 246) (248 . 767) (880 . 893) (895 . 8191) (8204 . 8205) (8304 . 8591) (11264 . 12271) (12289 . 55295) (63744 . 64975) (65008 . 65533) (65536 . 983039)] 7) (#$ . 5294))
#@688 Parse the well-formed XML file FILE.
Return the top node with all its children.
If PARSE-DTD is non-nil, the DTD is parsed rather than skipped.

If PARSE-NS is non-nil, then QNAMES are expanded.  By default,
the variable `xml-default-ns' is the mapping from namespaces to
URIs, and expanded names will be returned as a cons

  ("namespace:" . "foo").

If PARSE-NS is an alist, it will be used as the mapping from
namespace to URIs instead.

If it is the symbol `symbol-qnames', expanded names will be
returned as a plain symbol `namespace:foo' instead of a cons.

Both features can be combined by providing a cons cell

  (symbol-qnames . ALIST).

(fn FILE &optional PARSE-DTD PARSE-NS)
(defalias 'xml-parse-file #[769 "\300\301!r\211q\210\302\303\304\305\306!\307\"\310$\216\311!\210\312\"*\207" [generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 insert-file-contents xml--parse-buffer] 10 (#$ . 6097)])
#@917 Parse the region from BEG to END in BUFFER.
Return the XML parse tree, or raise an error if the region does
not contain well-formed XML.

If BEG is nil, it defaults to `point-min'.
If END is nil, it defaults to `point-max'.
If BUFFER is nil, it defaults to the current buffer.
If PARSE-DTD is non-nil, parse the DTD and return it as the first
element of the list.
If PARSE-NS is non-nil, then QNAMES are expanded.  By default,
the variable `xml-default-ns' is the mapping from namespaces to
URIs, and expanded names will be returned as a cons

  ("namespace:" . "foo").

If PARSE-NS is an alist, it will be used as the mapping from
namespace to URIs instead.

If it is the symbol `symbol-qnames', expanded names will be
returned as a plain symbol `namespace:foo' instead of a cons.

Both features can be combined by providing a cons cell

  (symbol-qnames . ALIST).

(fn &optional BEG END BUFFER PARSE-DTD PARSE-NS)
(defalias 'xml-parse-region #[1280 "\204p\262\300\301!r\211q\210\302\303\304\305\306!\307\"\310$\216\311#\210\312\"*\207" [generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 insert-buffer-substring-no-properties xml--parse-buffer] 12 (#$ . 7084)])
#@27 

(fn PARSE-DTD PARSE-NS)
(defalias 'xml--parse-buffer #[514 "\305 p\306\307\310\311\312\"\313\"\314$\216\315!\210\316	\n\316\211\211eb\210m\204\204\317\320\316\321#\203~\322u\210\323\n\n\"\262\204Jm\204%\324u\210\202%\203Y\f\204Y\325\326!\210\202%@<\203v	\203v@\262A\203%AB\262\202%B\262\202%db\210\202%	\203\220\211\237B\202\222\237+\266\206)\207" [xml-syntax-table xml-entity-alist xml-parameter-entity-alist case-fold-search xml-sub-parser syntax-table make-byte-code 0 "r\301q\210\302\300!)\207" vconcat vector [set-syntax-table] 2 set-syntax-table nil search-forward "<" t -1 xml-parse-tag-1 1 error "XML: (Not Well-Formed) Only one root tag allowed"] 14 (#$ . 8336)])
#@600 Perform any namespace expansion.
NAME is the name to perform the expansion on.
DEFAULT is the default namespace.  XML-NS is a cons of namespace
names to uris.  When namespace-aware parsing is off, then XML-NS
is nil.

During namespace-aware parsing, any name without a namespace is
put into the namespace identified by DEFAULT.  nil is used to
specify that the name shouldn't be given a namespace.
Expanded names will by default be returned as a cons.  If you
would like to get plain symbols instead, provide a cons cell

  (symbol-qnames . ALIST)

in the XML-NS argument.

(fn NAME DEFAULT XML-NS)
(defalias 'xml-maybe-do-ns #[771 "\211:\203p\211\242\300=\301\302\"\211\203\303\304\225\"\202\203(\303\304\211\224#\202)\305\230\2051\211?\306\203:\305\202;\203FA\202H\"A\206N\307\203d\204d\305\230\204d\310P!\202o\211\203m\307\202nB\207\310!\207" [symbol-qnames string-match ":" substring 0 "xmlns" assoc "" intern] 12 (#$ . 9064)])
#@418 Parse the tag at point.
If PARSE-DTD is non-nil, the DTD of the document, if any, is parsed and
returned as the first element in the list.
If PARSE-NS is non-nil, expand QNAMES; for further details, see
`xml-parse-region'.

Return one of:
 - a list : the matching node
 - nil    : the point is not looking at a tag.
 - a pair : the first element is the DTD, the second is the node.

(fn &optional PARSE-DTD PARSE-NS)
(defalias 'xml-parse-tag #[512 "\304	\np`\305\306!r\211q\210\307\310\311\312\313!\314\"\315$\216\316 p\307\310\317\312\313\"\320\"\315$\216\321!\210\322\"\210eb\210\323\")\266\202*\262+\207" [case-fold-search xml-entity-alist xml-parameter-entity-alist xml-syntax-table nil generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 syntax-table "r\301q\210\302\300!)\207" [set-syntax-table] set-syntax-table insert-buffer-substring-no-properties xml-parse-tag-1] 14 (#$ . 10046)])
#@104 Like `xml-parse-tag', but possibly modify the buffer while working.

(fn &optional PARSE-DTD PARSE-NS)
(defalias 'xml-parse-tag-1 #[512 "\206\211\304=\203\304	B\202.\211\242:\204%\211\242\304=\203)\211A<\203)\211\202.\211\205.	\305\306\307!)\262\203I\310\311!\210\312\313!\210\314\"\202\362\307\315!\203j\316\225\310\317\320\306#\204]\321\322!\210\323\316\224\"\324 P\262\202\362\325\306\307!)\262\203\223\326!\312\313!\210\203\212\211\314\320\"B\202\216\314\320\"\262\202\362\327\306\307!)\262\203\266\310\330!\210\312\313!\210m?\205\362\306\314\")\202\362\331\306\307!)\262\203\306\320\202\362\307\332!\203\322\333\225b\210\334\333!\335!\320:\203\211\203\211@\211@:\203\211@@\336\232\203\211@AAB@9\203\211AB\241\266\202\211B\262\210A\266\202\202\335\210\337\340#D\262\341\306\307!)\262\2038\342u\210\211\237\202\315\320f\343=\203\303\333u\210\331\344Q\307!\204\270m\203X\321\345\"\210\202F\331\306\307!)\262\203\203\342u\210\321\346`\211\347\344\320\306#\203x\316\224\202yd{\262#\210\202F\320f\350U\203\234\314\320\"\211\203\230\211B\262\210\202F\324 @;\203\257\211A\262\242P\202\260\211B\262\210\202F\316\225b\210\237\262\202\315\321\351\323`\352Z`T\"\"\266\203\202\362\204\332\321\353!\210\324 \211G\316U\203\357\321\354\323``\352\\d^\"\"\210\211\262)\207" [xml-validating-parser xml-default-ns inhibit-changing-match-data xml-sub-parser symbol-qnames "<\\?" t looking-at search-forward "?>" skip-syntax-forward " " xml-parse-tag-1 "<!\\[CDATA\\[" 0 "]]>" nil error "XML: (Not Well Formed) CDATA section does not end anywhere in the document" buffer-substring-no-properties xml-parse-string "<!DOCTYPE[ 	\n
]" xml-parse-dtd "<!--" "-->" "</" "<\\([[:word:]:_][[:word:]:_.0-9·̀-ͯ‿⁀-]*\\)" 1 match-string-no-properties xml-parse-attlist "http://www.w3.org/2000/xmlns/" xml-maybe-do-ns "" "/>" 2 62 "\\s-*>" "XML: (Not Well-Formed) End of document while reading element `%s'" "XML: (Not Well-Formed) Invalid end tag `%s' (expecting `%s')" re-search-forward 60 "XML: (Well-Formed) Couldn't parse tag: %s" 10 "XML: (Well-Formed) Invalid character" "XML: (Not Well-Formed) Could not parse: %s"] 15 (#$ . 11030)])
#@195 Parse character data at point, and return it as a string.
Leave point at the start of the next thing to parse.  This
function can modify the buffer by expanding entity and character
references.
(defalias 'xml-parse-string #[0 "`\306 `Z\307\211m\204\264\310\311\312!)\262\204\264\313\307w\210\307f\314=\203\312	!\204,\315\316!\210\317\320!\211\262\203w\321 \322\323\324\325\326!\327\"\330$\216\331\332\333\317\334!\205N\335\"\")\262\262\211\204d\n\203d\315\336\317\323!\"\210\337\203o\340!\202p\311\211#\210\202\236\317\330!\262\341\f\"\262\211\204\217\n\203\217\315\342\"\210\337A\206\226\311\211#\210\323\224b\210
\203\306 `Z
\\V\203\315\343!\210\202\344 b\210\345\346\311#\203\312\337\347\311\211#\210\202\271\211b\210`{\262\207" [inhibit-changing-match-data xml-entity-or-char-ref-re xml-validating-parser xml-undefined-entity xml-entity-alist xml-entity-expansion-limit buffer-size nil "<" t looking-at "^<&" 38 error "XML: (Not Well-Formed) Invalid entity reference" match-string 2 match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 decode-char ucs string-to-number 1 16 "XML: (Validity) Invalid character reference `%s'" replace-match string assoc "XML: (Validity) Undefined entity `%s'" "XML: Entity reference expansion surpassed `xml-entity-expansion-limit'" point-marker re-search-forward "
\n?" "\n"] 11 (#$ . 13286)])
#@123 Return the attribute-list after point.
Leave point at the first non-blank character after the tag.

(fn &optional XML-NS)
(defalias 'xml-parse-attlist #[256 "\300\211\211\301\302!\210\303\304!\203o\305\225\262\306\307\310!\300#\262b\210\303\311!\203+\305\225\262\202<\303\312!\2038\305\225\262\202<\313\314!\210\315\"\203G\313\316!\210\307\310!\317\320\302#\210\321!\211;\204\\\313\322!\210BB\262\266b\210\301\302!\210\202\237\207" [nil skip-syntax-forward " " looking-at "\\([[:word:]:_][[:word:]:_.0-9·̀-ͯ‿⁀-]*\\)\\s-*=\\s-*" 0 xml-maybe-do-ns match-string-no-properties 1 "\"\\([^\"]*\\)\"" "'\\([^']*\\)'" error "XML: (Not Well-Formed) Attribute values must be given between quotes" assoc "XML: (Not Well-Formed) Each attribute must be unique within an element" replace-regexp-in-string "\\s-\\{2,\\}" xml-substitute-special "XML: (Not Well-Formed) Entities in attributes cannot expand into elements"] 9 (#$ . 14709)])
#@78 Skip the DTD at point.
This follows the rule [28] in the XML specifications.
(defalias 'xml-skip-dtd #[0 "\301\302 )\207" [xml-validating-parser nil xml-parse-dtd] 1 (#$ . 15672)])
#@50 Parse the DTD at point.

(fn &optional PARSE-NS)
(defalias 'xml-parse-dtd #[256 "\305u\210\306\307!\210\310\311\312!)\262\203	\203\313\314!\210\312\n!\210\315\316!\317D\320\316\225b\210\306\307!\210\312\321!\203w\316\225b\210\322\323\320\311#\204N\322\324\320\311#\204N\313\325!\210\315\326!\306\307!\210\322\327\320\311#\204i\322\330\320\311#\204i\313\331!\210\211\315\326!\332EB\262\210\202\236\312\333!\203\236\316\225b\210\322\327\320\311#\204\225\322\330\320\311#\204\225\313\331!\210\315\326!\334DB\262\306\307!\210\320f\335=\203\257\320u\210\202v\320f\336=\204\272\313\337!\210\320u\210\212\322\f\320\311#\205\310\316\224)\262\340\311\312!)\262\204j\306\307!\210m\203\346\313\341!\210\202\313\312\342!\203u\211\203\367\316\225X\203u\315\326!\315\343!\316\225\344\320\311\345#)\266\203\203\346\262\202U\347\320\311\345#)\266\203\203+\350\262\202U\345\351\"\203=\352\315\326\"!\262\202U\353\320\311\345#)\266\203\204U	\203U\313\354!\210\355\"\203f	\203f\313\356\"\210DB\262\211b\266\202\313\312\357!\203\215\211\203\206\316\225X\203\215\316\225b\210\202\313\360\311\312!)\262\203\270\361\362!\210\211\203\313`V\203\313\212\322\f\320\311#\205\262\316\224)\262\202\313\312\363!\203\372\211\203\311\316\225X\203\372\315\343!\316\225b\210\364\326!\203\332\303\202\333\365\366\367\315\370!\326\371#!\355J\"\204\365BJBL\210\266\202\313\312\372!\204\312\373!\203\211\203\316\225X\203\316\225b\210\202\313\211\203X\212\211b\210\312\f!\204*\313\374!\210\364\326!\355\"\211\203B\375A\311\211#\210b\210\202F\316\225b\210\266\322\f\320\311#\205R\316\224\262)\202\313	\203c\313\376!\210\202\313\377\320w\210\202\313\312\201@!\203v\316\225b\210\237)\207" [inhibit-changing-match-data xml-validating-parser xml-name-re xml-parameter-entity-alist xml-pe-reference-re 9 skip-syntax-forward " " ">" t looking-at error "XML: (Validity) Invalid DTD (expecting name of the document)" match-string-no-properties 0 dtd nil "PUBLIC\\s-+" re-search-forward "\\=\"\\([[:space:][:alnum:]'()+,./:=?;!*#@$_%-]*\\)\"" "\\='\\([[:space:][:alnum:]()+,./:=?;!*#@$_%-]*\\)'" "XML: Missing Public ID" 1 "\\='\\([^']*\\)'" "\\=\"\\([^\"]*\\)\"" "XML: Missing System ID" public "SYSTEM\\s-+" system 62 91 "XML: Bad DTD" "\\s-*\\]" "XML: (Well-Formed) End of document while reading DTD" "<!ELEMENT\\s-+\\([[:word:]:_][[:word:]:_.0-9·̀-ͯ‿⁀-]*\\)\\s-+\\([^>]+\\)>" 2 "\\`EMPTY\\s-*\\'" string-match empty "\\`ANY\\s-*$" any "\\`(\\(.*\\))\\s-*\\'" xml-parse-elem-type "^%[^;]+;[ 	\n
]*\\'" "XML: (Validity) Invalid element type in the DTD" assoc "XML: (Validity) DTD element declarations must be unique (<%s>)" "<!ATTLIST[ 	\n
]*\\([[:word:]:_][[:word:]:_.0-9·̀-ͯ‿⁀-]*\\)[ 	\n
]*\\(\\(?:\\s-*[[:word:]:_][[:word:]:_.0-9·̀-ͯ‿⁀-]*\\s-*\\(?:CDATA\\|\\(?:ID\\|IDREF\\|IDREFS\\|ENTITY\\|ENTITIES\\|NMTOKEN\\|NMTOKENS\\)\\|\\(?:\\(?:NOTATION\\s-+(\\s-*[[:word:]:_][[:word:]:_.0-9·̀-ͯ‿⁀-]*\\(?:\\s-*|\\s-*[[:word:]:_][[:word:]:_.0-9·̀-ͯ‿⁀-]*\\)*\\s-*)\\)\\|\\(?:(\\s-*[[:word:]:_.0-9·̀-ͯ‿⁀-]+\\(?:\\s-*|\\s-*[[:word:]:_.0-9·̀-ͯ‿⁀-]+\\)*\\s-+)\\)\\)\\)\\s-*\\(?:#REQUIRED\\|#IMPLIED\\|\\(?:#FIXED\\s-+\\)*\\(?:\"\\(?:[^&\"]\\|\\(?:&[[:word:]:_][[:word:]:_.0-9·̀-ͯ‿⁀-]*;\\|\\(?:&#[0-9]+;\\|&#x[[:xdigit:]]+;\\)\\)\\)*\"\\|'\\(?:[^&']\\|\\(?:&[[:word:]:_][[:word:]:_.0-9·̀-ͯ‿⁀-]*;\\|\\(?:&#[0-9]+;\\|&#x[[:xdigit:]]+;\\)\\)\\)*'\\)\\)\\)\\)*[ 	\n
]*>" "<!--" search-forward "-->" "<!ENTITY[ 	\n
]+\\(%[ 	\n
]+\\)?\\([[:word:]:_][[:word:]:_.0-9·̀-ͯ‿⁀-]*\\)[ 	\n
]*\\(\\(?:\"\\(?:[^%&\"]\\|%\\([[:word:]:_][[:word:]:_.0-9·̀-ͯ‿⁀-]*\\);\\|\\(?:&[[:word:]:_][[:word:]:_.0-9·̀-ͯ‿⁀-]*;\\|\\(?:&#[0-9]+;\\|&#x[[:xdigit:]]+;\\)\\)\\)*\"\\|'\\(?:[^%&']\\|%\\([[:word:]:_][[:word:]:_.0-9·̀-ͯ‿⁀-]*\\);\\|\\(?:&[[:word:]:_][[:word:]:_.0-9·̀-ͯ‿⁀-]*;\\|\\(?:&#[0-9]+;\\|&#x[[:xdigit:]]+;\\)\\)\\)*'\\)\\)[ 	\n
]*>" match-string xml-entity-alist xml--entity-replacement-text substring 3 -1 "<!ENTITY[ 	\n
]+\\(%[ 	\n
]+\\)?\\([[:word:]:_][[:word:]:_.0-9·̀-ͯ‿⁀-]*\\)[ 	\n
]+SYSTEM[ 	\n
]+\\(\"[^\"]*\"\\|'[^']*'\\)[ 	\n
]*>" "<!ENTITY[ 	\n
]+\\(%[ 	\n
]+\\)?\\([[:word:]:_][[:word:]:_.0-9·̀-ͯ‿⁀-]*\\)[ 	\n
]+PUBLIC[ 	\n
]+\"[- 
\na-zA-Z0-9'()+,./:=?;!*#@$_%]*\"\\|'[- 
\na-zA-Z0-9()+,./:=?;!*#@$_%]*'[ 	\n
]+\\(\"[^\"]*\"\\|'[^']*'\\)[ 	\n
]*>" "XML: Internal error" replace-match "XML: (Validity) Invalid DTD item" "^]" "\\s-*]>"] 14 (#$ . 15860)])
#@171 Return the replacement text for the entity value STRING.
The replacement text is obtained by replacing character
references and parameter-entity references.

(fn STRING)
(defalias 'xml--entity-replacement-text #[257 "\303\304\305\"\203\215\306\307\211\224#B\262\306\307\225\"\304\211\310\311\"\211\262\203;\312\313\314!\"\262\211\203\205\315!B\262\202\205\310\316\"\211\262\203]\312\313\314\317\"\"\262\211\203\205\315!B\262\202\205\310\320\"\211\262\203\205\321\"\262\211\204{	\203{\322\323\"\210\211A\206\201\nB\262\262\266\202\324\325B\237\326#\207" [xml-parameter-entity-alist xml-validating-parser xml-undefined-entity "\\(?:&#\\([0-9]+\\)\\|&#x\\([[:xdigit:]]+\\)\\|%\\([[:word:]:_][[:word:]:_.0-9·̀-ͯ‿⁀-]*\\)\\);" nil string-match substring 0 match-string 1 decode-char ucs string-to-number string 2 16 3 assoc error "XML: (Validity) Undefined parameter entity `%s'" mapconcat identity ""] 11 (#$ . 20405)])
#@65 Convert element type STRING into a Lisp structure.

(fn STRING)
(defalias 'xml-parse-elem-type #[257 "\301\211\302\303\"\203Q\304\305\"\262\304\306\"\262\307\301\310\302#)\266\203\2033\311\312\313\314\307\"\"B\262\202d\315\301\310\302#)\266\203\203d\316\312\313\314\315\"\"B\262\202d\302\317\"\203d\304\305\"\262\304\306\"\262;\203r\320\230\203r\321\262\211\322\230\203~\323D\202\227\211\324\230\203\212\325D\202\227\211\326\230\203\226\327D\202\227\207" [inhibit-changing-match-data nil string-match "(\\([^)]+\\))\\([+*?]?\\)" match-string-no-properties 1 2 "|" t choice mapcar xml-parse-elem-type split-string "," seq "[ 	\n
]*\\([^+*?]+\\)\\([+*?]?\\)" "#PCDATA" pcdata "+" + "*" * "?" \?] 10 (#$ . 21382)])
#@135 Return STRING, after substituting entity and character references.
STRING is assumed to occur in an XML attribute value.

(fn STRING)
(defalias 'xml-substitute-special #[257 "\211G\305\306\"\203\217\307\310\211\224#B\262\307\310\225\"\311\312\"\311\313\"\211\203W\314\315\316\205/\317\"\"\211\203;\320!\202G	\203F\321\322\"\202G\nB\262\262G\262\210\202\212\311\323\"\262\324\"A\206r	\203q\321\325\"\202r\n\211P\262\210\f\203\212G\f\\V\203\212\321\326\"\210\266\202\327\330B\237\331#\207" [xml-entity-or-char-ref-re xml-validating-parser xml-undefined-entity xml-entity-alist xml-entity-expansion-limit nil string-match substring 0 match-string 1 2 decode-char ucs string-to-number 16 string error "XML: (Validity) Undefined character `x%s'" 3 assoc "XML: (Validity) Undefined entity `%s'" "XML: Passed `xml-entity-expansion-limit' while expanding `&%s;'" mapconcat identity ""] 11 (#$ . 22146)])
#@219 Substitute SGML numeric entities by their respective utf characters.
This function replaces numeric entities in the input STRING and
returns the modified string.  For example "&#42;" gets replaced
by "*".

(fn STRING)
(defalias 'xml-substitute-numeric-entities #[257 "\211\205=\211;\205=\300\301\302#\203:\3031-\304\305\306\307\310\224\310\225#!!\311\211$\211\2620\2021\210\2022\210\300\224T\262\202\n\262\207" [0 string-match "&#\\([0-9]+\\);" (error) replace-match string read substring 1 nil] 9 (#$ . 23098)])
#@172 Outputs the XML in the current buffer.
XML can be a tree or a list of nodes.
The first line is indented with the optional INDENT-STRING.

(fn XML &optional INDENT-STRING)
(defalias 'xml-debug-print #[513 "\211\206\300\262\211\205\211@\301\"\210A\266\202\202\207" ["" xml-debug-print-internal] 7 (#$ . 23633)])
(defalias 'xml-print 'xml-debug-print)
#@422 Convert STRING into a string containing valid XML character data.
Replace occurrences of &<>\='" in STRING with their default XML
entity references (e.g., replace each & with &amp;).

XML character data must not contain & or < characters, nor the >
character under some circumstances.  The XML spec does not impose
restriction on " or \=', but we just substitute for these too
(as is permitted by the spec).

(fn STRING)
(defalias 'xml-escape-string #[257 "\300\301!r\211q\210\302\303\304\305\306!\307\"\310$\216c\210\311\211\203;\211@eb\210\312@\313\314#\2034\315A\314\211\313$\210\202 A\266\202\202\210\316 *\207" [generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 (("&" . "&amp;") ("<" . "&lt;") (">" . "&gt;") ("'" . "&apos;") ("\"" . "&quot;")) search-forward nil t replace-match buffer-string] 9 (#$ . 24000)])
#@116 Outputs the XML tree in the current buffer.
The first line is indented with INDENT-STRING.

(fn XML INDENT-STRING)
(defalias 'xml-debug-print-internal #[514 "\300\301\302\211@\262!\261\210\211A@\262\262\211\2031\303\302@@!\304\305@A!\306\261\210\211A\262\202\211AA\262\262\204D\307\310\261\202\227\310c\210\211\203y\211@\211<\203a\311c\210\312\313P\"\210\202r\211;\203n\305!c\210\202r\314\315!\210A\266\202\202H\210A\204\205@;\204\212\311\261\210\301\307\302\211@\262!\310\261\207" [nil 60 symbol-name 32 "=\"" xml-escape-string 34 47 62 10 xml-debug-print-internal "  " error "Invalid XML tree"] 10 (#$ . 24905)])
#@134 Remove XML/HTML comments in the region between BEG and END.
All text between the <!-- ... --> markers will be removed.

(fn BEG END)
(defalias 'xml-remove-comments #[514 "\212\214}\210b\210\300\301\302\303#\205#\304\224\300\305\302\303#\203\211`|\210\210\202	*\207" [search-forward "<!--" nil t 0 "-->"] 7 (#$ . 25571)])
(provide 'xml)

Zerion Mini Shell 1.0