xslt-processor 1.2.2 → 1.2.4

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 (143) hide show
  1. package/dom/functions.d.ts +3 -3
  2. package/dom/functions.js.map +1 -1
  3. package/dom/util.d.ts +4 -0
  4. package/dom/util.js +4 -1
  5. package/dom/util.js.map +1 -1
  6. package/package.json +1 -1
  7. package/umd/dom/functions.d.ts +3 -3
  8. package/umd/dom/util.d.ts +4 -0
  9. package/umd/xpath/expressions/binary-expr.d.ts +1 -1
  10. package/umd/xpath/expressions/function-call-expr.d.ts +1 -1
  11. package/umd/xpath/expressions/location-expr.d.ts +1 -1
  12. package/umd/xpath/expressions/step-expr.d.ts +1 -1
  13. package/umd/xpath/functions/non-standard.d.ts +1 -1
  14. package/umd/xpath/functions/standard.d.ts +7 -1
  15. package/umd/xpath/grammar-rule-candidate.d.ts +8 -0
  16. package/umd/xpath/index.d.ts +2 -8
  17. package/umd/xpath/node-tests/index.d.ts +8 -0
  18. package/umd/xpath/node-tests/node-test-any.d.ts +6 -0
  19. package/umd/xpath/node-tests/node-test-comment.d.ts +6 -0
  20. package/umd/xpath/node-tests/node-test-element-or-attribute.d.ts +6 -0
  21. package/umd/xpath/node-tests/node-test-name.d.ts +10 -0
  22. package/umd/xpath/node-tests/node-test-nc.d.ts +9 -0
  23. package/umd/xpath/node-tests/node-test-pi.d.ts +8 -0
  24. package/umd/xpath/node-tests/node-test-text.d.ts +6 -0
  25. package/umd/xpath/node-tests/node-test.d.ts +5 -0
  26. package/umd/xpath/tokens.d.ts +36 -206
  27. package/umd/xpath/values/boolean-value.d.ts +2 -1
  28. package/umd/xpath/values/index.d.ts +1 -0
  29. package/umd/xpath/values/node-set-value.d.ts +2 -1
  30. package/umd/xpath/values/node-value.d.ts +7 -0
  31. package/umd/xpath/values/number-value.d.ts +2 -1
  32. package/umd/xpath/values/string-value.d.ts +2 -1
  33. package/umd/xpath/xpath-token-rule.d.ts +7 -0
  34. package/umd/xpath/xpath.d.ts +59 -17
  35. package/umd/{xpath → xslt}/expr-context.d.ts +10 -1
  36. package/umd/xslt/xslt-decimal-format-settings.d.ts +28 -0
  37. package/umd/xslt/xslt.d.ts +39 -30
  38. package/umd/xslt-processor.js +2 -2
  39. package/umd/xslt-processor.js.map +1 -1
  40. package/xpath/expressions/binary-expr.d.ts +1 -1
  41. package/xpath/expressions/function-call-expr.d.ts +1 -1
  42. package/xpath/expressions/function-call-expr.js +1 -0
  43. package/xpath/expressions/function-call-expr.js.map +1 -1
  44. package/xpath/expressions/location-expr.d.ts +1 -1
  45. package/xpath/expressions/location-expr.js +1 -1
  46. package/xpath/expressions/location-expr.js.map +1 -1
  47. package/xpath/expressions/step-expr.d.ts +1 -1
  48. package/xpath/expressions/step-expr.js +1 -1
  49. package/xpath/expressions/step-expr.js.map +1 -1
  50. package/xpath/functions/non-standard.d.ts +1 -1
  51. package/xpath/functions/standard.d.ts +7 -1
  52. package/xpath/functions/standard.js +93 -2
  53. package/xpath/functions/standard.js.map +1 -1
  54. package/xpath/grammar-rule-candidate.d.ts +8 -0
  55. package/xpath/grammar-rule-candidate.js +3 -0
  56. package/xpath/grammar-rule-candidate.js.map +1 -0
  57. package/xpath/index.d.ts +2 -8
  58. package/xpath/index.js +2 -8
  59. package/xpath/index.js.map +1 -1
  60. package/xpath/node-tests/index.d.ts +8 -0
  61. package/xpath/node-tests/index.js +18 -0
  62. package/xpath/node-tests/index.js.map +1 -0
  63. package/xpath/node-tests/node-test-any.d.ts +6 -0
  64. package/xpath/{node-test-any.js → node-tests/node-test-any.js} +1 -1
  65. package/xpath/node-tests/node-test-any.js.map +1 -0
  66. package/xpath/node-tests/node-test-comment.d.ts +6 -0
  67. package/xpath/{node-test-comment.js → node-tests/node-test-comment.js} +2 -2
  68. package/xpath/node-tests/node-test-comment.js.map +1 -0
  69. package/xpath/node-tests/node-test-element-or-attribute.d.ts +6 -0
  70. package/xpath/{node-test-element-or-attribute.js → node-tests/node-test-element-or-attribute.js} +2 -2
  71. package/xpath/node-tests/node-test-element-or-attribute.js.map +1 -0
  72. package/xpath/node-tests/node-test-name.d.ts +10 -0
  73. package/xpath/node-tests/node-test-name.js +39 -0
  74. package/xpath/node-tests/node-test-name.js.map +1 -0
  75. package/xpath/node-tests/node-test-nc.d.ts +9 -0
  76. package/xpath/{node-test-nc.js → node-tests/node-test-nc.js} +1 -1
  77. package/xpath/node-tests/node-test-nc.js.map +1 -0
  78. package/xpath/node-tests/node-test-pi.d.ts +8 -0
  79. package/xpath/{node-test-pi.js → node-tests/node-test-pi.js} +2 -2
  80. package/xpath/node-tests/node-test-pi.js.map +1 -0
  81. package/xpath/node-tests/node-test-text.d.ts +6 -0
  82. package/xpath/{node-test-text.js → node-tests/node-test-text.js} +2 -2
  83. package/xpath/node-tests/node-test-text.js.map +1 -0
  84. package/xpath/node-tests/node-test.d.ts +5 -0
  85. package/xpath/node-tests/node-test.js +3 -0
  86. package/xpath/node-tests/node-test.js.map +1 -0
  87. package/xpath/tokens.d.ts +36 -206
  88. package/xpath/tokens.js +2 -2
  89. package/xpath/tokens.js.map +1 -1
  90. package/xpath/values/boolean-value.d.ts +2 -1
  91. package/xpath/values/boolean-value.js.map +1 -1
  92. package/xpath/values/index.d.ts +1 -0
  93. package/xpath/values/index.js +25 -31
  94. package/xpath/values/index.js.map +1 -1
  95. package/xpath/values/node-set-value.d.ts +2 -1
  96. package/xpath/values/node-set-value.js.map +1 -1
  97. package/xpath/values/node-value.d.ts +7 -0
  98. package/xpath/values/node-value.js +3 -0
  99. package/xpath/values/node-value.js.map +1 -0
  100. package/xpath/values/number-value.d.ts +2 -1
  101. package/xpath/values/number-value.js.map +1 -1
  102. package/xpath/values/string-value.d.ts +2 -1
  103. package/xpath/values/string-value.js.map +1 -1
  104. package/xpath/xpath-token-rule.d.ts +7 -0
  105. package/xpath/xpath-token-rule.js +3 -0
  106. package/xpath/xpath-token-rule.js.map +1 -0
  107. package/xpath/xpath.d.ts +59 -17
  108. package/xpath/xpath.js +220 -214
  109. package/xpath/xpath.js.map +1 -1
  110. package/xpathdebug.js +15 -14
  111. package/xpathdebug.js.map +1 -1
  112. package/{xpath → xslt}/expr-context.d.ts +10 -1
  113. package/{xpath → xslt}/expr-context.js +22 -9
  114. package/xslt/expr-context.js.map +1 -0
  115. package/xslt/xslt-decimal-format-settings.d.ts +28 -0
  116. package/xslt/xslt-decimal-format-settings.js +3 -0
  117. package/xslt/xslt-decimal-format-settings.js.map +1 -0
  118. package/xslt/xslt.d.ts +39 -30
  119. package/xslt/xslt.js +174 -113
  120. package/xslt/xslt.js.map +1 -1
  121. package/umd/xpath/node-test-any.d.ts +0 -5
  122. package/umd/xpath/node-test-comment.d.ts +0 -5
  123. package/umd/xpath/node-test-element-or-attribute.d.ts +0 -5
  124. package/umd/xpath/node-test-name.d.ts +0 -8
  125. package/umd/xpath/node-test-nc.d.ts +0 -8
  126. package/umd/xpath/node-test-pi.d.ts +0 -7
  127. package/umd/xpath/node-test-text.d.ts +0 -5
  128. package/xpath/expr-context.js.map +0 -1
  129. package/xpath/node-test-any.d.ts +0 -5
  130. package/xpath/node-test-any.js.map +0 -1
  131. package/xpath/node-test-comment.d.ts +0 -5
  132. package/xpath/node-test-comment.js.map +0 -1
  133. package/xpath/node-test-element-or-attribute.d.ts +0 -5
  134. package/xpath/node-test-element-or-attribute.js.map +0 -1
  135. package/xpath/node-test-name.d.ts +0 -8
  136. package/xpath/node-test-name.js +0 -22
  137. package/xpath/node-test-name.js.map +0 -1
  138. package/xpath/node-test-nc.d.ts +0 -8
  139. package/xpath/node-test-nc.js.map +0 -1
  140. package/xpath/node-test-pi.d.ts +0 -7
  141. package/xpath/node-test-pi.js.map +0 -1
  142. package/xpath/node-test-text.d.ts +0 -5
  143. package/xpath/node-test-text.js.map +0 -1
@@ -0,0 +1,6 @@
1
+ import { ExprContext } from "../../xslt/expr-context";
2
+ import { BooleanValue } from "../values/boolean-value";
3
+ import { NodeTest } from "./node-test";
4
+ export declare class NodeTestText implements NodeTest {
5
+ evaluate(ctx: ExprContext): BooleanValue;
6
+ }
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NodeTestText = void 0;
4
- var constants_1 = require("../constants");
5
- var boolean_value_1 = require("./values/boolean-value");
4
+ var constants_1 = require("../../constants");
5
+ var boolean_value_1 = require("../values/boolean-value");
6
6
  var NodeTestText = /** @class */ (function () {
7
7
  function NodeTestText() {
8
8
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-test-text.js","sourceRoot":"","sources":["../../../src/xpath/node-tests/node-test-text.ts"],"names":[],"mappings":";;;AAAA,6CAAgD;AAEhD,yDAAuD;AAGvD;IAAA;IAIA,CAAC;IAHG,+BAAQ,GAAR,UAAS,GAAgB;QACrB,OAAO,IAAI,4BAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,QAAQ,IAAI,yBAAa,CAAC,CAAC;IAClF,CAAC;IACL,mBAAC;AAAD,CAAC,AAJD,IAIC;AAJY,oCAAY"}
@@ -0,0 +1,5 @@
1
+ import { ExprContext } from "../../xslt/expr-context";
2
+ import { NodeValue } from "../values";
3
+ export interface NodeTest {
4
+ evaluate(_ctx: ExprContext): NodeValue;
5
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=node-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-test.js","sourceRoot":"","sources":["../../../src/xpath/node-tests/node-test.ts"],"names":[],"mappings":""}
package/xpath/tokens.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { XPathTokenRule } from "./xpath-token-rule";
1
2
  export declare const xPathAxis: {
2
3
  ANCESTOR_OR_SELF: string;
3
4
  ANCESTOR: string;
@@ -14,212 +15,41 @@ export declare const xPathAxis: {
14
15
  SELF: string;
15
16
  SELF_AND_SIBLINGS: string;
16
17
  };
17
- export declare const TOK_PIPE: {
18
- label: string;
19
- prec: number;
20
- re: RegExp;
21
- key: any;
22
- };
23
- export declare const TOK_DSLASH: {
24
- label: string;
25
- prec: number;
26
- re: RegExp;
27
- key: any;
28
- };
29
- export declare const TOK_SLASH: {
30
- label: string;
31
- prec: number;
32
- re: RegExp;
33
- key: any;
34
- };
35
- export declare const TOK_AXIS: {
36
- label: string;
37
- prec: number;
38
- re: RegExp;
39
- key: any;
40
- };
41
- export declare const TOK_COLON: {
42
- label: string;
43
- prec: number;
44
- re: RegExp;
45
- key: any;
46
- };
47
- export declare const TOK_AXISNAME: {
48
- label: string;
49
- re: RegExp;
50
- key: any;
51
- };
52
- export declare const TOK_PARENO: {
53
- label: string;
54
- prec: number;
55
- re: RegExp;
56
- key: any;
57
- };
58
- export declare const TOK_PARENC: {
59
- label: string;
60
- re: RegExp;
61
- key: any;
62
- };
63
- export declare const TOK_DDOT: {
64
- label: string;
65
- prec: number;
66
- re: RegExp;
67
- key: any;
68
- };
69
- export declare const TOK_DOT: {
70
- label: string;
71
- prec: number;
72
- re: RegExp;
73
- key: any;
74
- };
75
- export declare const TOK_AT: {
76
- label: string;
77
- prec: number;
78
- re: RegExp;
79
- key: any;
80
- };
81
- export declare const TOK_COMMA: {
82
- label: string;
83
- re: RegExp;
84
- key: any;
85
- };
86
- export declare const TOK_OR: {
87
- label: string;
88
- prec: number;
89
- re: RegExp;
90
- key: any;
91
- };
92
- export declare const TOK_AND: {
93
- label: string;
94
- prec: number;
95
- re: RegExp;
96
- key: any;
97
- };
98
- export declare const TOK_EQ: {
99
- label: string;
100
- prec: number;
101
- re: RegExp;
102
- key: any;
103
- };
104
- export declare const TOK_NEQ: {
105
- label: string;
106
- prec: number;
107
- re: RegExp;
108
- key: any;
109
- };
110
- export declare const TOK_GE: {
111
- label: string;
112
- prec: number;
113
- re: RegExp;
114
- key: any;
115
- };
116
- export declare const TOK_GT: {
117
- label: string;
118
- prec: number;
119
- re: RegExp;
120
- key: any;
121
- };
122
- export declare const TOK_LE: {
123
- label: string;
124
- prec: number;
125
- re: RegExp;
126
- key: any;
127
- };
128
- export declare const TOK_LT: {
129
- label: string;
130
- prec: number;
131
- re: RegExp;
132
- key: any;
133
- };
134
- export declare const TOK_PLUS: {
135
- label: string;
136
- prec: number;
137
- re: RegExp;
138
- left: boolean;
139
- key: any;
140
- };
141
- export declare const TOK_MINUS: {
142
- label: string;
143
- prec: number;
144
- re: RegExp;
145
- left: boolean;
146
- key: any;
147
- };
148
- export declare const TOK_DIV: {
149
- label: string;
150
- prec: number;
151
- re: RegExp;
152
- left: boolean;
153
- key: any;
154
- };
155
- export declare const TOK_MOD: {
156
- label: string;
157
- prec: number;
158
- re: RegExp;
159
- left: boolean;
160
- key: any;
161
- };
162
- export declare const TOK_BRACKO: {
163
- label: string;
164
- prec: number;
165
- re: RegExp;
166
- key: any;
167
- };
168
- export declare const TOK_BRACKC: {
169
- label: string;
170
- re: RegExp;
171
- key: any;
172
- };
173
- export declare const TOK_DOLLAR: {
174
- label: string;
175
- re: RegExp;
176
- key: any;
177
- };
178
- export declare const TOK_NCNAME: {
179
- label: string;
180
- re: RegExp;
181
- key: any;
182
- };
183
- export declare const TOK_ASTERISK: {
184
- label: string;
185
- prec: number;
186
- re: RegExp;
187
- left: boolean;
188
- key: any;
189
- };
190
- export declare const TOK_LITERALQ: {
191
- label: string;
192
- prec: number;
193
- re: RegExp;
194
- key: any;
195
- };
196
- export declare const TOK_LITERALQQ: {
197
- label: string;
198
- prec: number;
199
- re: RegExp;
200
- key: any;
201
- };
202
- export declare const TOK_NUMBER: {
203
- label: string;
204
- prec: number;
205
- re: RegExp;
206
- key: any;
207
- };
208
- export declare const TOK_QNAME: {
209
- label: string;
210
- re: RegExp;
211
- key: any;
212
- };
213
- export declare const TOK_NODEO: {
214
- label: string;
215
- re: RegExp;
216
- key: any;
217
- };
218
- export declare const xpathTokenRules: {
219
- label: string;
220
- re: RegExp;
221
- key: any;
222
- }[];
18
+ export declare const TOK_PIPE: XPathTokenRule;
19
+ export declare const TOK_DSLASH: XPathTokenRule;
20
+ export declare const TOK_SLASH: XPathTokenRule;
21
+ export declare const TOK_AXIS: XPathTokenRule;
22
+ export declare const TOK_COLON: XPathTokenRule;
23
+ export declare const TOK_AXISNAME: XPathTokenRule;
24
+ export declare const TOK_PARENO: XPathTokenRule;
25
+ export declare const TOK_PARENC: XPathTokenRule;
26
+ export declare const TOK_DDOT: XPathTokenRule;
27
+ export declare const TOK_DOT: XPathTokenRule;
28
+ export declare const TOK_AT: XPathTokenRule;
29
+ export declare const TOK_COMMA: XPathTokenRule;
30
+ export declare const TOK_OR: XPathTokenRule;
31
+ export declare const TOK_AND: XPathTokenRule;
32
+ export declare const TOK_EQ: XPathTokenRule;
33
+ export declare const TOK_NEQ: XPathTokenRule;
34
+ export declare const TOK_GE: XPathTokenRule;
35
+ export declare const TOK_GT: XPathTokenRule;
36
+ export declare const TOK_LE: XPathTokenRule;
37
+ export declare const TOK_LT: XPathTokenRule;
38
+ export declare const TOK_PLUS: XPathTokenRule;
39
+ export declare const TOK_MINUS: XPathTokenRule;
40
+ export declare const TOK_DIV: XPathTokenRule;
41
+ export declare const TOK_MOD: XPathTokenRule;
42
+ export declare const TOK_BRACKO: XPathTokenRule;
43
+ export declare const TOK_BRACKC: XPathTokenRule;
44
+ export declare const TOK_DOLLAR: XPathTokenRule;
45
+ export declare const TOK_NCNAME: XPathTokenRule;
46
+ export declare const TOK_ASTERISK: XPathTokenRule;
47
+ export declare const TOK_LITERALQ: XPathTokenRule;
48
+ export declare const TOK_LITERALQQ: XPathTokenRule;
49
+ export declare const TOK_NUMBER: XPathTokenRule;
50
+ export declare const TOK_QNAME: XPathTokenRule;
51
+ export declare const TOK_NODEO: XPathTokenRule;
52
+ export declare const xPathTokenRules: XPathTokenRule[];
223
53
  export declare const Q_01: {
224
54
  label: string;
225
55
  };
package/xpath/tokens.js CHANGED
@@ -5,7 +5,7 @@
5
5
  // token and 2 on the stack. TODO(mesch): this is certainly not
6
6
  // necessary and too complicated. Simplify this!
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.ASSOC_LEFT = exports.Q_1M = exports.Q_MM = exports.Q_01 = exports.xpathTokenRules = exports.TOK_NODEO = exports.TOK_QNAME = exports.TOK_NUMBER = exports.TOK_LITERALQQ = exports.TOK_LITERALQ = exports.TOK_ASTERISK = exports.TOK_NCNAME = exports.TOK_DOLLAR = exports.TOK_BRACKC = exports.TOK_BRACKO = exports.TOK_MOD = exports.TOK_DIV = exports.TOK_MINUS = exports.TOK_PLUS = exports.TOK_LT = exports.TOK_LE = exports.TOK_GT = exports.TOK_GE = exports.TOK_NEQ = exports.TOK_EQ = exports.TOK_AND = exports.TOK_OR = exports.TOK_COMMA = exports.TOK_AT = exports.TOK_DOT = exports.TOK_DDOT = exports.TOK_PARENC = exports.TOK_PARENO = exports.TOK_AXISNAME = exports.TOK_COLON = exports.TOK_AXIS = exports.TOK_SLASH = exports.TOK_DSLASH = exports.TOK_PIPE = exports.xPathAxis = void 0;
8
+ exports.ASSOC_LEFT = exports.Q_1M = exports.Q_MM = exports.Q_01 = exports.xPathTokenRules = exports.TOK_NODEO = exports.TOK_QNAME = exports.TOK_NUMBER = exports.TOK_LITERALQQ = exports.TOK_LITERALQ = exports.TOK_ASTERISK = exports.TOK_NCNAME = exports.TOK_DOLLAR = exports.TOK_BRACKC = exports.TOK_BRACKO = exports.TOK_MOD = exports.TOK_DIV = exports.TOK_MINUS = exports.TOK_PLUS = exports.TOK_LT = exports.TOK_LE = exports.TOK_GT = exports.TOK_GE = exports.TOK_NEQ = exports.TOK_EQ = exports.TOK_AND = exports.TOK_OR = exports.TOK_COMMA = exports.TOK_AT = exports.TOK_DOT = exports.TOK_DDOT = exports.TOK_PARENC = exports.TOK_PARENO = exports.TOK_AXISNAME = exports.TOK_COLON = exports.TOK_AXIS = exports.TOK_SLASH = exports.TOK_DSLASH = exports.TOK_PIPE = exports.xPathAxis = void 0;
9
9
  var xmltoken_1 = require("../dom/xmltoken");
10
10
  // NOTE: tabular formatting is the big exception, but here it should
11
11
  // be OK.
@@ -250,7 +250,7 @@ exports.TOK_NODEO = {
250
250
  //
251
251
  // NOTE: order of this list is important, because the first match
252
252
  // counts. Cf. DDOT and DOT, and AXIS and COLON.
253
- exports.xpathTokenRules = [
253
+ exports.xPathTokenRules = [
254
254
  exports.TOK_DSLASH,
255
255
  exports.TOK_SLASH,
256
256
  exports.TOK_DDOT,
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/xpath/tokens.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/xpath/tokens.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- export declare class BooleanValue {
1
+ import { NodeValue } from "./node-value";
2
+ export declare class BooleanValue implements NodeValue {
2
3
  value: any;
3
4
  type: string;
4
5
  constructor(value: any);
@@ -1 +1 @@
1
- {"version":3,"file":"boolean-value.js","sourceRoot":"","sources":["../../../src/xpath/values/boolean-value.ts"],"names":[],"mappings":";;;AAAA;IAKI,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,AAzBD,IAyBC;AAzBY,oCAAY"}
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,4 +1,5 @@
1
1
  export * from './boolean-value';
2
2
  export * from './node-set-value';
3
+ export * from './node-value';
3
4
  export * from './number-value';
4
5
  export * from './string-value';
@@ -1,19 +1,4 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
2
  // XPath expression values. They are what XPath expressions evaluate
18
3
  // to. Strangely, the different value types are not specified in the
19
4
  // XPath syntax, but only in the semantics, so they don't show up as
@@ -26,28 +11,37 @@ Object.defineProperty(exports, "__esModule", { value: true });
26
11
  //
27
12
  // The four types are:
28
13
  //
29
- // StringValue
30
- //
31
- // NumberValue
32
- //
33
- // BooleanValue
34
- //
35
- // NodeSetValue
14
+ // - `StringValue`
15
+ // - `NumberValue`
16
+ // - `BooleanValue`
17
+ // - `NodeSetValue`
36
18
  //
37
19
  // The common interface of the value classes consists of methods that
38
20
  // implement the XPath type coercion rules:
39
21
  //
40
- // stringValue() -- returns the value as a JavaScript String,
41
- //
42
- // numberValue() -- returns the value as a JavaScript Number,
43
- //
44
- // booleanValue() -- returns the value as a JavaScript Boolean,
45
- //
46
- // nodeSetValue() -- returns the value as a JavaScript Array of DOM
47
- // Node objects.
48
- //
22
+ // - `stringValue()` -- returns the value as a JavaScript String;
23
+ // - `numberValue()` -- returns the value as a JavaScript Number;
24
+ // - `booleanValue()` -- returns the value as a JavaScript Boolean;
25
+ // - `nodeSetValue()` -- returns the value as a JavaScript Array of DOM
26
+ // Node objects.
27
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
28
+ if (k2 === undefined) k2 = k;
29
+ var desc = Object.getOwnPropertyDescriptor(m, k);
30
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
31
+ desc = { enumerable: true, get: function() { return m[k]; } };
32
+ }
33
+ Object.defineProperty(o, k2, desc);
34
+ }) : (function(o, m, k, k2) {
35
+ if (k2 === undefined) k2 = k;
36
+ o[k2] = m[k];
37
+ }));
38
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
39
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
49
42
  __exportStar(require("./boolean-value"), exports);
50
43
  __exportStar(require("./node-set-value"), exports);
44
+ __exportStar(require("./node-value"), exports);
51
45
  __exportStar(require("./number-value"), exports);
52
46
  __exportStar(require("./string-value"), exports);
53
47
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/xpath/values/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oEAAoE;AACpE,oEAAoE;AACpE,oEAAoE;AACpE,qEAAqE;AACrE,kEAAkE;AAClE,gEAAgE;AAChE,sEAAsE;AACtE,oEAAoE;AACpE,wDAAwD;AACxD,EAAE;AACF,sBAAsB;AACtB,EAAE;AACF,gBAAgB;AAChB,EAAE;AACF,gBAAgB;AAChB,EAAE;AACF,iBAAiB;AACjB,EAAE;AACF,iBAAiB;AACjB,EAAE;AACF,qEAAqE;AACrE,2CAA2C;AAC3C,EAAE;AACF,+DAA+D;AAC/D,EAAE;AACF,+DAA+D;AAC/D,EAAE;AACF,iEAAiE;AACjE,EAAE;AACF,qEAAqE;AACrE,kBAAkB;AAClB,EAAE;AACF,kDAAgC;AAChC,mDAAiC;AACjC,iDAA+B;AAC/B,iDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/xpath/values/index.ts"],"names":[],"mappings":";AAAA,oEAAoE;AACpE,oEAAoE;AACpE,oEAAoE;AACpE,qEAAqE;AACrE,kEAAkE;AAClE,gEAAgE;AAChE,sEAAsE;AACtE,oEAAoE;AACpE,wDAAwD;AACxD,EAAE;AACF,sBAAsB;AACtB,EAAE;AACF,oBAAoB;AACpB,oBAAoB;AACpB,qBAAqB;AACrB,qBAAqB;AACrB,EAAE;AACF,qEAAqE;AACrE,2CAA2C;AAC3C,EAAE;AACF,mEAAmE;AACnE,mEAAmE;AACnE,qEAAqE;AACrE,yEAAyE;AACzE,sCAAsC;;;;;;;;;;;;;;;;AAEtC,kDAAgC;AAChC,mDAAiC;AACjC,+CAA6B;AAC7B,iDAA+B;AAC/B,iDAA+B"}
@@ -1,5 +1,6 @@
1
1
  import { XNode } from "../../dom";
2
- export declare class NodeSetValue {
2
+ import { NodeValue } from "./node-value";
3
+ export declare class NodeSetValue implements NodeValue {
3
4
  value: XNode[];
4
5
  type: string;
5
6
  constructor(value: any);
@@ -1 +1 @@
1
- {"version":3,"file":"node-set-value.js","sourceRoot":"","sources":["../../../src/xpath/values/node-set-value.ts"],"names":[],"mappings":";;;AAAA,iCAA4C;AAE5C;IAII,sBAAY,KAAU;QAClB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IAC3B,CAAC;IAED,kCAAW,GAAX;QACI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACzB,OAAO,EAAE,CAAC;SACb;QAED,OAAO,IAAA,cAAQ,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,mCAAY,GAAZ;QACI,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,kCAAW,GAAX;QACI,OAAO,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,mCAAY,GAAZ;QACI,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IACL,mBAAC;AAAD,CAAC,AA5BD,IA4BC;AA5BY,oCAAY"}
1
+ {"version":3,"file":"node-set-value.js","sourceRoot":"","sources":["../../../src/xpath/values/node-set-value.ts"],"names":[],"mappings":";;;AAAA,iCAA4C;AAG5C;IAII,sBAAY,KAAU;QAClB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IAC3B,CAAC;IAED,kCAAW,GAAX;QACI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACzB,OAAO,EAAE,CAAC;SACb;QAED,OAAO,IAAA,cAAQ,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,mCAAY,GAAZ;QACI,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,kCAAW,GAAX;QACI,OAAO,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,mCAAY,GAAZ;QACI,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IACL,mBAAC;AAAD,CAAC,AA5BD,IA4BC;AA5BY,oCAAY"}
@@ -0,0 +1,7 @@
1
+ import { XNode } from "../../dom";
2
+ export interface NodeValue {
3
+ stringValue(): string;
4
+ booleanValue(): boolean;
5
+ numberValue(): number;
6
+ nodeSetValue(): XNode[] | void;
7
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=node-value.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-value.js","sourceRoot":"","sources":["../../../src/xpath/values/node-value.ts"],"names":[],"mappings":""}
@@ -1,4 +1,5 @@
1
- export declare class NumberValue {
1
+ import { NodeValue } from "./node-value";
2
+ export declare class NumberValue implements NodeValue {
2
3
  value: any;
3
4
  type: string;
4
5
  constructor(value: any);
@@ -1 +1 @@
1
- {"version":3,"file":"number-value.js","sourceRoot":"","sources":["../../../src/xpath/values/number-value.ts"],"names":[],"mappings":";;;AAAA;IAKI,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,AAzBD,IAyBC;AAzBY,kCAAW"}
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,4 +1,5 @@
1
- export declare class StringValue {
1
+ import { NodeValue } from "./node-value";
2
+ export declare class StringValue implements NodeValue {
2
3
  value: any;
3
4
  type: string;
4
5
  constructor(value: any);
@@ -1 +1 @@
1
- {"version":3,"file":"string-value.js","sourceRoot":"","sources":["../../../src/xpath/values/string-value.ts"],"names":[],"mappings":";;;AAAA;IAII,qBAAY,KAAK;QACb,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;IACzB,CAAC;IAED,iCAAW,GAAX;QACI,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,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":";;;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,IAAI,CAAC,KAAK,CAAC;IACtB,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"}
@@ -0,0 +1,7 @@
1
+ export type XPathTokenRule = {
2
+ label: string;
3
+ prec?: number;
4
+ re: RegExp;
5
+ key?: any;
6
+ left?: boolean;
7
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=xpath-token-rule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xpath-token-rule.js","sourceRoot":"","sources":["../../src/xpath/xpath-token-rule.ts"],"names":[],"mappings":""}
package/xpath/xpath.d.ts CHANGED
@@ -1,23 +1,23 @@
1
- import { ExprContext } from './expr-context';
1
+ import { ExprContext } from '../xslt/expr-context';
2
2
  import { BinaryExpr, FunctionCallExpr, LiteralExpr, LocationExpr, NumberExpr, PathExpr, PredicateExpr, StepExpr, TokenExpr, UnaryMinusExpr, UnionExpr, VariableExpr } from './expressions';
3
3
  import { Expression } from './expressions/expression';
4
- import { NodeTestAny } from './node-test-any';
5
- import { NodeTestComment } from './node-test-comment';
6
- import { NodeTestElementOrAttribute } from './node-test-element-or-attribute';
7
- import { NodeTestName } from './node-test-name';
8
- import { NodeTestNC } from './node-test-nc';
9
- import { NodeTestPI } from './node-test-pi';
10
- import { NodeTestText } from './node-test-text';
4
+ import { XPathTokenRule } from './xpath-token-rule';
5
+ import { XNode } from '../dom';
6
+ import { NodeTestAny, NodeTestElementOrAttribute, NodeTestNC, NodeTestName, NodeTestText, NodeTestComment, NodeTestPI } from './node-tests';
11
7
  export declare class XPath {
12
8
  xPathParseCache: any;
13
9
  xPathRules: any[];
10
+ xPathLog: (message: string) => void;
11
+ lexerCount: number;
12
+ parseCount: number;
13
+ reduceCount: number;
14
14
  xPathGrammarRules: ((number | {
15
15
  label: string;
16
16
  key: any;
17
- } | {
17
+ } | (XPathTokenRule | {
18
18
  label: string;
19
19
  key: any;
20
- }[] | ((rel: any, slash: any, step: any) => any))[] | (number | {
20
+ })[] | ((rel: any, slash: any, step: any) => any))[] | (number | {
21
21
  label: string;
22
22
  key: any;
23
23
  } | {
@@ -36,10 +36,10 @@ export declare class XPath {
36
36
  }[] | ((expr: any, predicates: any) => any))[] | (number | boolean | {
37
37
  label: string;
38
38
  key: any;
39
- } | {
39
+ } | (XPathTokenRule | {
40
40
  label: string;
41
41
  key: any;
42
- }[] | ((expr1: any, op: any, expr2: any) => BinaryExpr))[])[];
42
+ })[] | ((expr1: any, op: any, expr2: any) => BinaryExpr))[])[];
43
43
  constructor();
44
44
  makeTokenExpr(m: any): TokenExpr;
45
45
  passExpr(e: any): any;
@@ -101,20 +101,62 @@ export declare class XPath {
101
101
  */
102
102
  xPathExtractTagNameFromNodeTest(nodeTest: any, ignoreNonElementNodesForNTA: any): string;
103
103
  xPathMatchStack(stack: any, pattern: any): any;
104
+ /**
105
+ * Finds the best rule for the XPath expression provided.
106
+ * @param expression The XPath string expression.
107
+ * @param previous The previous matched XPath rule.
108
+ * @returns The found rule and the corresponding match.
109
+ */
110
+ private findXPathRuleForExpression;
111
+ /**
112
+ * Initialization for `xPathParse`.
113
+ * @see xPathParse
114
+ */
115
+ private xPathParseInit;
104
116
  /**
105
117
  * The entry point for the parser.
106
118
  * @param expression a string that contains an XPath expression.
107
119
  * @param axis The XPath axis. Used when the match does not start with the parent.
108
- * @param xPathLog TODO
109
120
  * @returns an expression object that can be evaluated with an
110
121
  * expression context.
111
122
  */
112
- xPathParse(expression: string, axis?: string, xPathLog?: (message: string) => void): any;
113
- xPathParseInit(xPathLog: Function): void;
114
- xPathReduce(stack: any, ahead: any, axis?: string, xpathLog?: (message: string) => void): any;
123
+ xPathParse(expression: string, axis?: string): any;
124
+ private findGrammarRuleCandidate;
125
+ /**
126
+ * DGF xPathReduce is where the magic happens in this parser.
127
+ * Check `src\xpath\xpath-grammar-rules.ts` to find the table of
128
+ * grammatical rules and precedence numbers, "The productions of the grammar".
129
+ *
130
+ * The idea here is that we want to take a stack of tokens and apply
131
+ * grammatical rules to them, "reducing" them to higher-level
132
+ * tokens. Ultimately, any valid XPath should reduce to exactly one
133
+ * "Expr" token.
134
+
135
+ * Reduce too early or too late and you'll have two tokens that can't reduce
136
+ * to single Expr. For example, you may hastily reduce a qname that
137
+ * should name a function, incorrectly treating it as a tag name.
138
+ * Or you may reduce too late, accidentally reducing the last part of the
139
+ * XPath into a top-level "Expr" that won't reduce with earlier parts of
140
+ * the XPath.
141
+ *
142
+ * A "candidate" is a grammatical rule candidate, with a given precedence
143
+ * number. "ahead" is the upcoming token, which also has a precedence
144
+ * number. If the token has a higher precedence number than
145
+ * the rule candidate, we'll "shift" the token onto the token stack,
146
+ * instead of immediately applying the rule candidate.
147
+ *
148
+ * Some tokens have left associativity, in which case we shift when they
149
+ * have LOWER precedence than the candidate.
150
+ */
151
+ private xPathReduce;
152
+ /**
153
+ * Utility function to sort a list of nodes. Used by xsltSort().
154
+ * @param context The Expression Context.
155
+ * @param sort TODO
156
+ */
115
157
  xPathSort(context: ExprContext, sort: any[]): void;
116
158
  xPathSortByKey(v1: any, v2: any): number;
117
- xPathStep(nodes: any[], steps: any[], step: any, input: any, context: ExprContext): void;
159
+ xPathStep(nodes: any[], steps: any[], step: any, input: XNode, context: ExprContext): void;
118
160
  xPathGrammarPrecedence(frame: any): number;
119
161
  xPathTokenPrecedence(tag: any): any;
120
162
  }