@rgrove/parse-xml 4.1.0 → 4.2.1
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/README.md +32 -32
- package/dist/browser.js +217 -237
- package/dist/browser.js.map +3 -3
- package/dist/global.min.js +9 -9
- package/dist/global.min.js.map +3 -3
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/Parser.d.ts +10 -1
- package/dist/lib/Parser.d.ts.map +1 -1
- package/dist/lib/Parser.js +58 -42
- package/dist/lib/Parser.js.map +1 -1
- package/dist/lib/StringScanner.d.ts +10 -16
- package/dist/lib/StringScanner.d.ts.map +1 -1
- package/dist/lib/StringScanner.js +54 -77
- package/dist/lib/StringScanner.js.map +1 -1
- package/dist/lib/XmlDeclaration.js.map +1 -1
- package/dist/lib/XmlDocument.js.map +1 -1
- package/dist/lib/XmlDocumentType.js.map +1 -1
- package/dist/lib/XmlElement.js.map +1 -1
- package/dist/lib/XmlError.js.map +1 -1
- package/dist/lib/XmlNode.js.map +1 -1
- package/dist/lib/syntax.d.ts.map +1 -1
- package/dist/lib/syntax.js +17 -22
- package/dist/lib/syntax.js.map +1 -1
- package/package.json +14 -19
- package/src/lib/Parser.ts +62 -45
- package/src/lib/StringScanner.ts +56 -93
- package/src/lib/syntax.ts +11 -17
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
A fast, safe, compliant XML parser for Node.js and browsers.
|
|
4
4
|
|
|
5
|
-
[](https://www.npmjs.com/package/@rgrove/parse-xml) [](https://bundlephobia.com/result?p=@rgrove/parse-xml) [](https://github.com/rgrove/parse-xml/actions/workflows/ci.yml)
|
|
6
6
|
|
|
7
7
|
## Links
|
|
8
8
|
|
|
@@ -160,65 +160,65 @@ While libxmljs2 is faster at parsing medium and large documents, its performance
|
|
|
160
160
|
In these results, "ops/s" refers to operations per second. Higher is faster.
|
|
161
161
|
|
|
162
162
|
```
|
|
163
|
-
Node.js
|
|
163
|
+
Node.js v22.10.0 / Darwin arm64
|
|
164
164
|
Apple M1 Max
|
|
165
165
|
|
|
166
166
|
Running "Small document (291 bytes)" suite...
|
|
167
167
|
Progress: 100%
|
|
168
168
|
|
|
169
|
-
@rgrove/parse-xml 4.
|
|
170
|
-
|
|
169
|
+
@rgrove/parse-xml 4.2.0:
|
|
170
|
+
253 082 ops/s, ±0.16% | fastest
|
|
171
171
|
|
|
172
|
-
fast-xml-parser 4.
|
|
173
|
-
|
|
172
|
+
fast-xml-parser 4.5.0:
|
|
173
|
+
127 232 ops/s, ±0.44% | 49.73% slower
|
|
174
174
|
|
|
175
|
-
libxmljs2 0.
|
|
176
|
-
|
|
175
|
+
libxmljs2 0.35.0 (native):
|
|
176
|
+
68 709 ops/s, ±2.77% | slowest, 72.85% slower
|
|
177
177
|
|
|
178
|
-
xmldoc 1.
|
|
179
|
-
|
|
178
|
+
xmldoc 1.3.0 (sax-js):
|
|
179
|
+
122 345 ops/s, ±0.15% | 51.66% slower
|
|
180
180
|
|
|
181
181
|
Finished 4 cases!
|
|
182
|
-
Fastest: @rgrove/parse-xml 4.
|
|
183
|
-
Slowest:
|
|
182
|
+
Fastest: @rgrove/parse-xml 4.2.0
|
|
183
|
+
Slowest: libxmljs2 0.35.0 (native)
|
|
184
184
|
|
|
185
185
|
Running "Medium document (72081 bytes)" suite...
|
|
186
186
|
Progress: 100%
|
|
187
187
|
|
|
188
|
-
@rgrove/parse-xml 4.
|
|
189
|
-
1
|
|
188
|
+
@rgrove/parse-xml 4.2.0:
|
|
189
|
+
1 350 ops/s, ±0.18% | 29.5% slower
|
|
190
190
|
|
|
191
|
-
fast-xml-parser 4.
|
|
192
|
-
|
|
191
|
+
fast-xml-parser 4.5.0:
|
|
192
|
+
560 ops/s, ±0.48% | slowest, 70.76% slower
|
|
193
193
|
|
|
194
|
-
libxmljs2 0.
|
|
195
|
-
|
|
194
|
+
libxmljs2 0.35.0 (native):
|
|
195
|
+
1 915 ops/s, ±2.64% | fastest
|
|
196
196
|
|
|
197
|
-
xmldoc 1.
|
|
198
|
-
|
|
197
|
+
xmldoc 1.3.0 (sax-js):
|
|
198
|
+
824 ops/s, ±0.20% | 56.97% slower
|
|
199
199
|
|
|
200
200
|
Finished 4 cases!
|
|
201
|
-
Fastest: libxmljs2 0.
|
|
202
|
-
Slowest:
|
|
201
|
+
Fastest: libxmljs2 0.35.0 (native)
|
|
202
|
+
Slowest: fast-xml-parser 4.5.0
|
|
203
203
|
|
|
204
204
|
Running "Large document (1162464 bytes)" suite...
|
|
205
205
|
Progress: 100%
|
|
206
206
|
|
|
207
|
-
@rgrove/parse-xml 4.
|
|
208
|
-
|
|
207
|
+
@rgrove/parse-xml 4.2.0:
|
|
208
|
+
109 ops/s, ±0.17% | 40.11% slower
|
|
209
209
|
|
|
210
|
-
fast-xml-parser 4.
|
|
211
|
-
48 ops/s, ±0.
|
|
210
|
+
fast-xml-parser 4.5.0:
|
|
211
|
+
48 ops/s, ±0.55% | slowest, 73.63% slower
|
|
212
212
|
|
|
213
|
-
libxmljs2 0.
|
|
214
|
-
|
|
213
|
+
libxmljs2 0.35.0 (native):
|
|
214
|
+
182 ops/s, ±1.16% | fastest
|
|
215
215
|
|
|
216
|
-
xmldoc 1.
|
|
217
|
-
|
|
216
|
+
xmldoc 1.3.0 (sax-js):
|
|
217
|
+
73 ops/s, ±0.50% | 59.89% slower
|
|
218
218
|
|
|
219
219
|
Finished 4 cases!
|
|
220
|
-
Fastest: libxmljs2 0.
|
|
221
|
-
Slowest:
|
|
220
|
+
Fastest: libxmljs2 0.35.0 (native)
|
|
221
|
+
Slowest: fast-xml-parser 4.5.0
|
|
222
222
|
```
|
|
223
223
|
|
|
224
224
|
See the [parse-xml-benchmark](https://github.com/rgrove/parse-xml-benchmark) repo for instructions on how to run this benchmark yourself.
|