xslt-processor 3.0.0 → 3.0.2
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 +2 -2
- package/constants.d.ts +12 -12
- package/constants.js +16 -16
- package/dom/functions.d.ts +14 -14
- package/dom/functions.js +56 -57
- package/dom/functions.js.map +1 -1
- package/dom/index.d.ts +6 -6
- package/dom/index.js +22 -22
- package/dom/util.d.ts +7 -7
- package/dom/util.js +42 -43
- package/dom/util.js.map +1 -1
- package/dom/xdocument.d.ts +16 -16
- package/dom/xdocument.js +73 -74
- package/dom/xdocument.js.map +1 -1
- package/dom/xml-functions.d.ts +58 -58
- package/dom/xml-functions.js +369 -370
- package/dom/xml-functions.js.map +1 -1
- package/dom/xml-output-options.d.ts +6 -6
- package/dom/xml-output-options.js +2 -2
- package/dom/xml-parser.d.ts +47 -47
- package/dom/xml-parser.js +307 -307
- package/dom/xml-parser.js.map +1 -1
- package/dom/xmltoken.d.ts +12 -12
- package/dom/xmltoken.js +101 -101
- package/dom/xnode.d.ts +73 -73
- package/dom/xnode.js +450 -450
- package/dom/xnode.js.map +1 -1
- package/index.d.ts +4 -4
- package/index.js +12 -12
- package/package.json +11 -11
- package/test-without-jest.d.ts +1 -0
- package/test-without-jest.js +63 -0
- package/test-without-jest.js.map +1 -0
- package/umd/constants.d.ts +12 -12
- package/umd/dom/functions.d.ts +14 -14
- package/umd/dom/index.d.ts +6 -6
- package/umd/dom/util.d.ts +7 -7
- package/umd/dom/xdocument.d.ts +16 -16
- package/umd/dom/xml-functions.d.ts +58 -58
- package/umd/dom/xml-output-options.d.ts +6 -6
- package/umd/dom/xml-parser.d.ts +47 -47
- package/umd/dom/xmltoken.d.ts +12 -12
- package/umd/dom/xnode.d.ts +73 -73
- package/umd/index.d.ts +4 -4
- package/umd/test-without-jest.d.ts +1 -0
- package/umd/xpath/common-function.d.ts +8 -8
- package/umd/xpath/expr-context.d.ts +111 -111
- package/umd/xpath/expressions/binary-expr.d.ts +11 -11
- package/umd/xpath/expressions/expression.d.ts +4 -4
- package/umd/xpath/expressions/filter-expr.d.ts +9 -9
- package/umd/xpath/expressions/function-call-expr.d.ts +12 -12
- package/umd/xpath/expressions/index.d.ts +13 -13
- package/umd/xpath/expressions/literal-expr.d.ts +7 -7
- package/umd/xpath/expressions/location-expr.d.ts +15 -15
- package/umd/xpath/expressions/number-expr.d.ts +7 -7
- package/umd/xpath/expressions/path-expr.d.ts +9 -9
- package/umd/xpath/expressions/predicate-expr.d.ts +8 -8
- package/umd/xpath/expressions/step-expr.d.ts +25 -25
- package/umd/xpath/expressions/token-expr.d.ts +7 -7
- package/umd/xpath/expressions/unary-minus-expr.d.ts +8 -8
- package/umd/xpath/expressions/union-expr.d.ts +9 -9
- package/umd/xpath/expressions/variable-expr.d.ts +7 -7
- package/umd/xpath/functions/index.d.ts +2 -2
- package/umd/xpath/functions/internal-functions.d.ts +2 -2
- package/umd/xpath/functions/non-standard.d.ts +12 -12
- package/umd/xpath/functions/standard-20.d.ts +5 -5
- package/umd/xpath/functions/standard.d.ts +40 -40
- package/umd/xpath/grammar-rule-candidate.d.ts +8 -8
- package/umd/xpath/index.d.ts +3 -3
- package/umd/xpath/match-resolver.d.ts +55 -55
- package/umd/xpath/node-tests/index.d.ts +8 -8
- package/umd/xpath/node-tests/node-test-any.d.ts +6 -6
- package/umd/xpath/node-tests/node-test-comment.d.ts +6 -6
- package/umd/xpath/node-tests/node-test-element-or-attribute.d.ts +6 -6
- package/umd/xpath/node-tests/node-test-name.d.ts +10 -10
- package/umd/xpath/node-tests/node-test-nc.d.ts +9 -9
- package/umd/xpath/node-tests/node-test-pi.d.ts +8 -8
- package/umd/xpath/node-tests/node-test-text.d.ts +6 -6
- package/umd/xpath/node-tests/node-test.d.ts +5 -5
- package/umd/xpath/tokens.d.ts +62 -62
- package/umd/xpath/values/boolean-value.d.ts +11 -11
- package/umd/xpath/values/index.d.ts +5 -5
- package/umd/xpath/values/node-set-value.d.ts +11 -11
- package/umd/xpath/values/node-value.d.ts +7 -7
- package/umd/xpath/values/number-value.d.ts +11 -11
- package/umd/xpath/values/string-value.d.ts +11 -11
- package/umd/xpath/xpath-grammar-rules.d.ts +68 -68
- package/umd/xpath/xpath-token-rule.d.ts +7 -7
- package/umd/xpath/xpath.d.ts +174 -170
- package/umd/xpathdebug.d.ts +2 -2
- package/umd/xslt/index.d.ts +3 -3
- package/umd/xslt/xslt-decimal-format-settings.d.ts +28 -28
- package/umd/xslt/xslt-options.d.ts +7 -7
- package/umd/xslt/xslt-parameter.d.ts +5 -5
- package/umd/xslt/xslt.d.ts +207 -190
- package/umd/xslt-processor.js +1 -15
- package/umd/xslt-processor.js.map +1 -1
- package/xpath/common-function.d.ts +8 -8
- package/xpath/common-function.js +31 -32
- package/xpath/common-function.js.map +1 -1
- package/xpath/expr-context.d.ts +111 -111
- package/xpath/expr-context.js +189 -189
- package/xpath/expr-context.js.map +1 -1
- package/xpath/expressions/binary-expr.d.ts +11 -11
- package/xpath/expressions/binary-expr.js +165 -165
- package/xpath/expressions/binary-expr.js.map +1 -1
- package/xpath/expressions/expression.d.ts +4 -4
- package/xpath/expressions/expression.js +9 -9
- package/xpath/expressions/filter-expr.d.ts +9 -9
- package/xpath/expressions/filter-expr.js +52 -52
- package/xpath/expressions/filter-expr.js.map +1 -1
- package/xpath/expressions/function-call-expr.d.ts +12 -12
- package/xpath/expressions/function-call-expr.js +95 -95
- package/xpath/expressions/function-call-expr.js.map +1 -1
- package/xpath/expressions/index.d.ts +13 -13
- package/xpath/expressions/index.js +29 -29
- package/xpath/expressions/literal-expr.d.ts +7 -7
- package/xpath/expressions/literal-expr.js +33 -33
- package/xpath/expressions/literal-expr.js.map +1 -1
- package/xpath/expressions/location-expr.d.ts +15 -15
- package/xpath/expressions/location-expr.js +98 -98
- package/xpath/expressions/location-expr.js.map +1 -1
- package/xpath/expressions/number-expr.d.ts +7 -7
- package/xpath/expressions/number-expr.js +33 -33
- package/xpath/expressions/number-expr.js.map +1 -1
- package/xpath/expressions/path-expr.d.ts +9 -9
- package/xpath/expressions/path-expr.js +51 -51
- package/xpath/expressions/path-expr.js.map +1 -1
- package/xpath/expressions/predicate-expr.d.ts +8 -8
- package/xpath/expressions/predicate-expr.js +40 -40
- package/xpath/expressions/predicate-expr.js.map +1 -1
- package/xpath/expressions/step-expr.d.ts +25 -25
- package/xpath/expressions/step-expr.js +280 -280
- package/xpath/expressions/step-expr.js.map +1 -1
- package/xpath/expressions/token-expr.d.ts +7 -7
- package/xpath/expressions/token-expr.js +33 -33
- package/xpath/expressions/token-expr.js.map +1 -1
- package/xpath/expressions/unary-minus-expr.d.ts +8 -8
- package/xpath/expressions/unary-minus-expr.js +33 -33
- package/xpath/expressions/unary-minus-expr.js.map +1 -1
- package/xpath/expressions/union-expr.d.ts +9 -9
- package/xpath/expressions/union-expr.js +50 -50
- package/xpath/expressions/union-expr.js.map +1 -1
- package/xpath/expressions/variable-expr.d.ts +7 -7
- package/xpath/expressions/variable-expr.js +32 -32
- package/xpath/expressions/variable-expr.js.map +1 -1
- package/xpath/functions/index.d.ts +2 -2
- package/xpath/functions/index.js +18 -18
- package/xpath/functions/internal-functions.d.ts +2 -2
- package/xpath/functions/internal-functions.js +21 -22
- package/xpath/functions/internal-functions.js.map +1 -1
- package/xpath/functions/non-standard.d.ts +12 -12
- package/xpath/functions/non-standard.js +44 -45
- package/xpath/functions/non-standard.js.map +1 -1
- package/xpath/functions/standard-20.d.ts +5 -5
- package/xpath/functions/standard-20.js +25 -26
- package/xpath/functions/standard-20.js.map +1 -1
- package/xpath/functions/standard.d.ts +40 -40
- package/xpath/functions/standard.js +441 -442
- package/xpath/functions/standard.js.map +1 -1
- package/xpath/grammar-rule-candidate.d.ts +8 -8
- package/xpath/grammar-rule-candidate.js +2 -2
- package/xpath/index.d.ts +3 -3
- package/xpath/index.js +19 -19
- package/xpath/match-resolver.d.ts +55 -55
- package/xpath/match-resolver.js +136 -136
- package/xpath/match-resolver.js.map +1 -1
- package/xpath/node-tests/index.d.ts +8 -8
- package/xpath/node-tests/index.js +17 -17
- package/xpath/node-tests/node-test-any.d.ts +6 -6
- package/xpath/node-tests/node-test-any.js +14 -14
- package/xpath/node-tests/node-test-comment.d.ts +6 -6
- package/xpath/node-tests/node-test-comment.js +14 -14
- package/xpath/node-tests/node-test-element-or-attribute.d.ts +6 -6
- package/xpath/node-tests/node-test-element-or-attribute.js +15 -15
- package/xpath/node-tests/node-test-name.d.ts +10 -10
- package/xpath/node-tests/node-test-name.js +38 -38
- package/xpath/node-tests/node-test-name.js.map +1 -1
- package/xpath/node-tests/node-test-nc.d.ts +9 -9
- package/xpath/node-tests/node-test-nc.js +16 -16
- package/xpath/node-tests/node-test-pi.d.ts +8 -8
- package/xpath/node-tests/node-test-pi.js +16 -16
- package/xpath/node-tests/node-test-pi.js.map +1 -1
- package/xpath/node-tests/node-test-text.d.ts +6 -6
- package/xpath/node-tests/node-test-text.js +14 -14
- package/xpath/node-tests/node-test.d.ts +5 -5
- package/xpath/node-tests/node-test.js +2 -2
- package/xpath/tokens.d.ts +62 -62
- package/xpath/tokens.js +300 -300
- package/xpath/tokens.js.map +1 -1
- package/xpath/values/boolean-value.d.ts +11 -11
- package/xpath/values/boolean-value.js +23 -23
- package/xpath/values/index.d.ts +5 -5
- package/xpath/values/index.js +46 -46
- package/xpath/values/node-set-value.d.ts +11 -11
- package/xpath/values/node-set-value.js +27 -27
- package/xpath/values/node-set-value.js.map +1 -1
- package/xpath/values/node-value.d.ts +7 -7
- package/xpath/values/node-value.js +2 -2
- package/xpath/values/number-value.d.ts +11 -11
- package/xpath/values/number-value.js +23 -23
- package/xpath/values/string-value.d.ts +11 -11
- package/xpath/values/string-value.js +23 -23
- package/xpath/xpath-grammar-rules.d.ts +68 -68
- package/xpath/xpath-grammar-rules.js +74 -74
- package/xpath/xpath-token-rule.d.ts +7 -7
- package/xpath/xpath-token-rule.js +2 -2
- package/xpath/xpath.d.ts +174 -170
- package/xpath/xpath.js +911 -909
- package/xpath/xpath.js.map +1 -1
- package/xpathdebug.d.ts +2 -2
- package/xpathdebug.js +187 -187
- package/xpathdebug.js.map +1 -1
- package/xslt/index.d.ts +3 -3
- package/xslt/index.js +19 -19
- package/xslt/xslt-decimal-format-settings.d.ts +28 -28
- package/xslt/xslt-decimal-format-settings.js +2 -2
- package/xslt/xslt-options.d.ts +7 -7
- package/xslt/xslt-options.js +2 -2
- package/xslt/xslt-parameter.d.ts +5 -5
- package/xslt/xslt-parameter.js +2 -2
- package/xslt/xslt.d.ts +207 -190
- package/xslt/xslt.js +1135 -1079
- package/xslt/xslt.js.map +1 -1
|
@@ -1,281 +1,281 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.StepExpr = void 0;
|
|
19
|
-
var constants_1 = require("../../constants");
|
|
20
|
-
var dom_1 = require("../../dom");
|
|
21
|
-
var node_set_value_1 = require("../values/node-set-value");
|
|
22
|
-
var node_test_any_1 = require("../node-tests/node-test-any");
|
|
23
|
-
var tokens_1 = require("../tokens");
|
|
24
|
-
var expression_1 = require("./expression");
|
|
25
|
-
var binary_expr_1 = require("./binary-expr");
|
|
26
|
-
var function_call_expr_1 = require("./function-call-expr");
|
|
27
|
-
var number_expr_1 = require("./number-expr");
|
|
28
|
-
var unary_minus_expr_1 = require("./unary-minus-expr");
|
|
29
|
-
var common_function_1 = require("../common-function");
|
|
30
|
-
var StepExpr = /** @class */ (function (_super) {
|
|
31
|
-
__extends(StepExpr, _super);
|
|
32
|
-
function StepExpr(axis, nodeTest, xPath, opt_predicate) {
|
|
33
|
-
var _this = _super.call(this) || this;
|
|
34
|
-
_this.axis = axis;
|
|
35
|
-
_this.nodeTest = nodeTest;
|
|
36
|
-
_this.predicate = opt_predicate || [];
|
|
37
|
-
_this.hasPositionalPredicate = false;
|
|
38
|
-
_this.xPath = xPath;
|
|
39
|
-
for (var i = 0; i < _this.predicate.length; ++i) {
|
|
40
|
-
if (_this.predicateExprHasPositionalSelector(_this.predicate[i].expr)) {
|
|
41
|
-
_this.hasPositionalPredicate = true;
|
|
42
|
-
break;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
return _this;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Determines whether a predicate expression contains a "positional selector".
|
|
49
|
-
* A positional selector filters nodes from the nodeList input based on their
|
|
50
|
-
* position within that list. When such selectors are encountered, the
|
|
51
|
-
* evaluation of the predicate cannot be depth-first, because the positional
|
|
52
|
-
* selector may be based on the result of evaluating predicates that precede
|
|
53
|
-
* it.
|
|
54
|
-
*/
|
|
55
|
-
StepExpr.prototype.predicateExprHasPositionalSelector = function (expr, isRecursiveCall) {
|
|
56
|
-
if (!expr) {
|
|
57
|
-
return false;
|
|
58
|
-
}
|
|
59
|
-
if (!isRecursiveCall && this.exprReturnsNumberValue(expr)) {
|
|
60
|
-
// this is a "proximity position"-based predicate
|
|
61
|
-
return true;
|
|
62
|
-
}
|
|
63
|
-
if (expr instanceof function_call_expr_1.FunctionCallExpr) {
|
|
64
|
-
var value = expr.name.value;
|
|
65
|
-
return value == 'last' || value == 'position';
|
|
66
|
-
}
|
|
67
|
-
if (expr instanceof binary_expr_1.BinaryExpr) {
|
|
68
|
-
return (this.predicateExprHasPositionalSelector(expr.expr1, true) ||
|
|
69
|
-
this.predicateExprHasPositionalSelector(expr.expr2, true));
|
|
70
|
-
}
|
|
71
|
-
return false;
|
|
72
|
-
};
|
|
73
|
-
StepExpr.prototype.exprReturnsNumberValue = function (expr) {
|
|
74
|
-
if (expr instanceof function_call_expr_1.FunctionCallExpr) {
|
|
75
|
-
var isMember = {
|
|
76
|
-
last: true,
|
|
77
|
-
position: true,
|
|
78
|
-
count: true,
|
|
79
|
-
'string-length': true,
|
|
80
|
-
number: true,
|
|
81
|
-
sum: true,
|
|
82
|
-
floor: true,
|
|
83
|
-
ceiling: true,
|
|
84
|
-
round: true
|
|
85
|
-
};
|
|
86
|
-
return isMember[expr.name.value];
|
|
87
|
-
}
|
|
88
|
-
if (expr instanceof unary_minus_expr_1.UnaryMinusExpr) {
|
|
89
|
-
return true;
|
|
90
|
-
}
|
|
91
|
-
if (expr instanceof binary_expr_1.BinaryExpr) {
|
|
92
|
-
var isMember = {
|
|
93
|
-
'+': true,
|
|
94
|
-
'-': true,
|
|
95
|
-
'*': true,
|
|
96
|
-
mod: true,
|
|
97
|
-
div: true
|
|
98
|
-
};
|
|
99
|
-
return isMember[expr.op.value];
|
|
100
|
-
}
|
|
101
|
-
if (expr instanceof number_expr_1.NumberExpr) {
|
|
102
|
-
return true;
|
|
103
|
-
}
|
|
104
|
-
return false;
|
|
105
|
-
};
|
|
106
|
-
StepExpr.prototype.appendPredicate = function (predicateExpression) {
|
|
107
|
-
this.predicate.push(predicateExpression);
|
|
108
|
-
if (!this.hasPositionalPredicate) {
|
|
109
|
-
this.hasPositionalPredicate = this.predicateExprHasPositionalSelector(predicateExpression.expression);
|
|
110
|
-
}
|
|
111
|
-
};
|
|
112
|
-
StepExpr.prototype.evaluate = function (context) {
|
|
113
|
-
var node = context.nodeList[context.position];
|
|
114
|
-
var nodeList = [];
|
|
115
|
-
var skipNodeTest = false;
|
|
116
|
-
if (this.nodeTest instanceof node_test_any_1.NodeTestAny) {
|
|
117
|
-
skipNodeTest = true;
|
|
118
|
-
}
|
|
119
|
-
switch (this.axis) {
|
|
120
|
-
case tokens_1.xPathAxis.ANCESTOR_OR_SELF:
|
|
121
|
-
nodeList.push(node);
|
|
122
|
-
for (var n = node.parentNode; n; n = n.parentNode) {
|
|
123
|
-
if (n.nodeType !== constants_1.DOM_ATTRIBUTE_NODE) {
|
|
124
|
-
nodeList.push(n);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
break;
|
|
128
|
-
case tokens_1.xPathAxis.ANCESTOR:
|
|
129
|
-
for (var n = node.parentNode; n; n = n.parentNode) {
|
|
130
|
-
if (n.nodeType !== constants_1.DOM_ATTRIBUTE_NODE) {
|
|
131
|
-
nodeList.push(n);
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
break;
|
|
135
|
-
case tokens_1.xPathAxis.ATTRIBUTE:
|
|
136
|
-
var attributes = node.childNodes.filter(function (n) { return n.nodeType === constants_1.DOM_ATTRIBUTE_NODE; });
|
|
137
|
-
if (this.nodeTest.name !== undefined) {
|
|
138
|
-
// single-attribute step
|
|
139
|
-
if (attributes) {
|
|
140
|
-
if (attributes instanceof Array) {
|
|
141
|
-
// probably evaluating on document created by xmlParse()
|
|
142
|
-
(0, common_function_1.copyArray)(nodeList, attributes);
|
|
143
|
-
}
|
|
144
|
-
else {
|
|
145
|
-
// TODO: I think this `else` does't make any sense now.
|
|
146
|
-
// Before unifying attributes with child nodes, `node.attributes` was always an array.
|
|
147
|
-
if (this.nodeTest.name == 'style') {
|
|
148
|
-
var value = node.getAttributeValue('style');
|
|
149
|
-
if (value && typeof value != 'string') {
|
|
150
|
-
// this is the case where indexing into the attributes array
|
|
151
|
-
// doesn't give us the attribute node in IE - we create our own
|
|
152
|
-
// node instead
|
|
153
|
-
nodeList.push(dom_1.XNode.create(constants_1.DOM_ATTRIBUTE_NODE, 'style', value.cssText, document));
|
|
154
|
-
}
|
|
155
|
-
else {
|
|
156
|
-
nodeList.push(attributes[this.nodeTest.name]);
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
else {
|
|
160
|
-
nodeList.push(attributes[this.nodeTest.name]);
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
else {
|
|
166
|
-
// all-attributes step
|
|
167
|
-
if (context.ignoreAttributesWithoutValue) {
|
|
168
|
-
(0, common_function_1.copyArrayIgnoringAttributesWithoutValue)(nodeList, attributes);
|
|
169
|
-
}
|
|
170
|
-
else {
|
|
171
|
-
(0, common_function_1.copyArray)(nodeList, attributes);
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
break;
|
|
175
|
-
case tokens_1.xPathAxis.CHILD:
|
|
176
|
-
(0, common_function_1.copyArray)(nodeList, node.childNodes.filter(function (n) { return n.nodeType !== constants_1.DOM_ATTRIBUTE_NODE; }));
|
|
177
|
-
break;
|
|
178
|
-
case tokens_1.xPathAxis.DESCENDANT_OR_SELF: {
|
|
179
|
-
if (this.nodeTest.evaluate(context).booleanValue()) {
|
|
180
|
-
nodeList.push(node);
|
|
181
|
-
}
|
|
182
|
-
var tagName = this.xPath.xPathExtractTagNameFromNodeTest(this.nodeTest, context.ignoreNonElementNodesForNTA);
|
|
183
|
-
this.xPath.xPathCollectDescendants(nodeList, node, tagName);
|
|
184
|
-
if (tagName)
|
|
185
|
-
skipNodeTest = true;
|
|
186
|
-
break;
|
|
187
|
-
}
|
|
188
|
-
case tokens_1.xPathAxis.DESCENDANT: {
|
|
189
|
-
var tagName = this.xPath.xPathExtractTagNameFromNodeTest(this.nodeTest, context.ignoreNonElementNodesForNTA);
|
|
190
|
-
this.xPath.xPathCollectDescendants(nodeList, node, tagName);
|
|
191
|
-
if (tagName)
|
|
192
|
-
skipNodeTest = true;
|
|
193
|
-
break;
|
|
194
|
-
}
|
|
195
|
-
case tokens_1.xPathAxis.FOLLOWING:
|
|
196
|
-
for (var n = node; n; n = n.parentNode) {
|
|
197
|
-
for (var nn = n.nextSibling; nn; nn = nn.nextSibling) {
|
|
198
|
-
if (nn.nodeType !== constants_1.DOM_ATTRIBUTE_NODE) {
|
|
199
|
-
nodeList.push(nn);
|
|
200
|
-
}
|
|
201
|
-
this.xPath.xPathCollectDescendants(nodeList, nn);
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
break;
|
|
205
|
-
case tokens_1.xPathAxis.FOLLOWING_SIBLING:
|
|
206
|
-
if (node.nodeType === constants_1.DOM_ATTRIBUTE_NODE) {
|
|
207
|
-
break;
|
|
208
|
-
}
|
|
209
|
-
for (var n = node.nextSibling; n; n = n.nextSibling) {
|
|
210
|
-
if (n.nodeType !== constants_1.DOM_ATTRIBUTE_NODE) {
|
|
211
|
-
nodeList.push(n);
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
break;
|
|
215
|
-
case tokens_1.xPathAxis.NAMESPACE:
|
|
216
|
-
throw new Error('not implemented: axis namespace');
|
|
217
|
-
case tokens_1.xPathAxis.PARENT:
|
|
218
|
-
if (node.parentNode) {
|
|
219
|
-
nodeList.push(node.parentNode);
|
|
220
|
-
}
|
|
221
|
-
break;
|
|
222
|
-
case tokens_1.xPathAxis.PRECEDING:
|
|
223
|
-
for (var n = node; n; n = n.parentNode) {
|
|
224
|
-
for (var nn = n.previousSibling; nn; nn = nn.previousSibling) {
|
|
225
|
-
if (nn.nodeType !== constants_1.DOM_ATTRIBUTE_NODE) {
|
|
226
|
-
nodeList.push(nn);
|
|
227
|
-
}
|
|
228
|
-
this.xPath.xPathCollectDescendantsReverse(nodeList, nn);
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
break;
|
|
232
|
-
case tokens_1.xPathAxis.PRECEDING_SIBLING:
|
|
233
|
-
for (var n = node.previousSibling; n; n = n.previousSibling) {
|
|
234
|
-
if (n.nodeType !== constants_1.DOM_ATTRIBUTE_NODE) {
|
|
235
|
-
nodeList.push(n);
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
break;
|
|
239
|
-
case tokens_1.xPathAxis.SELF:
|
|
240
|
-
nodeList.push(node);
|
|
241
|
-
break;
|
|
242
|
-
case tokens_1.xPathAxis.SELF_AND_SIBLINGS:
|
|
243
|
-
for (var _i = 0, _a = context.nodeList; _i < _a.length; _i++) {
|
|
244
|
-
var node_1 = _a[_i];
|
|
245
|
-
if (node_1.nodeType !== constants_1.DOM_ATTRIBUTE_NODE) {
|
|
246
|
-
nodeList.push(node_1);
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
break;
|
|
250
|
-
default:
|
|
251
|
-
throw new Error("ERROR -- NO SUCH AXIS: ".concat(this.axis));
|
|
252
|
-
}
|
|
253
|
-
if (!skipNodeTest) {
|
|
254
|
-
// process node test
|
|
255
|
-
var nodeList0 = nodeList;
|
|
256
|
-
nodeList = [];
|
|
257
|
-
for (var i = 0; i < nodeList0.length; ++i) {
|
|
258
|
-
if (this.nodeTest.evaluate(context.clone(nodeList0, undefined, i)).booleanValue()) {
|
|
259
|
-
nodeList.push(nodeList0[i]);
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
// process predicates
|
|
264
|
-
if (!context.returnOnFirstMatch) {
|
|
265
|
-
for (var i = 0; i < this.predicate.length; ++i) {
|
|
266
|
-
var nodeList0 = nodeList;
|
|
267
|
-
nodeList = [];
|
|
268
|
-
for (var ii = 0; ii < nodeList0.length; ++ii) {
|
|
269
|
-
var n = nodeList0[ii];
|
|
270
|
-
if (this.predicate[i].evaluate(context.clone(nodeList0, undefined, ii)).booleanValue()) {
|
|
271
|
-
nodeList.push(n);
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
return new node_set_value_1.NodeSetValue(nodeList);
|
|
277
|
-
};
|
|
278
|
-
return StepExpr;
|
|
279
|
-
}(expression_1.Expression));
|
|
280
|
-
exports.StepExpr = StepExpr;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.StepExpr = void 0;
|
|
19
|
+
var constants_1 = require("../../constants");
|
|
20
|
+
var dom_1 = require("../../dom");
|
|
21
|
+
var node_set_value_1 = require("../values/node-set-value");
|
|
22
|
+
var node_test_any_1 = require("../node-tests/node-test-any");
|
|
23
|
+
var tokens_1 = require("../tokens");
|
|
24
|
+
var expression_1 = require("./expression");
|
|
25
|
+
var binary_expr_1 = require("./binary-expr");
|
|
26
|
+
var function_call_expr_1 = require("./function-call-expr");
|
|
27
|
+
var number_expr_1 = require("./number-expr");
|
|
28
|
+
var unary_minus_expr_1 = require("./unary-minus-expr");
|
|
29
|
+
var common_function_1 = require("../common-function");
|
|
30
|
+
var StepExpr = /** @class */ (function (_super) {
|
|
31
|
+
__extends(StepExpr, _super);
|
|
32
|
+
function StepExpr(axis, nodeTest, xPath, opt_predicate) {
|
|
33
|
+
var _this = _super.call(this) || this;
|
|
34
|
+
_this.axis = axis;
|
|
35
|
+
_this.nodeTest = nodeTest;
|
|
36
|
+
_this.predicate = opt_predicate || [];
|
|
37
|
+
_this.hasPositionalPredicate = false;
|
|
38
|
+
_this.xPath = xPath;
|
|
39
|
+
for (var i = 0; i < _this.predicate.length; ++i) {
|
|
40
|
+
if (_this.predicateExprHasPositionalSelector(_this.predicate[i].expr)) {
|
|
41
|
+
_this.hasPositionalPredicate = true;
|
|
42
|
+
break;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return _this;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Determines whether a predicate expression contains a "positional selector".
|
|
49
|
+
* A positional selector filters nodes from the nodeList input based on their
|
|
50
|
+
* position within that list. When such selectors are encountered, the
|
|
51
|
+
* evaluation of the predicate cannot be depth-first, because the positional
|
|
52
|
+
* selector may be based on the result of evaluating predicates that precede
|
|
53
|
+
* it.
|
|
54
|
+
*/
|
|
55
|
+
StepExpr.prototype.predicateExprHasPositionalSelector = function (expr, isRecursiveCall) {
|
|
56
|
+
if (!expr) {
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
if (!isRecursiveCall && this.exprReturnsNumberValue(expr)) {
|
|
60
|
+
// this is a "proximity position"-based predicate
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
if (expr instanceof function_call_expr_1.FunctionCallExpr) {
|
|
64
|
+
var value = expr.name.value;
|
|
65
|
+
return value == 'last' || value == 'position';
|
|
66
|
+
}
|
|
67
|
+
if (expr instanceof binary_expr_1.BinaryExpr) {
|
|
68
|
+
return (this.predicateExprHasPositionalSelector(expr.expr1, true) ||
|
|
69
|
+
this.predicateExprHasPositionalSelector(expr.expr2, true));
|
|
70
|
+
}
|
|
71
|
+
return false;
|
|
72
|
+
};
|
|
73
|
+
StepExpr.prototype.exprReturnsNumberValue = function (expr) {
|
|
74
|
+
if (expr instanceof function_call_expr_1.FunctionCallExpr) {
|
|
75
|
+
var isMember = {
|
|
76
|
+
last: true,
|
|
77
|
+
position: true,
|
|
78
|
+
count: true,
|
|
79
|
+
'string-length': true,
|
|
80
|
+
number: true,
|
|
81
|
+
sum: true,
|
|
82
|
+
floor: true,
|
|
83
|
+
ceiling: true,
|
|
84
|
+
round: true
|
|
85
|
+
};
|
|
86
|
+
return isMember[expr.name.value];
|
|
87
|
+
}
|
|
88
|
+
if (expr instanceof unary_minus_expr_1.UnaryMinusExpr) {
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
if (expr instanceof binary_expr_1.BinaryExpr) {
|
|
92
|
+
var isMember = {
|
|
93
|
+
'+': true,
|
|
94
|
+
'-': true,
|
|
95
|
+
'*': true,
|
|
96
|
+
mod: true,
|
|
97
|
+
div: true
|
|
98
|
+
};
|
|
99
|
+
return isMember[expr.op.value];
|
|
100
|
+
}
|
|
101
|
+
if (expr instanceof number_expr_1.NumberExpr) {
|
|
102
|
+
return true;
|
|
103
|
+
}
|
|
104
|
+
return false;
|
|
105
|
+
};
|
|
106
|
+
StepExpr.prototype.appendPredicate = function (predicateExpression) {
|
|
107
|
+
this.predicate.push(predicateExpression);
|
|
108
|
+
if (!this.hasPositionalPredicate) {
|
|
109
|
+
this.hasPositionalPredicate = this.predicateExprHasPositionalSelector(predicateExpression.expression);
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
StepExpr.prototype.evaluate = function (context) {
|
|
113
|
+
var node = context.nodeList[context.position];
|
|
114
|
+
var nodeList = [];
|
|
115
|
+
var skipNodeTest = false;
|
|
116
|
+
if (this.nodeTest instanceof node_test_any_1.NodeTestAny) {
|
|
117
|
+
skipNodeTest = true;
|
|
118
|
+
}
|
|
119
|
+
switch (this.axis) {
|
|
120
|
+
case tokens_1.xPathAxis.ANCESTOR_OR_SELF:
|
|
121
|
+
nodeList.push(node);
|
|
122
|
+
for (var n = node.parentNode; n; n = n.parentNode) {
|
|
123
|
+
if (n.nodeType !== constants_1.DOM_ATTRIBUTE_NODE) {
|
|
124
|
+
nodeList.push(n);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
break;
|
|
128
|
+
case tokens_1.xPathAxis.ANCESTOR:
|
|
129
|
+
for (var n = node.parentNode; n; n = n.parentNode) {
|
|
130
|
+
if (n.nodeType !== constants_1.DOM_ATTRIBUTE_NODE) {
|
|
131
|
+
nodeList.push(n);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
break;
|
|
135
|
+
case tokens_1.xPathAxis.ATTRIBUTE:
|
|
136
|
+
var attributes = node.childNodes.filter(function (n) { return n.nodeType === constants_1.DOM_ATTRIBUTE_NODE; });
|
|
137
|
+
if (this.nodeTest.name !== undefined) {
|
|
138
|
+
// single-attribute step
|
|
139
|
+
if (attributes) {
|
|
140
|
+
if (attributes instanceof Array) {
|
|
141
|
+
// probably evaluating on document created by xmlParse()
|
|
142
|
+
(0, common_function_1.copyArray)(nodeList, attributes);
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
// TODO: I think this `else` does't make any sense now.
|
|
146
|
+
// Before unifying attributes with child nodes, `node.attributes` was always an array.
|
|
147
|
+
if (this.nodeTest.name == 'style') {
|
|
148
|
+
var value = node.getAttributeValue('style');
|
|
149
|
+
if (value && typeof value != 'string') {
|
|
150
|
+
// this is the case where indexing into the attributes array
|
|
151
|
+
// doesn't give us the attribute node in IE - we create our own
|
|
152
|
+
// node instead
|
|
153
|
+
nodeList.push(dom_1.XNode.create(constants_1.DOM_ATTRIBUTE_NODE, 'style', value.cssText, document));
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
nodeList.push(attributes[this.nodeTest.name]);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
nodeList.push(attributes[this.nodeTest.name]);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
// all-attributes step
|
|
167
|
+
if (context.ignoreAttributesWithoutValue) {
|
|
168
|
+
(0, common_function_1.copyArrayIgnoringAttributesWithoutValue)(nodeList, attributes);
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
(0, common_function_1.copyArray)(nodeList, attributes);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
break;
|
|
175
|
+
case tokens_1.xPathAxis.CHILD:
|
|
176
|
+
(0, common_function_1.copyArray)(nodeList, node.childNodes.filter(function (n) { return n.nodeType !== constants_1.DOM_ATTRIBUTE_NODE; }));
|
|
177
|
+
break;
|
|
178
|
+
case tokens_1.xPathAxis.DESCENDANT_OR_SELF: {
|
|
179
|
+
if (this.nodeTest.evaluate(context).booleanValue()) {
|
|
180
|
+
nodeList.push(node);
|
|
181
|
+
}
|
|
182
|
+
var tagName = this.xPath.xPathExtractTagNameFromNodeTest(this.nodeTest, context.ignoreNonElementNodesForNTA);
|
|
183
|
+
this.xPath.xPathCollectDescendants(nodeList, node, tagName);
|
|
184
|
+
if (tagName)
|
|
185
|
+
skipNodeTest = true;
|
|
186
|
+
break;
|
|
187
|
+
}
|
|
188
|
+
case tokens_1.xPathAxis.DESCENDANT: {
|
|
189
|
+
var tagName = this.xPath.xPathExtractTagNameFromNodeTest(this.nodeTest, context.ignoreNonElementNodesForNTA);
|
|
190
|
+
this.xPath.xPathCollectDescendants(nodeList, node, tagName);
|
|
191
|
+
if (tagName)
|
|
192
|
+
skipNodeTest = true;
|
|
193
|
+
break;
|
|
194
|
+
}
|
|
195
|
+
case tokens_1.xPathAxis.FOLLOWING:
|
|
196
|
+
for (var n = node; n; n = n.parentNode) {
|
|
197
|
+
for (var nn = n.nextSibling; nn; nn = nn.nextSibling) {
|
|
198
|
+
if (nn.nodeType !== constants_1.DOM_ATTRIBUTE_NODE) {
|
|
199
|
+
nodeList.push(nn);
|
|
200
|
+
}
|
|
201
|
+
this.xPath.xPathCollectDescendants(nodeList, nn);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
break;
|
|
205
|
+
case tokens_1.xPathAxis.FOLLOWING_SIBLING:
|
|
206
|
+
if (node.nodeType === constants_1.DOM_ATTRIBUTE_NODE) {
|
|
207
|
+
break;
|
|
208
|
+
}
|
|
209
|
+
for (var n = node.nextSibling; n; n = n.nextSibling) {
|
|
210
|
+
if (n.nodeType !== constants_1.DOM_ATTRIBUTE_NODE) {
|
|
211
|
+
nodeList.push(n);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
break;
|
|
215
|
+
case tokens_1.xPathAxis.NAMESPACE:
|
|
216
|
+
throw new Error('not implemented: axis namespace');
|
|
217
|
+
case tokens_1.xPathAxis.PARENT:
|
|
218
|
+
if (node.parentNode) {
|
|
219
|
+
nodeList.push(node.parentNode);
|
|
220
|
+
}
|
|
221
|
+
break;
|
|
222
|
+
case tokens_1.xPathAxis.PRECEDING:
|
|
223
|
+
for (var n = node; n; n = n.parentNode) {
|
|
224
|
+
for (var nn = n.previousSibling; nn; nn = nn.previousSibling) {
|
|
225
|
+
if (nn.nodeType !== constants_1.DOM_ATTRIBUTE_NODE) {
|
|
226
|
+
nodeList.push(nn);
|
|
227
|
+
}
|
|
228
|
+
this.xPath.xPathCollectDescendantsReverse(nodeList, nn);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
break;
|
|
232
|
+
case tokens_1.xPathAxis.PRECEDING_SIBLING:
|
|
233
|
+
for (var n = node.previousSibling; n; n = n.previousSibling) {
|
|
234
|
+
if (n.nodeType !== constants_1.DOM_ATTRIBUTE_NODE) {
|
|
235
|
+
nodeList.push(n);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
break;
|
|
239
|
+
case tokens_1.xPathAxis.SELF:
|
|
240
|
+
nodeList.push(node);
|
|
241
|
+
break;
|
|
242
|
+
case tokens_1.xPathAxis.SELF_AND_SIBLINGS:
|
|
243
|
+
for (var _i = 0, _a = context.nodeList; _i < _a.length; _i++) {
|
|
244
|
+
var node_1 = _a[_i];
|
|
245
|
+
if (node_1.nodeType !== constants_1.DOM_ATTRIBUTE_NODE) {
|
|
246
|
+
nodeList.push(node_1);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
break;
|
|
250
|
+
default:
|
|
251
|
+
throw new Error("ERROR -- NO SUCH AXIS: ".concat(this.axis));
|
|
252
|
+
}
|
|
253
|
+
if (!skipNodeTest) {
|
|
254
|
+
// process node test
|
|
255
|
+
var nodeList0 = nodeList;
|
|
256
|
+
nodeList = [];
|
|
257
|
+
for (var i = 0; i < nodeList0.length; ++i) {
|
|
258
|
+
if (this.nodeTest.evaluate(context.clone(nodeList0, undefined, i)).booleanValue()) {
|
|
259
|
+
nodeList.push(nodeList0[i]);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
// process predicates
|
|
264
|
+
if (!context.returnOnFirstMatch) {
|
|
265
|
+
for (var i = 0; i < this.predicate.length; ++i) {
|
|
266
|
+
var nodeList0 = nodeList;
|
|
267
|
+
nodeList = [];
|
|
268
|
+
for (var ii = 0; ii < nodeList0.length; ++ii) {
|
|
269
|
+
var n = nodeList0[ii];
|
|
270
|
+
if (this.predicate[i].evaluate(context.clone(nodeList0, undefined, ii)).booleanValue()) {
|
|
271
|
+
nodeList.push(n);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
return new node_set_value_1.NodeSetValue(nodeList);
|
|
277
|
+
};
|
|
278
|
+
return StepExpr;
|
|
279
|
+
}(expression_1.Expression));
|
|
280
|
+
exports.StepExpr = StepExpr;
|
|
281
281
|
//# sourceMappingURL=step-expr.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-expr.js","sourceRoot":"","sources":["../../../src/xpath/expressions/step-expr.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,6CAAqD;AACrD,iCAAkC;AAElC,2DAAwD;AACxD,6DAA0D;AAC1D,oCAAsC;AACtC,2CAA0C;AAE1C,6CAA2C;AAC3C,2DAAwD;AACxD,6CAA2C;AAC3C,uDAAoD;AACpD,sDAAwF;AAGxF;IAA8B,4BAAU;IAOpC,kBAAY,IAAS,EAAE,QAAa,EAAE,KAAY,EAAE,aAAmB;
|
|
1
|
+
{"version":3,"file":"step-expr.js","sourceRoot":"","sources":["../../../src/xpath/expressions/step-expr.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { StringValue } from "../values/string-value";
|
|
2
|
-
import { Expression } from "./expression";
|
|
3
|
-
export declare class TokenExpr extends Expression {
|
|
4
|
-
value: any;
|
|
5
|
-
constructor(m: any);
|
|
6
|
-
evaluate(): StringValue;
|
|
7
|
-
}
|
|
1
|
+
import { StringValue } from "../values/string-value";
|
|
2
|
+
import { Expression } from "./expression";
|
|
3
|
+
export declare class TokenExpr extends Expression {
|
|
4
|
+
value: any;
|
|
5
|
+
constructor(m: any);
|
|
6
|
+
evaluate(): StringValue;
|
|
7
|
+
}
|