@rgrove/parse-xml 3.0.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +72 -97
- package/dist/browser.js +774 -0
- package/dist/browser.js.map +7 -0
- package/dist/global.min.js +10 -0
- package/dist/global.min.js.map +7 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +50 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/Parser.d.ts +218 -0
- package/dist/lib/Parser.d.ts.map +1 -0
- package/dist/lib/Parser.js +638 -0
- package/dist/lib/Parser.js.map +1 -0
- package/dist/lib/StringScanner.d.ts +97 -0
- package/dist/lib/StringScanner.d.ts.map +1 -0
- package/dist/lib/StringScanner.js +210 -0
- package/dist/lib/StringScanner.js.map +1 -0
- package/dist/lib/XmlCdata.d.ts +8 -0
- package/dist/lib/XmlCdata.d.ts.map +1 -0
- package/dist/lib/XmlCdata.js +15 -0
- package/dist/lib/XmlCdata.js.map +1 -0
- package/dist/lib/XmlComment.d.ts +16 -0
- package/dist/lib/XmlComment.d.ts.map +1 -0
- package/dist/lib/XmlComment.js +23 -0
- package/dist/lib/XmlComment.js.map +1 -0
- package/dist/lib/XmlDocument.d.ts +29 -0
- package/dist/lib/XmlDocument.d.ts.map +1 -0
- package/dist/lib/XmlDocument.js +47 -0
- package/dist/lib/XmlDocument.js.map +1 -0
- package/dist/lib/XmlElement.d.ts +40 -0
- package/dist/lib/XmlElement.d.ts.map +1 -0
- package/dist/lib/XmlElement.js +51 -0
- package/dist/lib/XmlElement.js.map +1 -0
- package/dist/lib/XmlNode.d.ts +74 -0
- package/dist/lib/XmlNode.d.ts.map +1 -0
- package/dist/lib/XmlNode.js +96 -0
- package/dist/lib/XmlNode.js.map +1 -0
- package/dist/lib/XmlProcessingInstruction.d.ts +22 -0
- package/dist/lib/XmlProcessingInstruction.d.ts.map +1 -0
- package/dist/lib/XmlProcessingInstruction.js +25 -0
- package/dist/lib/XmlProcessingInstruction.js.map +1 -0
- package/dist/lib/XmlText.d.ts +16 -0
- package/dist/lib/XmlText.d.ts.map +1 -0
- package/dist/lib/XmlText.js +23 -0
- package/dist/lib/XmlText.js.map +1 -0
- package/dist/lib/syntax.d.ts +69 -0
- package/dist/lib/syntax.d.ts.map +1 -0
- package/dist/lib/syntax.js +133 -0
- package/dist/lib/syntax.js.map +1 -0
- package/dist/lib/types.d.ts +5 -0
- package/dist/lib/types.d.ts.map +1 -0
- package/dist/lib/types.js +3 -0
- package/dist/lib/types.js.map +1 -0
- package/package.json +30 -22
- package/src/index.ts +30 -0
- package/src/lib/Parser.ts +819 -0
- package/src/lib/StringScanner.ts +254 -0
- package/src/lib/XmlCdata.ts +11 -0
- package/src/lib/XmlComment.ts +26 -0
- package/src/lib/XmlDocument.ts +57 -0
- package/src/lib/XmlElement.ts +81 -0
- package/src/lib/XmlNode.ts +107 -0
- package/src/lib/XmlProcessingInstruction.ts +35 -0
- package/src/lib/XmlText.ts +26 -0
- package/src/lib/syntax.ts +136 -0
- package/src/lib/types.ts +2 -0
- package/CHANGELOG.md +0 -162
- package/dist/types/index.d.ts +0 -68
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/lib/Parser.d.ts +0 -234
- package/dist/types/lib/Parser.d.ts.map +0 -1
- package/dist/types/lib/StringScanner.d.ts +0 -139
- package/dist/types/lib/StringScanner.d.ts.map +0 -1
- package/dist/types/lib/XmlCdata.d.ts +0 -11
- package/dist/types/lib/XmlCdata.d.ts.map +0 -1
- package/dist/types/lib/XmlComment.d.ts +0 -21
- package/dist/types/lib/XmlComment.d.ts.map +0 -1
- package/dist/types/lib/XmlDocument.d.ts +0 -42
- package/dist/types/lib/XmlDocument.d.ts.map +0 -1
- package/dist/types/lib/XmlElement.d.ts +0 -62
- package/dist/types/lib/XmlElement.d.ts.map +0 -1
- package/dist/types/lib/XmlNode.d.ts +0 -78
- package/dist/types/lib/XmlNode.d.ts.map +0 -1
- package/dist/types/lib/XmlProcessingInstruction.d.ts +0 -30
- package/dist/types/lib/XmlProcessingInstruction.d.ts.map +0 -1
- package/dist/types/lib/XmlText.d.ts +0 -21
- package/dist/types/lib/XmlText.d.ts.map +0 -1
- package/dist/types/lib/syntax.d.ts +0 -59
- package/dist/types/lib/syntax.d.ts.map +0 -1
- package/dist/umd/parse-xml.min.js +0 -2
- package/dist/umd/parse-xml.min.js.map +0 -1
- package/src/index.js +0 -67
- package/src/lib/Parser.js +0 -812
- package/src/lib/StringScanner.js +0 -312
- package/src/lib/XmlCdata.js +0 -17
- package/src/lib/XmlComment.js +0 -37
- package/src/lib/XmlDocument.js +0 -69
- package/src/lib/XmlElement.js +0 -101
- package/src/lib/XmlNode.js +0 -152
- package/src/lib/XmlProcessingInstruction.js +0 -48
- package/src/lib/XmlText.js +0 -37
- package/src/lib/syntax.js +0 -153
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const XmlNode = require('./XmlNode');
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
A processing instruction within an XML document.
|
|
7
|
-
|
|
8
|
-
@public
|
|
9
|
-
*/
|
|
10
|
-
class XmlProcessingInstruction extends XmlNode {
|
|
11
|
-
/**
|
|
12
|
-
@param {string} name
|
|
13
|
-
@param {string} [content]
|
|
14
|
-
*/
|
|
15
|
-
constructor(name, content = '') {
|
|
16
|
-
super();
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
Name of this processing instruction. Also sometimes referred to as the
|
|
20
|
-
processing instruction "target".
|
|
21
|
-
|
|
22
|
-
@type {string}
|
|
23
|
-
@public
|
|
24
|
-
*/
|
|
25
|
-
this.name = name;
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
Content of this processing instruction.
|
|
29
|
-
|
|
30
|
-
@type {string}
|
|
31
|
-
@public
|
|
32
|
-
*/
|
|
33
|
-
this.content = content;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
get type() {
|
|
37
|
-
return XmlNode.TYPE_PROCESSING_INSTRUCTION;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
toJSON() {
|
|
41
|
-
return Object.assign(XmlNode.prototype.toJSON.call(this), {
|
|
42
|
-
name: this.name,
|
|
43
|
-
content: this.content
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
module.exports = XmlProcessingInstruction;
|
package/src/lib/XmlText.js
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const XmlNode = require('./XmlNode');
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
Text content within an XML document.
|
|
7
|
-
|
|
8
|
-
@public
|
|
9
|
-
*/
|
|
10
|
-
class XmlText extends XmlNode {
|
|
11
|
-
/**
|
|
12
|
-
@param {string} [text]
|
|
13
|
-
*/
|
|
14
|
-
constructor(text = '') {
|
|
15
|
-
super();
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
Text content of this node.
|
|
19
|
-
|
|
20
|
-
@type {string}
|
|
21
|
-
@public
|
|
22
|
-
*/
|
|
23
|
-
this.text = text;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
get type() {
|
|
27
|
-
return XmlNode.TYPE_TEXT;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
toJSON() {
|
|
31
|
-
return Object.assign(XmlNode.prototype.toJSON.call(this), {
|
|
32
|
-
text: this.text
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
module.exports = XmlText;
|
package/src/lib/syntax.js
DELETED
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
// -- Exported Constants -------------------------------------------------------
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
Mapping of predefined entity names to their replacement values.
|
|
7
|
-
|
|
8
|
-
@type {Readonly<{[name: string]: string}>}
|
|
9
|
-
@see https://www.w3.org/TR/2008/REC-xml-20081126/#sec-predefined-ent
|
|
10
|
-
*/
|
|
11
|
-
const predefinedEntities = Object.freeze(Object.assign(Object.create(null), {
|
|
12
|
-
amp: '&',
|
|
13
|
-
apos: "'",
|
|
14
|
-
gt: '>',
|
|
15
|
-
lt: '<',
|
|
16
|
-
quot: '"'
|
|
17
|
-
}));
|
|
18
|
-
|
|
19
|
-
exports.predefinedEntities = predefinedEntities;
|
|
20
|
-
|
|
21
|
-
// -- Exported Functions -------------------------------------------------------
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
Returns `true` if _char_ is an XML `NameChar`, `false` if it isn't.
|
|
25
|
-
|
|
26
|
-
@param {string} char
|
|
27
|
-
@returns {boolean}
|
|
28
|
-
@see https://www.w3.org/TR/2008/REC-xml-20081126/#NT-NameChar
|
|
29
|
-
*/
|
|
30
|
-
function isNameChar(char) {
|
|
31
|
-
if (isNameStartChar(char)) {
|
|
32
|
-
return true;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
let cp = getCodePoint(char);
|
|
36
|
-
|
|
37
|
-
return cp === 0x2D // -
|
|
38
|
-
|| cp === 0x2E // .
|
|
39
|
-
|| (cp >= 0x30 && cp <= 0x39) // 0-9
|
|
40
|
-
|| cp === 0xB7
|
|
41
|
-
|| (cp >= 0x300 && cp <= 0x36F)
|
|
42
|
-
|| (cp >= 0x203F && cp <= 0x2040);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
exports.isNameChar = isNameChar;
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
Returns `true` if _char_ is an XML `NameStartChar`, `false` if it isn't.
|
|
49
|
-
|
|
50
|
-
@param {string} char
|
|
51
|
-
@returns {boolean}
|
|
52
|
-
@see https://www.w3.org/TR/2008/REC-xml-20081126/#NT-NameStartChar
|
|
53
|
-
*/
|
|
54
|
-
function isNameStartChar(char) {
|
|
55
|
-
let cp = getCodePoint(char);
|
|
56
|
-
|
|
57
|
-
return cp === 0x3A // :
|
|
58
|
-
|| cp === 0x5F // _
|
|
59
|
-
|| (cp >= 0x41 && cp <= 0x5A) // A-Z
|
|
60
|
-
|| (cp >= 0x61 && cp <= 0x7A) // a-z
|
|
61
|
-
|| (cp >= 0xC0 && cp <= 0xD6)
|
|
62
|
-
|| (cp >= 0xD8 && cp <= 0xF6)
|
|
63
|
-
|| (cp >= 0xF8 && cp <= 0x2FF)
|
|
64
|
-
|| (cp >= 0x370 && cp <= 0x37D)
|
|
65
|
-
|| (cp >= 0x37F && cp <= 0x1FFF)
|
|
66
|
-
|| (cp >= 0x200C && cp <= 0x200D)
|
|
67
|
-
|| (cp >= 0x2070 && cp <= 0x218F)
|
|
68
|
-
|| (cp >= 0x2C00 && cp <= 0x2FEF)
|
|
69
|
-
|| (cp >= 0x3001 && cp <= 0xD7FF)
|
|
70
|
-
|| (cp >= 0xF900 && cp <= 0xFDCF)
|
|
71
|
-
|| (cp >= 0xFDF0 && cp <= 0xFFFD)
|
|
72
|
-
|| (cp >= 0x10000 && cp <= 0xEFFFF);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
exports.isNameStartChar = isNameStartChar;
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
Returns `true` if _char_ is not a valid XML `Char`, `false` otherwise.
|
|
79
|
-
|
|
80
|
-
@param {string} char
|
|
81
|
-
@returns {boolean}
|
|
82
|
-
@see https://www.w3.org/TR/2008/REC-xml-20081126/#NT-Char
|
|
83
|
-
*/
|
|
84
|
-
function isNotXmlChar(char) {
|
|
85
|
-
return !isXmlChar(char);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
exports.isNotXmlChar = isNotXmlChar;
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
Returns `true` if _char_ is a valid reference character (which may appear
|
|
92
|
-
between `&` and `;` in a reference), `false` otherwise.
|
|
93
|
-
|
|
94
|
-
@param {string} char
|
|
95
|
-
@returns {boolean}
|
|
96
|
-
@see https://www.w3.org/TR/2008/REC-xml-20081126/#sec-references
|
|
97
|
-
*/
|
|
98
|
-
function isReferenceChar(char) {
|
|
99
|
-
return char === '#' || isNameChar(char);
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
exports.isReferenceChar = isReferenceChar;
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
Returns `true` if _char_ is an XML whitespace character, `false` otherwise.
|
|
106
|
-
|
|
107
|
-
@param {string} char
|
|
108
|
-
@returns {boolean}
|
|
109
|
-
@see https://www.w3.org/TR/2008/REC-xml-20081126/#white
|
|
110
|
-
*/
|
|
111
|
-
function isWhitespace(char) {
|
|
112
|
-
let cp = getCodePoint(char);
|
|
113
|
-
|
|
114
|
-
return cp === 0x20
|
|
115
|
-
|| cp === 0x9
|
|
116
|
-
|| cp === 0xA
|
|
117
|
-
|| cp === 0xD;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
exports.isWhitespace = isWhitespace;
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
Returns `true` if _char_ is a valid XML `Char`, `false` otherwise.
|
|
124
|
-
|
|
125
|
-
@param {string} char
|
|
126
|
-
@returns {boolean}
|
|
127
|
-
@see https://www.w3.org/TR/2008/REC-xml-20081126/#NT-Char
|
|
128
|
-
*/
|
|
129
|
-
function isXmlChar(char) {
|
|
130
|
-
let cp = getCodePoint(char);
|
|
131
|
-
|
|
132
|
-
return cp === 0x9
|
|
133
|
-
|| cp === 0xA
|
|
134
|
-
|| cp === 0xD
|
|
135
|
-
|| (cp >= 0x20 && cp <= 0xD7FF)
|
|
136
|
-
|| (cp >= 0xE000 && cp <= 0xFFFD)
|
|
137
|
-
|| (cp >= 0x10000 && cp <= 0x10FFFF);
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
exports.isXmlChar = isXmlChar;
|
|
141
|
-
|
|
142
|
-
// -- Private Functions --------------------------------------------------------
|
|
143
|
-
|
|
144
|
-
/**
|
|
145
|
-
Returns the Unicode code point value of the given character, or `-1` if _char_
|
|
146
|
-
is empty.
|
|
147
|
-
|
|
148
|
-
@param {string} char
|
|
149
|
-
@returns {number}
|
|
150
|
-
*/
|
|
151
|
-
function getCodePoint(char) {
|
|
152
|
-
return char.codePointAt(0) || -1;
|
|
153
|
-
}
|