xslt-processor 2.1.4 → 2.2.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.
Files changed (55) hide show
  1. package/dom/functions.d.ts +1 -1
  2. package/dom/functions.js.map +1 -1
  3. package/dom/xdocument.d.ts +0 -1
  4. package/dom/xdocument.js +4 -3
  5. package/dom/xdocument.js.map +1 -1
  6. package/dom/xml-functions.d.ts +1 -1
  7. package/dom/xml-functions.js +24 -13
  8. package/dom/xml-functions.js.map +1 -1
  9. package/dom/xml-parser.js +18 -11
  10. package/dom/xml-parser.js.map +1 -1
  11. package/dom/xnode.d.ts +18 -14
  12. package/dom/xnode.js +75 -51
  13. package/dom/xnode.js.map +1 -1
  14. package/package.json +1 -1
  15. package/umd/dom/functions.d.ts +1 -1
  16. package/umd/dom/xdocument.d.ts +0 -1
  17. package/umd/dom/xml-functions.d.ts +1 -1
  18. package/umd/dom/xnode.d.ts +18 -14
  19. package/umd/xpath/common-function.d.ts +1 -1
  20. package/umd/xpath/expr-context.d.ts +3 -2
  21. package/umd/xpath/expressions/predicate-expr.d.ts +2 -2
  22. package/umd/xpath/expressions/step-expr.d.ts +2 -1
  23. package/umd/xpath/expressions/variable-expr.d.ts +1 -1
  24. package/umd/xpath/values/boolean-value.d.ts +2 -1
  25. package/umd/xpath/values/node-value.d.ts +1 -1
  26. package/umd/xpath/values/number-value.d.ts +2 -1
  27. package/umd/xpath/values/string-value.d.ts +2 -1
  28. package/umd/xpath/xpath.d.ts +12 -4
  29. package/umd/xslt-processor.js +2 -2
  30. package/umd/xslt-processor.js.map +1 -1
  31. package/xpath/common-function.d.ts +1 -1
  32. package/xpath/common-function.js.map +1 -1
  33. package/xpath/expr-context.d.ts +3 -2
  34. package/xpath/expr-context.js.map +1 -1
  35. package/xpath/expressions/predicate-expr.d.ts +2 -2
  36. package/xpath/expressions/predicate-expr.js +6 -6
  37. package/xpath/expressions/predicate-expr.js.map +1 -1
  38. package/xpath/expressions/step-expr.d.ts +2 -1
  39. package/xpath/expressions/step-expr.js +55 -35
  40. package/xpath/expressions/step-expr.js.map +1 -1
  41. package/xpath/expressions/variable-expr.d.ts +1 -1
  42. package/xpath/expressions/variable-expr.js +2 -2
  43. package/xpath/expressions/variable-expr.js.map +1 -1
  44. package/xpath/values/boolean-value.d.ts +2 -1
  45. package/xpath/values/boolean-value.js.map +1 -1
  46. package/xpath/values/node-value.d.ts +1 -1
  47. package/xpath/values/number-value.d.ts +2 -1
  48. package/xpath/values/number-value.js.map +1 -1
  49. package/xpath/values/string-value.d.ts +2 -1
  50. package/xpath/values/string-value.js.map +1 -1
  51. package/xpath/xpath.d.ts +12 -4
  52. package/xpath/xpath.js +14 -6
  53. package/xpath/xpath.js.map +1 -1
  54. package/xslt/xslt.js +36 -28
  55. package/xslt/xslt.js.map +1 -1
@@ -5,4 +5,4 @@ export declare function copyArray(dst: any[], src: any[]): void;
5
5
  * significant extra processing when evaluating attribute steps. With this
6
6
  * function, we ignore any such attributes that has an empty string value.
7
7
  */
8
- export declare function copyArrayIgnoringAttributesWithoutValue(dst: any, src: any): void;
8
+ export declare function copyArrayIgnoringAttributesWithoutValue(dst: any[], src: any[]): void;
@@ -1 +1 @@
1
- {"version":3,"file":"common-function.js","sourceRoot":"","sources":["../../src/xpath/common-function.ts"],"names":[],"mappings":";;;AAAA,sDAAsD;AACtD,qEAAqE;AACrE,SAAgB,SAAS,CAAC,GAAU,EAAE,GAAU;IAC5C,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,IAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;QACtC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;KAC/B;AACL,CAAC;AAND,8BAMC;AAED;;;;;GAKG;AACH,SAAgB,uCAAuC,CAAC,GAAG,EAAE,GAAG;IAC5D,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;QACtC,sEAAsE;QACtE,+DAA+D;QAC/D,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;YAClB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SACpB;KACJ;AACL,CAAC;AATD,0FASC"}
1
+ {"version":3,"file":"common-function.js","sourceRoot":"","sources":["../../src/xpath/common-function.ts"],"names":[],"mappings":";;;AAAA,sDAAsD;AACtD,qEAAqE;AACrE,SAAgB,SAAS,CAAC,GAAU,EAAE,GAAU;IAC5C,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,IAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;QACtC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;KAC/B;AACL,CAAC;AAND,8BAMC;AAED;;;;;GAKG;AACH,SAAgB,uCAAuC,CAAC,GAAU,EAAE,GAAU;IAC1E,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;QACtC,sEAAsE;QACtE,+DAA+D;QAC/D,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;YAClB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SACpB;KACJ;AACL,CAAC;AATD,0FASC"}
@@ -1,5 +1,6 @@
1
1
  import { XNode } from '../dom';
2
2
  import { XsltDecimalFormatSettings } from '../xslt/xslt-decimal-format-settings';
3
+ import { NodeValue } from './values';
3
4
  /**
4
5
  * XPath expression evaluation context. An XPath context consists of a
5
6
  * DOM node, a list of DOM nodes that contains this node, a number
@@ -42,7 +43,7 @@ export declare class ExprContext {
42
43
  outputDepth: number;
43
44
  xsltVersion: '1.0' | '2.0' | '3.0';
44
45
  variables: {
45
- [name: string]: any;
46
+ [name: string]: NodeValue;
46
47
  };
47
48
  knownNamespaces: {
48
49
  [alias: string]: string;
@@ -96,7 +97,7 @@ export declare class ExprContext {
96
97
  clone(opt_nodeList?: XNode[], opt_outputNodeList?: XNode[], opt_position?: number, opt_outputPosition?: number): ExprContext;
97
98
  cloneByOutput(opt_outputNodeList?: XNode[], opt_outputPosition?: number, opt_outputDepth?: number): ExprContext;
98
99
  setVariable(name?: any, value?: any): void;
99
- getVariable(name: string): any;
100
+ getVariable(name: string): NodeValue;
100
101
  setNode(position: number): void;
101
102
  contextSize(): number;
102
103
  isCaseInsensitive(): any;
@@ -1 +1 @@
1
- {"version":3,"file":"expr-context.js","sourceRoot":"","sources":["../../src/xpath/expr-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expr-context.js","sourceRoot":"","sources":["../../src/xpath/expr-context.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { ExprContext } from "..";
2
2
  import { BooleanValue } from "../values/boolean-value";
3
3
  import { Expression } from "./expression";
4
4
  export declare class PredicateExpr extends Expression {
5
- expr: Expression;
6
- constructor(expr: Expression);
5
+ expression: Expression;
6
+ constructor(expression: Expression);
7
7
  evaluate(context: ExprContext): BooleanValue;
8
8
  }
@@ -20,20 +20,20 @@ var boolean_value_1 = require("../values/boolean-value");
20
20
  var expression_1 = require("./expression");
21
21
  var PredicateExpr = /** @class */ (function (_super) {
22
22
  __extends(PredicateExpr, _super);
23
- function PredicateExpr(expr) {
23
+ function PredicateExpr(expression) {
24
24
  var _this = _super.call(this) || this;
25
- _this.expr = expr;
25
+ _this.expression = expression;
26
26
  return _this;
27
27
  }
28
28
  PredicateExpr.prototype.evaluate = function (context) {
29
- var v = this.expr.evaluate(context);
30
- if (v.type == 'number') {
29
+ var value = this.expression.evaluate(context);
30
+ if (value.type == 'number') {
31
31
  // NOTE(mesch): Internally, position is represented starting with
32
32
  // 0, however in XPath position starts with 1. See functions
33
33
  // position() and last().
34
- return new boolean_value_1.BooleanValue(context.position == v.numberValue() - 1);
34
+ return new boolean_value_1.BooleanValue(context.position == value.numberValue() - 1);
35
35
  }
36
- return new boolean_value_1.BooleanValue(v.booleanValue());
36
+ return new boolean_value_1.BooleanValue(value.booleanValue());
37
37
  };
38
38
  return PredicateExpr;
39
39
  }(expression_1.Expression));
@@ -1 +1 @@
1
- {"version":3,"file":"predicate-expr.js","sourceRoot":"","sources":["../../../src/xpath/expressions/predicate-expr.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,yDAAuD;AACvD,2CAA0C;AAE1C;IAAmC,iCAAU;IAGzC,uBAAY,IAAgB;QAA5B,YACI,iBAAO,SAEV;QADG,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;;IACrB,CAAC;IAED,gCAAQ,GAAR,UAAS,OAAoB;QACzB,IAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,CAAC,IAAI,IAAI,QAAQ,EAAE;YACpB,iEAAiE;YACjE,4DAA4D;YAC5D,yBAAyB;YACzB,OAAO,IAAI,4BAAY,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;SACpE;QAED,OAAO,IAAI,4BAAY,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9C,CAAC;IACL,oBAAC;AAAD,CAAC,AAnBD,CAAmC,uBAAU,GAmB5C;AAnBY,sCAAa"}
1
+ {"version":3,"file":"predicate-expr.js","sourceRoot":"","sources":["../../../src/xpath/expressions/predicate-expr.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,yDAAuD;AACvD,2CAA0C;AAE1C;IAAmC,iCAAU;IAGzC,uBAAY,UAAsB;QAAlC,YACI,iBAAO,SAEV;QADG,KAAI,CAAC,UAAU,GAAG,UAAU,CAAC;;IACjC,CAAC;IAED,gCAAQ,GAAR,UAAS,OAAoB;QACzB,IAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,KAAK,CAAC,IAAI,IAAI,QAAQ,EAAE;YACxB,iEAAiE;YACjE,4DAA4D;YAC5D,yBAAyB;YACzB,OAAO,IAAI,4BAAY,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;SACxE;QAED,OAAO,IAAI,4BAAY,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;IAClD,CAAC;IACL,oBAAC;AAAD,CAAC,AAnBD,CAAmC,uBAAU,GAmB5C;AAnBY,sCAAa"}
@@ -2,6 +2,7 @@ import { ExprContext } from '../expr-context';
2
2
  import { NodeSetValue } from '../values/node-set-value';
3
3
  import { Expression } from './expression';
4
4
  import { XPath } from '../xpath';
5
+ import { PredicateExpr } from './predicate-expr';
5
6
  export declare class StepExpr extends Expression {
6
7
  axis: any;
7
8
  nodeTest: any;
@@ -19,6 +20,6 @@ export declare class StepExpr extends Expression {
19
20
  */
20
21
  private predicateExprHasPositionalSelector;
21
22
  private exprReturnsNumberValue;
22
- appendPredicate(p: any): void;
23
+ appendPredicate(predicateExpression: PredicateExpr): void;
23
24
  evaluate(context: ExprContext): NodeSetValue;
24
25
  }
@@ -103,14 +103,14 @@ var StepExpr = /** @class */ (function (_super) {
103
103
  }
104
104
  return false;
105
105
  };
106
- StepExpr.prototype.appendPredicate = function (p) {
107
- this.predicate.push(p);
106
+ StepExpr.prototype.appendPredicate = function (predicateExpression) {
107
+ this.predicate.push(predicateExpression);
108
108
  if (!this.hasPositionalPredicate) {
109
- this.hasPositionalPredicate = this.predicateExprHasPositionalSelector(p.expr);
109
+ this.hasPositionalPredicate = this.predicateExprHasPositionalSelector(predicateExpression.expression);
110
110
  }
111
111
  };
112
112
  StepExpr.prototype.evaluate = function (context) {
113
- var input = context.nodeList[context.position];
113
+ var node = context.nodeList[context.position];
114
114
  var nodeList = [];
115
115
  var skipNodeTest = false;
116
116
  if (this.nodeTest instanceof node_test_any_1.NodeTestAny) {
@@ -118,27 +118,34 @@ var StepExpr = /** @class */ (function (_super) {
118
118
  }
119
119
  switch (this.axis) {
120
120
  case tokens_1.xPathAxis.ANCESTOR_OR_SELF:
121
- nodeList.push(input);
122
- for (var n = input.parentNode; n; n = n.parentNode) {
123
- nodeList.push(n);
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
+ }
124
126
  }
125
127
  break;
126
128
  case tokens_1.xPathAxis.ANCESTOR:
127
- for (var n = input.parentNode; n; n = n.parentNode) {
128
- nodeList.push(n);
129
+ for (var n = node.parentNode; n; n = n.parentNode) {
130
+ if (n.nodeType !== constants_1.DOM_ATTRIBUTE_NODE) {
131
+ nodeList.push(n);
132
+ }
129
133
  }
130
134
  break;
131
135
  case tokens_1.xPathAxis.ATTRIBUTE:
132
- if (this.nodeTest.name != undefined) {
136
+ var attributes = node.childNodes.filter(function (n) { return n.nodeType === constants_1.DOM_ATTRIBUTE_NODE; });
137
+ if (this.nodeTest.name !== undefined) {
133
138
  // single-attribute step
134
- if (input.attributes) {
135
- if (input.attributes instanceof Array) {
139
+ if (attributes) {
140
+ if (attributes instanceof Array) {
136
141
  // probably evaluating on document created by xmlParse()
137
- (0, common_function_1.copyArray)(nodeList, input.attributes);
142
+ (0, common_function_1.copyArray)(nodeList, attributes);
138
143
  }
139
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.
140
147
  if (this.nodeTest.name == 'style') {
141
- var value = input.getAttributeValue('style');
148
+ var value = node.getAttributeValue('style');
142
149
  if (value && typeof value != 'string') {
143
150
  // this is the case where indexing into the attributes array
144
151
  // doesn't give us the attribute node in IE - we create our own
@@ -146,11 +153,11 @@ var StepExpr = /** @class */ (function (_super) {
146
153
  nodeList.push(dom_1.XNode.create(constants_1.DOM_ATTRIBUTE_NODE, 'style', value.cssText, document));
147
154
  }
148
155
  else {
149
- nodeList.push(input.attributes[this.nodeTest.name]);
156
+ nodeList.push(attributes[this.nodeTest.name]);
150
157
  }
151
158
  }
152
159
  else {
153
- nodeList.push(input.attributes[this.nodeTest.name]);
160
+ nodeList.push(attributes[this.nodeTest.name]);
154
161
  }
155
162
  }
156
163
  }
@@ -158,73 +165,86 @@ var StepExpr = /** @class */ (function (_super) {
158
165
  else {
159
166
  // all-attributes step
160
167
  if (context.ignoreAttributesWithoutValue) {
161
- (0, common_function_1.copyArrayIgnoringAttributesWithoutValue)(nodeList, input.attributes);
168
+ (0, common_function_1.copyArrayIgnoringAttributesWithoutValue)(nodeList, attributes);
162
169
  }
163
170
  else {
164
- (0, common_function_1.copyArray)(nodeList, input.attributes);
171
+ (0, common_function_1.copyArray)(nodeList, attributes);
165
172
  }
166
173
  }
167
174
  break;
168
175
  case tokens_1.xPathAxis.CHILD:
169
- (0, common_function_1.copyArray)(nodeList, input.childNodes);
176
+ (0, common_function_1.copyArray)(nodeList, node.childNodes.filter(function (n) { return n.nodeType !== constants_1.DOM_ATTRIBUTE_NODE; }));
170
177
  break;
171
178
  case tokens_1.xPathAxis.DESCENDANT_OR_SELF: {
172
179
  if (this.nodeTest.evaluate(context).booleanValue()) {
173
- nodeList.push(input);
180
+ nodeList.push(node);
174
181
  }
175
182
  var tagName = this.xPath.xPathExtractTagNameFromNodeTest(this.nodeTest, context.ignoreNonElementNodesForNTA);
176
- this.xPath.xPathCollectDescendants(nodeList, input, tagName);
183
+ this.xPath.xPathCollectDescendants(nodeList, node, tagName);
177
184
  if (tagName)
178
185
  skipNodeTest = true;
179
186
  break;
180
187
  }
181
188
  case tokens_1.xPathAxis.DESCENDANT: {
182
189
  var tagName = this.xPath.xPathExtractTagNameFromNodeTest(this.nodeTest, context.ignoreNonElementNodesForNTA);
183
- this.xPath.xPathCollectDescendants(nodeList, input, tagName);
190
+ this.xPath.xPathCollectDescendants(nodeList, node, tagName);
184
191
  if (tagName)
185
192
  skipNodeTest = true;
186
193
  break;
187
194
  }
188
195
  case tokens_1.xPathAxis.FOLLOWING:
189
- for (var n = input; n; n = n.parentNode) {
196
+ for (var n = node; n; n = n.parentNode) {
190
197
  for (var nn = n.nextSibling; nn; nn = nn.nextSibling) {
191
- nodeList.push(nn);
198
+ if (nn.nodeType !== constants_1.DOM_ATTRIBUTE_NODE) {
199
+ nodeList.push(nn);
200
+ }
192
201
  this.xPath.xPathCollectDescendants(nodeList, nn);
193
202
  }
194
203
  }
195
204
  break;
196
205
  case tokens_1.xPathAxis.FOLLOWING_SIBLING:
197
- for (var n = input.nextSibling; n; n = n.nextSibling) {
198
- nodeList.push(n);
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
+ }
199
213
  }
200
214
  break;
201
215
  case tokens_1.xPathAxis.NAMESPACE:
202
216
  throw new Error('not implemented: axis namespace');
203
217
  case tokens_1.xPathAxis.PARENT:
204
- if (input.parentNode) {
205
- nodeList.push(input.parentNode);
218
+ if (node.parentNode) {
219
+ nodeList.push(node.parentNode);
206
220
  }
207
221
  break;
208
222
  case tokens_1.xPathAxis.PRECEDING:
209
- for (var n = input; n; n = n.parentNode) {
223
+ for (var n = node; n; n = n.parentNode) {
210
224
  for (var nn = n.previousSibling; nn; nn = nn.previousSibling) {
211
- nodeList.push(nn);
225
+ if (nn.nodeType !== constants_1.DOM_ATTRIBUTE_NODE) {
226
+ nodeList.push(nn);
227
+ }
212
228
  this.xPath.xPathCollectDescendantsReverse(nodeList, nn);
213
229
  }
214
230
  }
215
231
  break;
216
232
  case tokens_1.xPathAxis.PRECEDING_SIBLING:
217
- for (var n = input.previousSibling; n; n = n.previousSibling) {
218
- nodeList.push(n);
233
+ for (var n = node.previousSibling; n; n = n.previousSibling) {
234
+ if (n.nodeType !== constants_1.DOM_ATTRIBUTE_NODE) {
235
+ nodeList.push(n);
236
+ }
219
237
  }
220
238
  break;
221
239
  case tokens_1.xPathAxis.SELF:
222
- nodeList.push(input);
240
+ nodeList.push(node);
223
241
  break;
224
242
  case tokens_1.xPathAxis.SELF_AND_SIBLINGS:
225
243
  for (var _i = 0, _a = context.nodeList; _i < _a.length; _i++) {
226
- var node = _a[_i];
227
- nodeList.push(node);
244
+ var node_1 = _a[_i];
245
+ if (node_1.nodeType !== constants_1.DOM_ATTRIBUTE_NODE) {
246
+ nodeList.push(node_1);
247
+ }
228
248
  }
229
249
  break;
230
250
  default:
@@ -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;AAExF;IAA8B,4BAAU;IAOpC,kBAAY,IAAS,EAAE,QAAa,EAAE,KAAY,EAAE,aAAmB;QAAvE,YACI,iBAAO,SAaV;QAZG,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,KAAI,CAAC,SAAS,GAAG,aAAa,IAAI,EAAE,CAAC;QACrC,KAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YAC5C,IAAI,KAAI,CAAC,kCAAkC,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;gBACjE,KAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACnC,MAAM;aACT;SACJ;;IACL,CAAC;IAED;;;;;;;OAOG;IACK,qDAAkC,GAA1C,UAA2C,IAAS,EAAE,eAAqB;QACvE,IAAI,CAAC,IAAI,EAAE;YACP,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE;YACvD,iDAAiD;YACjD,OAAO,IAAI,CAAC;SACf;QACD,IAAI,IAAI,YAAY,qCAAgB,EAAE;YAClC,IAAM,KAAK,GAAI,IAAY,CAAC,IAAI,CAAC,KAAK,CAAC;YACvC,OAAO,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,UAAU,CAAC;SACjD;QACD,IAAI,IAAI,YAAY,wBAAU,EAAE;YAC5B,OAAO,CACH,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;gBACzD,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAC5D,CAAC;SACL;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,yCAAsB,GAA9B,UAA+B,IAAI;QAC/B,IAAI,IAAI,YAAY,qCAAgB,EAAE;YAClC,IAAI,QAAQ,GAAG;gBACX,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,IAAI;gBACX,eAAe,EAAE,IAAI;gBACrB,MAAM,EAAE,IAAI;gBACZ,GAAG,EAAE,IAAI;gBACT,KAAK,EAAE,IAAI;gBACX,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,IAAI;aACd,CAAC;YACF,OAAO,QAAQ,CAAE,IAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC7C;QAED,IAAI,IAAI,YAAY,iCAAc,EAAE;YAChC,OAAO,IAAI,CAAC;SACf;QAED,IAAI,IAAI,YAAY,wBAAU,EAAE;YAC5B,IAAI,QAAQ,GAAG;gBACX,GAAG,EAAE,IAAI;gBACT,GAAG,EAAE,IAAI;gBACT,GAAG,EAAE,IAAI;gBACT,GAAG,EAAE,IAAI;gBACT,GAAG,EAAE,IAAI;aACZ,CAAC;YACF,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;SAClC;QAED,IAAI,IAAI,YAAY,wBAAU,EAAE;YAC5B,OAAO,IAAI,CAAC;SACf;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,kCAAe,GAAf,UAAgB,CAAC;QACb,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAC9B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SACjF;IACL,CAAC;IAED,2BAAQ,GAAR,UAAS,OAAoB;QACzB,IAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,YAAY,GAAG,KAAK,CAAC;QAEzB,IAAI,IAAI,CAAC,QAAQ,YAAY,2BAAW,EAAE;YACtC,YAAY,GAAG,IAAI,CAAC;SACvB;QAED,QAAQ,IAAI,CAAC,IAAI,EAAE;YACf,KAAK,kBAAS,CAAC,gBAAgB;gBAC3B,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE;oBAChD,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACpB;gBACD,MAAM;YAEV,KAAK,kBAAS,CAAC,QAAQ;gBACnB,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE;oBAChD,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACpB;gBACD,MAAM;YAEV,KAAK,kBAAS,CAAC,SAAS;gBACpB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,SAAS,EAAE;oBACjC,wBAAwB;oBACxB,IAAI,KAAK,CAAC,UAAU,EAAE;wBAClB,IAAI,KAAK,CAAC,UAAU,YAAY,KAAK,EAAE;4BACnC,wDAAwD;4BACxD,IAAA,2BAAS,EAAC,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;yBACzC;6BAAM;4BACH,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,OAAO,EAAE;gCAC/B,IAAM,KAAK,GAAG,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;gCAC/C,IAAI,KAAK,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;oCACnC,4DAA4D;oCAC5D,+DAA+D;oCAC/D,eAAe;oCACf,QAAQ,CAAC,IAAI,CAAC,WAAK,CAAC,MAAM,CAAC,8BAAkB,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;iCACrF;qCAAM;oCACH,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;iCACvD;6BACJ;iCAAM;gCACH,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;6BACvD;yBACJ;qBACJ;iBACJ;qBAAM;oBACH,sBAAsB;oBACtB,IAAI,OAAO,CAAC,4BAA4B,EAAE;wBACtC,IAAA,yDAAuC,EAAC,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;qBACvE;yBAAM;wBACH,IAAA,2BAAS,EAAC,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;qBACzC;iBACJ;gBAED,MAAM;YAEV,KAAK,kBAAS,CAAC,KAAK;gBAChB,IAAA,2BAAS,EAAC,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;gBACtC,MAAM;YAEV,KAAK,kBAAS,CAAC,kBAAkB,CAAC,CAAC;gBAC/B,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;oBAChD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACxB;gBACD,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,+BAA+B,CACpD,IAAI,CAAC,QAAQ,EACb,OAAO,CAAC,2BAA2B,CACtC,CAAC;gBACF,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC7D,IAAI,OAAO;oBAAE,YAAY,GAAG,IAAI,CAAC;gBAEjC,MAAM;aACT;YAED,KAAK,kBAAS,CAAC,UAAU,CAAC,CAAC;gBACvB,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,+BAA+B,CACpD,IAAI,CAAC,QAAQ,EACb,OAAO,CAAC,2BAA2B,CACtC,CAAC;gBACF,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC7D,IAAI,OAAO;oBAAE,YAAY,GAAG,IAAI,CAAC;gBAEjC,MAAM;aACT;YAED,KAAK,kBAAS,CAAC,SAAS;gBACpB,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE;oBACrC,KAAK,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;wBAClD,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBAClB,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;qBACpD;iBACJ;gBAED,MAAM;YAEV,KAAK,kBAAS,CAAC,iBAAiB;gBAC5B,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE;oBAClD,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACpB;gBAED,MAAM;YAEV,KAAK,kBAAS,CAAC,SAAS;gBACpB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;YAEvD,KAAK,kBAAS,CAAC,MAAM;gBACjB,IAAI,KAAK,CAAC,UAAU,EAAE;oBAClB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;iBACnC;gBAED,MAAM;YAEV,KAAK,kBAAS,CAAC,SAAS;gBACpB,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE;oBACrC,KAAK,IAAI,EAAE,GAAG,CAAC,CAAC,eAAe,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,eAAe,EAAE;wBAC1D,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBAClB,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;qBAC3D;iBACJ;gBAED,MAAM;YAEV,KAAK,kBAAS,CAAC,iBAAiB;gBAC5B,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,eAAe,EAAE;oBAC1D,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACpB;gBAED,MAAM;YAEV,KAAK,kBAAS,CAAC,IAAI;gBACf,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,MAAM;YAEV,KAAK,kBAAS,CAAC,iBAAiB;gBAC5B,KAAmB,UAAgB,EAAhB,KAAA,OAAO,CAAC,QAAQ,EAAhB,cAAgB,EAAhB,IAAgB,EAAE;oBAAhC,IAAM,IAAI,SAAA;oBACX,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACvB;gBAED,MAAM;YAEV;gBACI,MAAM,IAAI,KAAK,CAAC,iCAA0B,IAAI,CAAC,IAAI,CAAE,CAAC,CAAC;SAC9D;QAED,IAAI,CAAC,YAAY,EAAE;YACf,oBAAoB;YACpB,IAAI,SAAS,GAAG,QAAQ,CAAC;YACzB,QAAQ,GAAG,EAAE,CAAC;YACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;gBACvC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE;oBAC/E,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC/B;aACJ;SACJ;QAED,qBAAqB;QACrB,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;YAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;gBAC5C,IAAI,SAAS,GAAG,QAAQ,CAAC;gBACzB,QAAQ,GAAG,EAAE,CAAC;gBACd,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;oBAC1C,IAAI,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;oBACtB,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE;wBACpF,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;qBACpB;iBACJ;aACJ;SACJ;QAED,OAAO,IAAI,6BAAY,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IACL,eAAC;AAAD,CAAC,AA7QD,CAA8B,uBAAU,GA6QvC;AA7QY,4BAAQ"}
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;QAAvE,YACI,iBAAO,SAaV;QAZG,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,KAAI,CAAC,SAAS,GAAG,aAAa,IAAI,EAAE,CAAC;QACrC,KAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YAC5C,IAAI,KAAI,CAAC,kCAAkC,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;gBACjE,KAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACnC,MAAM;aACT;SACJ;;IACL,CAAC;IAED;;;;;;;OAOG;IACK,qDAAkC,GAA1C,UAA2C,IAAgB,EAAE,eAAqB;QAC9E,IAAI,CAAC,IAAI,EAAE;YACP,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE;YACvD,iDAAiD;YACjD,OAAO,IAAI,CAAC;SACf;QACD,IAAI,IAAI,YAAY,qCAAgB,EAAE;YAClC,IAAM,KAAK,GAAI,IAAY,CAAC,IAAI,CAAC,KAAK,CAAC;YACvC,OAAO,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,UAAU,CAAC;SACjD;QACD,IAAI,IAAI,YAAY,wBAAU,EAAE;YAC5B,OAAO,CACH,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;gBACzD,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAC5D,CAAC;SACL;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,yCAAsB,GAA9B,UAA+B,IAAI;QAC/B,IAAI,IAAI,YAAY,qCAAgB,EAAE;YAClC,IAAI,QAAQ,GAAG;gBACX,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,IAAI;gBACX,eAAe,EAAE,IAAI;gBACrB,MAAM,EAAE,IAAI;gBACZ,GAAG,EAAE,IAAI;gBACT,KAAK,EAAE,IAAI;gBACX,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,IAAI;aACd,CAAC;YACF,OAAO,QAAQ,CAAE,IAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC7C;QAED,IAAI,IAAI,YAAY,iCAAc,EAAE;YAChC,OAAO,IAAI,CAAC;SACf;QAED,IAAI,IAAI,YAAY,wBAAU,EAAE;YAC5B,IAAI,QAAQ,GAAG;gBACX,GAAG,EAAE,IAAI;gBACT,GAAG,EAAE,IAAI;gBACT,GAAG,EAAE,IAAI;gBACT,GAAG,EAAE,IAAI;gBACT,GAAG,EAAE,IAAI;aACZ,CAAC;YACF,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;SAClC;QAED,IAAI,IAAI,YAAY,wBAAU,EAAE;YAC5B,OAAO,IAAI,CAAC;SACf;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,kCAAe,GAAf,UAAgB,mBAAkC;QAC9C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAC9B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,kCAAkC,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;SACzG;IACL,CAAC;IAED,2BAAQ,GAAR,UAAS,OAAoB;QACzB,IAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,YAAY,GAAG,KAAK,CAAC;QAEzB,IAAI,IAAI,CAAC,QAAQ,YAAY,2BAAW,EAAE;YACtC,YAAY,GAAG,IAAI,CAAC;SACvB;QAED,QAAQ,IAAI,CAAC,IAAI,EAAE;YACf,KAAK,kBAAS,CAAC,gBAAgB;gBAC3B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE;oBAC/C,IAAI,CAAC,CAAC,QAAQ,KAAK,8BAAkB,EAAE;wBACnC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;qBACpB;iBACJ;gBACD,MAAM;YAEV,KAAK,kBAAS,CAAC,QAAQ;gBACnB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE;oBAC/C,IAAI,CAAC,CAAC,QAAQ,KAAK,8BAAkB,EAAE;wBACnC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;qBACpB;iBACJ;gBACD,MAAM;YAEV,KAAK,kBAAS,CAAC,SAAS;gBACpB,IAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,QAAQ,KAAK,8BAAkB,EAAjC,CAAiC,CAAC,CAAC;gBAClF,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE;oBAClC,wBAAwB;oBACxB,IAAI,UAAU,EAAE;wBACZ,IAAI,UAAU,YAAY,KAAK,EAAE;4BAC7B,wDAAwD;4BACxD,IAAA,2BAAS,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;yBACnC;6BAAM;4BACH,uDAAuD;4BACvD,sFAAsF;4BACtF,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,OAAO,EAAE;gCAC/B,IAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;gCAC9C,IAAI,KAAK,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;oCACnC,4DAA4D;oCAC5D,+DAA+D;oCAC/D,eAAe;oCACf,QAAQ,CAAC,IAAI,CAAC,WAAK,CAAC,MAAM,CAAC,8BAAkB,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;iCACrF;qCAAM;oCACH,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;iCACjD;6BACJ;iCAAM;gCACH,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;6BACjD;yBACJ;qBACJ;iBACJ;qBAAM;oBACH,sBAAsB;oBACtB,IAAI,OAAO,CAAC,4BAA4B,EAAE;wBACtC,IAAA,yDAAuC,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;qBACjE;yBAAM;wBACH,IAAA,2BAAS,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;qBACnC;iBACJ;gBAED,MAAM;YAEV,KAAK,kBAAS,CAAC,KAAK;gBAChB,IAAA,2BAAS,EAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,QAAQ,KAAK,8BAAkB,EAAjC,CAAiC,CAAC,CAAC,CAAC;gBACpF,MAAM;YAEV,KAAK,kBAAS,CAAC,kBAAkB,CAAC,CAAC;gBAC/B,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;oBAChD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACvB;gBAED,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,+BAA+B,CACpD,IAAI,CAAC,QAAQ,EACb,OAAO,CAAC,2BAA2B,CACtC,CAAC;gBAEF,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC5D,IAAI,OAAO;oBAAE,YAAY,GAAG,IAAI,CAAC;gBAEjC,MAAM;aACT;YAED,KAAK,kBAAS,CAAC,UAAU,CAAC,CAAC;gBACvB,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,+BAA+B,CACpD,IAAI,CAAC,QAAQ,EACb,OAAO,CAAC,2BAA2B,CACtC,CAAC;gBACF,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC5D,IAAI,OAAO;oBAAE,YAAY,GAAG,IAAI,CAAC;gBAEjC,MAAM;aACT;YAED,KAAK,kBAAS,CAAC,SAAS;gBACpB,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE;oBACpC,KAAK,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;wBAClD,IAAI,EAAE,CAAC,QAAQ,KAAK,8BAAkB,EAAE;4BACpC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;yBACrB;wBAED,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;qBACpD;iBACJ;gBAED,MAAM;YAEV,KAAK,kBAAS,CAAC,iBAAiB;gBAC5B,IAAI,IAAI,CAAC,QAAQ,KAAK,8BAAkB,EAAE;oBACtC,MAAM;iBACT;gBAED,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE;oBACjD,IAAI,CAAC,CAAC,QAAQ,KAAK,8BAAkB,EAAE;wBACnC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;qBACpB;iBACJ;gBAED,MAAM;YAEV,KAAK,kBAAS,CAAC,SAAS;gBACpB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;YAEvD,KAAK,kBAAS,CAAC,MAAM;gBACjB,IAAI,IAAI,CAAC,UAAU,EAAE;oBACjB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBAClC;gBAED,MAAM;YAEV,KAAK,kBAAS,CAAC,SAAS;gBACpB,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE;oBACpC,KAAK,IAAI,EAAE,GAAG,CAAC,CAAC,eAAe,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,eAAe,EAAE;wBAC1D,IAAI,EAAE,CAAC,QAAQ,KAAK,8BAAkB,EAAE;4BACpC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;yBACrB;wBAED,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;qBAC3D;iBACJ;gBAED,MAAM;YAEV,KAAK,kBAAS,CAAC,iBAAiB;gBAC5B,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,eAAe,EAAE;oBACzD,IAAI,CAAC,CAAC,QAAQ,KAAK,8BAAkB,EAAE;wBACnC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;qBACpB;iBACJ;gBAED,MAAM;YAEV,KAAK,kBAAS,CAAC,IAAI;gBACf,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpB,MAAM;YAEV,KAAK,kBAAS,CAAC,iBAAiB;gBAC5B,KAAmB,UAAgB,EAAhB,KAAA,OAAO,CAAC,QAAQ,EAAhB,cAAgB,EAAhB,IAAgB,EAAE;oBAAhC,IAAM,MAAI,SAAA;oBACX,IAAI,MAAI,CAAC,QAAQ,KAAK,8BAAkB,EAAE;wBACtC,QAAQ,CAAC,IAAI,CAAC,MAAI,CAAC,CAAC;qBACvB;iBACJ;gBAED,MAAM;YAEV;gBACI,MAAM,IAAI,KAAK,CAAC,iCAA0B,IAAI,CAAC,IAAI,CAAE,CAAC,CAAC;SAC9D;QAED,IAAI,CAAC,YAAY,EAAE;YACf,oBAAoB;YACpB,IAAI,SAAS,GAAG,QAAQ,CAAC;YACzB,QAAQ,GAAG,EAAE,CAAC;YACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;gBACvC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE;oBAC/E,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC/B;aACJ;SACJ;QAED,qBAAqB;QACrB,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;YAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;gBAC5C,IAAI,SAAS,GAAG,QAAQ,CAAC;gBACzB,QAAQ,GAAG,EAAE,CAAC;gBACd,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;oBAC1C,IAAI,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;oBACtB,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE;wBACpF,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;qBACpB;iBACJ;aACJ;SACJ;QAED,OAAO,IAAI,6BAAY,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IACL,eAAC;AAAD,CAAC,AAtSD,CAA8B,uBAAU,GAsSvC;AAtSY,4BAAQ"}
@@ -3,5 +3,5 @@ import { Expression } from "./expression";
3
3
  export declare class VariableExpr extends Expression {
4
4
  name: string;
5
5
  constructor(name: string);
6
- evaluate(ctx: ExprContext): any;
6
+ evaluate(context: ExprContext): import("../values").NodeValue;
7
7
  }
@@ -24,8 +24,8 @@ var VariableExpr = /** @class */ (function (_super) {
24
24
  _this.name = name;
25
25
  return _this;
26
26
  }
27
- VariableExpr.prototype.evaluate = function (ctx) {
28
- return ctx.getVariable(this.name);
27
+ VariableExpr.prototype.evaluate = function (context) {
28
+ return context.getVariable(this.name);
29
29
  };
30
30
  return VariableExpr;
31
31
  }(expression_1.Expression));
@@ -1 +1 @@
1
- {"version":3,"file":"variable-expr.js","sourceRoot":"","sources":["../../../src/xpath/expressions/variable-expr.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,2CAA0C;AAE1C;IAAkC,gCAAU;IAGxC,sBAAY,IAAY;QAAxB,YACI,iBAAO,SAEV;QADG,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;;IACrB,CAAC;IAED,+BAAQ,GAAR,UAAS,GAAgB;QACrB,OAAO,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IACL,mBAAC;AAAD,CAAC,AAXD,CAAkC,uBAAU,GAW3C;AAXY,oCAAY"}
1
+ {"version":3,"file":"variable-expr.js","sourceRoot":"","sources":["../../../src/xpath/expressions/variable-expr.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,2CAA0C;AAE1C;IAAkC,gCAAU;IAGxC,sBAAY,IAAY;QAAxB,YACI,iBAAO,SAEV;QADG,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;;IACrB,CAAC;IAED,+BAAQ,GAAR,UAAS,OAAoB;QACzB,OAAO,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IACL,mBAAC;AAAD,CAAC,AAXD,CAAkC,uBAAU,GAW3C;AAXY,oCAAY"}
@@ -1,3 +1,4 @@
1
+ import { XNode } from "../../dom";
1
2
  import { NodeValue } from "./node-value";
2
3
  export declare class BooleanValue implements NodeValue {
3
4
  value: any;
@@ -6,5 +7,5 @@ export declare class BooleanValue implements NodeValue {
6
7
  stringValue(): string;
7
8
  booleanValue(): any;
8
9
  numberValue(): 1 | 0;
9
- nodeSetValue(): void;
10
+ nodeSetValue(): XNode[];
10
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"boolean-value.js","sourceRoot":"","sources":["../../../src/xpath/values/boolean-value.ts"],"names":[],"mappings":";;;AAEA;IAII,sBAAY,KAAU;QAClB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;IAC1B,CAAC;IAED,kCAAW,GAAX;QACI,OAAO,UAAG,IAAI,CAAC,KAAK,CAAE,CAAC;IAC3B,CAAC;IAED,mCAAY,GAAZ;QACI,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,kCAAW,GAAX;QACI,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,mCAAY,GAAZ;QACI,MAAM,IAAI,CAAC;IACf,CAAC;IACL,mBAAC;AAAD,CAAC,AAxBD,IAwBC;AAxBY,oCAAY"}
1
+ {"version":3,"file":"boolean-value.js","sourceRoot":"","sources":["../../../src/xpath/values/boolean-value.ts"],"names":[],"mappings":";;;AAGA;IAII,sBAAY,KAAU;QAClB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;IAC1B,CAAC;IAED,kCAAW,GAAX;QACI,OAAO,UAAG,IAAI,CAAC,KAAK,CAAE,CAAC;IAC3B,CAAC;IAED,mCAAY,GAAZ;QACI,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,kCAAW,GAAX;QACI,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,mCAAY,GAAZ;QACI,MAAM,IAAI,CAAC;IACf,CAAC;IACL,mBAAC;AAAD,CAAC,AAxBD,IAwBC;AAxBY,oCAAY"}
@@ -3,5 +3,5 @@ export interface NodeValue {
3
3
  stringValue(): string;
4
4
  booleanValue(): boolean;
5
5
  numberValue(): number;
6
- nodeSetValue(): XNode[] | void;
6
+ nodeSetValue(): XNode[];
7
7
  }
@@ -1,3 +1,4 @@
1
+ import { XNode } from "../../dom";
1
2
  import { NodeValue } from "./node-value";
2
3
  export declare class NumberValue implements NodeValue {
3
4
  value: any;
@@ -6,5 +7,5 @@ export declare class NumberValue implements NodeValue {
6
7
  stringValue(): string;
7
8
  booleanValue(): boolean;
8
9
  numberValue(): number;
9
- nodeSetValue(): void;
10
+ nodeSetValue(): XNode[];
10
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"number-value.js","sourceRoot":"","sources":["../../../src/xpath/values/number-value.ts"],"names":[],"mappings":";;;AAEA;IAII,qBAAY,KAAU;QAClB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;IACzB,CAAC;IAED,iCAAW,GAAX;QACI,OAAO,UAAG,IAAI,CAAC,KAAK,CAAE,CAAC;IAC3B,CAAC;IAED,kCAAY,GAAZ;QACI,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IACxB,CAAC;IAED,iCAAW,GAAX;QACI,OAAO,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,kCAAY,GAAZ;QACI,MAAM,IAAI,CAAC;IACf,CAAC;IACL,kBAAC;AAAD,CAAC,AAxBD,IAwBC;AAxBY,kCAAW"}
1
+ {"version":3,"file":"number-value.js","sourceRoot":"","sources":["../../../src/xpath/values/number-value.ts"],"names":[],"mappings":";;;AAGA;IAII,qBAAY,KAAU;QAClB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;IACzB,CAAC;IAED,iCAAW,GAAX;QACI,OAAO,UAAG,IAAI,CAAC,KAAK,CAAE,CAAC;IAC3B,CAAC;IAED,kCAAY,GAAZ;QACI,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IACxB,CAAC;IAED,iCAAW,GAAX;QACI,OAAO,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,kCAAY,GAAZ;QACI,MAAM,IAAI,CAAC;IACf,CAAC;IACL,kBAAC;AAAD,CAAC,AAxBD,IAwBC;AAxBY,kCAAW"}
@@ -1,3 +1,4 @@
1
+ import { XNode } from "../../dom";
1
2
  import { NodeValue } from "./node-value";
2
3
  export declare class StringValue implements NodeValue {
3
4
  value: any;
@@ -6,5 +7,5 @@ export declare class StringValue implements NodeValue {
6
7
  stringValue(): string;
7
8
  booleanValue(): boolean;
8
9
  numberValue(): number;
9
- nodeSetValue(): void;
10
+ nodeSetValue(): XNode[];
10
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"string-value.js","sourceRoot":"","sources":["../../../src/xpath/values/string-value.ts"],"names":[],"mappings":";;;AAEA;IAII,qBAAY,KAAU;QAClB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;IACzB,CAAC;IAED,iCAAW,GAAX;QACI,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,kCAAY,GAAZ;QACI,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,iCAAW,GAAX;QACI,OAAO,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,kCAAY,GAAZ;QACI,MAAM,IAAI,CAAC;IACf,CAAC;IACL,kBAAC;AAAD,CAAC,AAxBD,IAwBC;AAxBY,kCAAW"}
1
+ {"version":3,"file":"string-value.js","sourceRoot":"","sources":["../../../src/xpath/values/string-value.ts"],"names":[],"mappings":";;;AAGA;IAII,qBAAY,KAAU;QAClB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;IACzB,CAAC;IAED,iCAAW,GAAX;QACI,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,kCAAY,GAAZ;QACI,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,iCAAW,GAAX;QACI,OAAO,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,kCAAY,GAAZ;QACI,MAAM,IAAI,CAAC;IACf,CAAC;IACL,kBAAC;AAAD,CAAC,AAxBD,IAwBC;AAxBY,kCAAW"}
package/xpath/xpath.d.ts CHANGED
@@ -3,7 +3,8 @@ import { BinaryExpr, FunctionCallExpr, LiteralExpr, LocationExpr, NumberExpr, Pa
3
3
  import { Expression } from './expressions/expression';
4
4
  import { XPathTokenRule } from './xpath-token-rule';
5
5
  import { XNode } from '../dom';
6
- import { NodeTestAny, NodeTestElementOrAttribute, NodeTestNC, NodeTestName, NodeTestText, NodeTestComment, NodeTestPI } from './node-tests';
6
+ import { NodeTestAny, NodeTestElementOrAttribute, NodeTestNC, NodeTestName, NodeTestText, NodeTestComment, NodeTestPI, NodeTest } from './node-tests';
7
+ import { NodeValue } from './values';
7
8
  export declare class XPath {
8
9
  xPathParseCache: any;
9
10
  xPathRules: any[];
@@ -87,9 +88,16 @@ export declare class XPath {
87
88
  makeSimpleExpr2(expr: any): LocationExpr;
88
89
  stackToString(stack: any[]): string;
89
90
  xPathCacheLookup(expr: any): any;
90
- xPathCollectDescendants(nodeList: any, node: any, opt_tagName?: any): void;
91
+ xPathCollectDescendants(nodeList: XNode[], node: XNode, opt_tagName?: string): void;
91
92
  xPathCollectDescendantsReverse(nodeList: any, node: any): void;
92
- xPathEval(select: string, context: ExprContext): any;
93
+ /**
94
+ * Parses and then evaluates the given XPath expression in the given
95
+ * input context.
96
+ * @param select The xPath string.
97
+ * @param context The Expression Context.
98
+ * @returns A Node Value.
99
+ */
100
+ xPathEval(select: string, context: ExprContext): NodeValue;
93
101
  /**
94
102
  * DGF - extract a tag name suitable for getElementsByTagName
95
103
  *
@@ -99,7 +107,7 @@ export declare class XPath {
99
107
  * non-element nodes. This can boost
100
108
  * performance. This is false by default.
101
109
  */
102
- xPathExtractTagNameFromNodeTest(nodeTest: any, ignoreNonElementNodesForNTA: any): string;
110
+ xPathExtractTagNameFromNodeTest(nodeTest: NodeTest, ignoreNonElementNodesForNTA: any): string;
103
111
  xPathMatchStack(stack: any, pattern: any): any;
104
112
  /**
105
113
  * Finds the best rule for the XPath expression provided.
package/xpath/xpath.js CHANGED
@@ -43,6 +43,7 @@ var expressions_1 = require("./expressions");
43
43
  var tokens_1 = require("./tokens");
44
44
  var xpath_grammar_rules_1 = require("./xpath-grammar-rules");
45
45
  var node_tests_1 = require("./node-tests");
46
+ var constants_1 = require("../constants");
46
47
  var XPath = /** @class */ (function () {
47
48
  function XPath() {
48
49
  // The productions of the grammar. Columns of the table:
@@ -353,7 +354,9 @@ var XPath = /** @class */ (function () {
353
354
  return;
354
355
  }
355
356
  for (var n = node.firstChild; n; n = n.nextSibling) {
356
- nodeList.push(n);
357
+ if (n.nodeType !== constants_1.DOM_ATTRIBUTE_NODE) {
358
+ nodeList.push(n);
359
+ }
357
360
  this.xPathCollectDescendants(nodeList, n);
358
361
  }
359
362
  };
@@ -363,12 +366,17 @@ var XPath = /** @class */ (function () {
363
366
  this.xPathCollectDescendantsReverse(nodeList, n);
364
367
  }
365
368
  };
366
- // Parses and then evaluates the given XPath expression in the given
367
- // input context. Notice that parsed xpath expressions are cached.
369
+ /**
370
+ * Parses and then evaluates the given XPath expression in the given
371
+ * input context.
372
+ * @param select The xPath string.
373
+ * @param context The Expression Context.
374
+ * @returns A Node Value.
375
+ */
368
376
  XPath.prototype.xPathEval = function (select, context) {
369
- var expr = this.xPathParse(select);
370
- var ret = expr.evaluate(context);
371
- return ret;
377
+ var expression = this.xPathParse(select);
378
+ var response = expression.evaluate(context);
379
+ return response;
372
380
  };
373
381
  /**
374
382
  * DGF - extract a tag name suitable for getElementsByTagName