xslt-processor 5.0.5 → 5.0.7
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/dist/index.d.mts +17 -1
- package/dist/index.d.ts +17 -1
- package/dist/index.js +50 -9
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +48 -8
- package/dist/index.mjs.map +1 -1
- package/dist/umd/xslt-processor.global.js +5 -5
- package/dist/umd/xslt-processor.global.js.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -811,11 +811,45 @@ var init_filter_expression = __esm({
|
|
|
811
811
|
}
|
|
812
812
|
});
|
|
813
813
|
|
|
814
|
+
// src/xpath/lib/src/expressions/node-utils.ts
|
|
815
|
+
function getStringValueFromNode(node) {
|
|
816
|
+
var _a;
|
|
817
|
+
if (node === null || node === void 0) return null;
|
|
818
|
+
if (typeof node !== "object") return null;
|
|
819
|
+
if (typeof node.nodeType !== "number") return null;
|
|
820
|
+
if (node.nodeType === 3 || node.nodeType === 2) {
|
|
821
|
+
const v = node.nodeValue;
|
|
822
|
+
return v !== null && v !== void 0 && v !== "null" ? String(v) : "";
|
|
823
|
+
}
|
|
824
|
+
if (node.nodeType === 1 || node.nodeType === 9) {
|
|
825
|
+
const children = node.childNodes;
|
|
826
|
+
if (!children || children.length === 0) return "";
|
|
827
|
+
let text = "";
|
|
828
|
+
for (const child of children) {
|
|
829
|
+
if (child.nodeType === 3) {
|
|
830
|
+
const v = child.nodeValue;
|
|
831
|
+
if (v !== null && v !== void 0 && v !== "null") {
|
|
832
|
+
text += String(v);
|
|
833
|
+
}
|
|
834
|
+
} else if (child.nodeType === 1) {
|
|
835
|
+
text += (_a = getStringValueFromNode(child)) != null ? _a : "";
|
|
836
|
+
}
|
|
837
|
+
}
|
|
838
|
+
return text;
|
|
839
|
+
}
|
|
840
|
+
return null;
|
|
841
|
+
}
|
|
842
|
+
var init_node_utils = __esm({
|
|
843
|
+
"src/xpath/lib/src/expressions/node-utils.ts"() {
|
|
844
|
+
}
|
|
845
|
+
});
|
|
846
|
+
|
|
814
847
|
// src/xpath/lib/src/expressions/unary-expression.ts
|
|
815
848
|
var XPathUnaryExpression;
|
|
816
849
|
var init_unary_expression = __esm({
|
|
817
850
|
"src/xpath/lib/src/expressions/unary-expression.ts"() {
|
|
818
851
|
init_expression();
|
|
852
|
+
init_node_utils();
|
|
819
853
|
XPathUnaryExpression = class extends XPathExpression {
|
|
820
854
|
constructor(operator, operand) {
|
|
821
855
|
super();
|
|
@@ -843,12 +877,14 @@ var init_unary_expression = __esm({
|
|
|
843
877
|
return null;
|
|
844
878
|
}
|
|
845
879
|
if (!Array.isArray(value)) {
|
|
880
|
+
const text = getStringValueFromNode(value);
|
|
881
|
+
if (text !== null) return text;
|
|
846
882
|
return value;
|
|
847
883
|
}
|
|
848
884
|
if (value.length === 0) {
|
|
849
885
|
return null;
|
|
850
886
|
}
|
|
851
|
-
return value[0];
|
|
887
|
+
return this.atomize(value[0]);
|
|
852
888
|
}
|
|
853
889
|
/**
|
|
854
890
|
* Convert atomic value to number following XPath 2.0 rules
|
|
@@ -989,6 +1025,7 @@ var XPathArithmeticExpression;
|
|
|
989
1025
|
var init_arithmetic_expression = __esm({
|
|
990
1026
|
"src/xpath/lib/src/expressions/arithmetic-expression.ts"() {
|
|
991
1027
|
init_expression();
|
|
1028
|
+
init_node_utils();
|
|
992
1029
|
XPathArithmeticExpression = class extends XPathExpression {
|
|
993
1030
|
constructor(left, right, operator) {
|
|
994
1031
|
super();
|
|
@@ -1042,6 +1079,8 @@ var init_arithmetic_expression = __esm({
|
|
|
1042
1079
|
return value.numberValue();
|
|
1043
1080
|
}
|
|
1044
1081
|
if (!Array.isArray(value)) {
|
|
1082
|
+
const text = getStringValueFromNode(value);
|
|
1083
|
+
if (text !== null) return text;
|
|
1045
1084
|
return value;
|
|
1046
1085
|
}
|
|
1047
1086
|
if (value.length === 0) {
|
|
@@ -11013,7 +11052,7 @@ function xmlTransformedTextRecursive(node, buffer, options) {
|
|
|
11013
11052
|
}
|
|
11014
11053
|
} else if (nodeType == DOM_COMMENT_NODE) {
|
|
11015
11054
|
if (options.outputMethod !== "text") {
|
|
11016
|
-
buffer.push(
|
|
11055
|
+
buffer.push(`<!--${nodeValue}-->`);
|
|
11017
11056
|
}
|
|
11018
11057
|
} else if (nodeType === DOM_PROCESSING_INSTRUCTION_NODE) {
|
|
11019
11058
|
if (options.outputMethod !== "text") {
|
|
@@ -11451,14 +11490,14 @@ var XmlParser = class {
|
|
|
11451
11490
|
}
|
|
11452
11491
|
if (htmlText.slice(i + 1, i + 4) === "!--") {
|
|
11453
11492
|
let endTagIndex = htmlText.slice(i + 4).indexOf("-->");
|
|
11454
|
-
if (endTagIndex) {
|
|
11493
|
+
if (endTagIndex >= 0) {
|
|
11455
11494
|
let node = domCreateComment(xmlDocument, htmlText.slice(i + 4, i + endTagIndex + 4));
|
|
11456
11495
|
domAppendChild(parent, node);
|
|
11457
11496
|
i += endTagIndex + 6;
|
|
11458
11497
|
}
|
|
11459
11498
|
} else if (htmlText.slice(i + 1, i + 9) === "!DOCTYPE") {
|
|
11460
11499
|
let endTagIndex = htmlText.slice(i + 9).indexOf(">");
|
|
11461
|
-
if (endTagIndex) {
|
|
11500
|
+
if (endTagIndex >= 0) {
|
|
11462
11501
|
const dtdValue = htmlText.slice(i + 9, i + endTagIndex + 9).trimStart();
|
|
11463
11502
|
const node = domCreateDTDSection(xmlDocument, dtdValue);
|
|
11464
11503
|
domAppendChild(parent, node);
|
|
@@ -11557,21 +11596,21 @@ var XmlParser = class {
|
|
|
11557
11596
|
}
|
|
11558
11597
|
if (xml.slice(i + 1, i + 4) === "!--") {
|
|
11559
11598
|
let endTagIndex = xml.slice(i + 4).indexOf("-->");
|
|
11560
|
-
if (endTagIndex) {
|
|
11599
|
+
if (endTagIndex >= 0) {
|
|
11561
11600
|
let node = domCreateComment(xmlDocument, xml.slice(i + 4, i + endTagIndex + 4));
|
|
11562
11601
|
domAppendChild(parent, node);
|
|
11563
11602
|
i += endTagIndex + 6;
|
|
11564
11603
|
}
|
|
11565
11604
|
} else if (xml.slice(i + 1, i + 9) === "![CDATA[") {
|
|
11566
11605
|
let endTagIndex = xml.slice(i + 9).indexOf("]]>");
|
|
11567
|
-
if (endTagIndex) {
|
|
11606
|
+
if (endTagIndex >= 0) {
|
|
11568
11607
|
let node = domCreateCDATASection(xmlDocument, xml.slice(i + 9, i + endTagIndex + 9));
|
|
11569
11608
|
domAppendChild(parent, node);
|
|
11570
11609
|
i += endTagIndex + 11;
|
|
11571
11610
|
}
|
|
11572
11611
|
} else if (xml.slice(i + 1, i + 9) === "!DOCTYPE") {
|
|
11573
11612
|
let endTagIndex = xml.slice(i + 9).indexOf(">");
|
|
11574
|
-
if (endTagIndex) {
|
|
11613
|
+
if (endTagIndex >= 0) {
|
|
11575
11614
|
const dtdValue = xml.slice(i + 9, i + endTagIndex + 9).trimStart();
|
|
11576
11615
|
const node = domCreateDTDSection(xmlDocument, dtdValue);
|
|
11577
11616
|
domAppendChild(parent, node);
|
|
@@ -18112,6 +18151,7 @@ export {
|
|
|
18112
18151
|
XmlParser,
|
|
18113
18152
|
Xslt,
|
|
18114
18153
|
domDocumentToXDocument,
|
|
18115
|
-
xmlEscapeText
|
|
18154
|
+
xmlEscapeText,
|
|
18155
|
+
xmlTransformedText
|
|
18116
18156
|
};
|
|
18117
18157
|
//# sourceMappingURL=index.mjs.map
|