1 /*
2  * Copyright 2006-2012 The FLWOR Foundation.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 // ******************************************
18 // *                                        *
19 // * THIS IS A GENERATED FILE. DO NOT EDIT! *
20 // * SEE .xml FILE WITH SAME NAME           *
21 // *                                        *
22 // ******************************************
23 
24 
25 #include "stdafx.h"
26 #include "runtime/strings/strings.h"
27 #include "functions/func_strings.h"
28 
29 
30 namespace zorba{
31 
32 
33 
codegen(CompilerCB *,static_context * sctx,const QueryLoc & loc,std::vector<PlanIter_t> & argv,expr & ann) const34 PlanIter_t fn_codepoints_to_string::codegen(
35   CompilerCB*,
36   static_context* sctx,
37   const QueryLoc& loc,
38   std::vector<PlanIter_t>& argv,
39   expr& ann) const
40 {
41   return new CodepointsToStringIterator(sctx, loc, argv);
42 }
43 
codegen(CompilerCB *,static_context * sctx,const QueryLoc & loc,std::vector<PlanIter_t> & argv,expr & ann) const44 PlanIter_t fn_string_to_codepoints::codegen(
45   CompilerCB*,
46   static_context* sctx,
47   const QueryLoc& loc,
48   std::vector<PlanIter_t>& argv,
49   expr& ann) const
50 {
51   return new StringToCodepointsIterator(sctx, loc, argv);
52 }
53 
codegen(CompilerCB *,static_context * sctx,const QueryLoc & loc,std::vector<PlanIter_t> & argv,expr & ann) const54 PlanIter_t fn_compare::codegen(
55   CompilerCB*,
56   static_context* sctx,
57   const QueryLoc& loc,
58   std::vector<PlanIter_t>& argv,
59   expr& ann) const
60 {
61   return new CompareStrIterator(sctx, loc, argv);
62 }
63 
codegen(CompilerCB *,static_context * sctx,const QueryLoc & loc,std::vector<PlanIter_t> & argv,expr & ann) const64 PlanIter_t fn_codepoint_equal::codegen(
65   CompilerCB*,
66   static_context* sctx,
67   const QueryLoc& loc,
68   std::vector<PlanIter_t>& argv,
69   expr& ann) const
70 {
71   return new CodepointEqualIterator(sctx, loc, argv);
72 }
73 
codegen(CompilerCB *,static_context * sctx,const QueryLoc & loc,std::vector<PlanIter_t> & argv,expr & ann) const74 PlanIter_t fn_concat::codegen(
75   CompilerCB*,
76   static_context* sctx,
77   const QueryLoc& loc,
78   std::vector<PlanIter_t>& argv,
79   expr& ann) const
80 {
81   return new ConcatStrIterator(sctx, loc, argv);
82 }
83 
codegen(CompilerCB *,static_context * sctx,const QueryLoc & loc,std::vector<PlanIter_t> & argv,expr & ann) const84 PlanIter_t fn_string_join_3_0::codegen(
85   CompilerCB*,
86   static_context* sctx,
87   const QueryLoc& loc,
88   std::vector<PlanIter_t>& argv,
89   expr& ann) const
90 {
91   return new StringJoinIterator(sctx, loc, argv);
92 }
codegen(CompilerCB *,static_context * sctx,const QueryLoc & loc,std::vector<PlanIter_t> & argv,expr & ann) const93 PlanIter_t fn_string_join::codegen(
94   CompilerCB*,
95   static_context* sctx,
96   const QueryLoc& loc,
97   std::vector<PlanIter_t>& argv,
98   expr& ann) const
99 {
100   return new StringJoinIterator(sctx, loc, argv);
101 }
102 
codegen(CompilerCB *,static_context * sctx,const QueryLoc & loc,std::vector<PlanIter_t> & argv,expr & ann) const103 PlanIter_t fn_substring::codegen(
104   CompilerCB*,
105   static_context* sctx,
106   const QueryLoc& loc,
107   std::vector<PlanIter_t>& argv,
108   expr& ann) const
109 {
110   return new SubstringIterator(sctx, loc, argv);
111 }
112 
codegen(CompilerCB *,static_context * sctx,const QueryLoc & loc,std::vector<PlanIter_t> & argv,expr & ann) const113 PlanIter_t op_substring_int::codegen(
114   CompilerCB*,
115   static_context* sctx,
116   const QueryLoc& loc,
117   std::vector<PlanIter_t>& argv,
118   expr& ann) const
119 {
120   return new SubstringIntOptIterator(sctx, loc, argv);
121 }
122 
codegen(CompilerCB *,static_context * sctx,const QueryLoc & loc,std::vector<PlanIter_t> & argv,expr & ann) const123 PlanIter_t fn_string_length::codegen(
124   CompilerCB*,
125   static_context* sctx,
126   const QueryLoc& loc,
127   std::vector<PlanIter_t>& argv,
128   expr& ann) const
129 {
130   return new StringLengthIterator(sctx, loc, argv);
131 }
132 
codegen(CompilerCB *,static_context * sctx,const QueryLoc & loc,std::vector<PlanIter_t> & argv,expr & ann) const133 PlanIter_t fn_normalize_space::codegen(
134   CompilerCB*,
135   static_context* sctx,
136   const QueryLoc& loc,
137   std::vector<PlanIter_t>& argv,
138   expr& ann) const
139 {
140   return new NormalizeSpaceIterator(sctx, loc, argv);
141 }
142 
codegen(CompilerCB *,static_context * sctx,const QueryLoc & loc,std::vector<PlanIter_t> & argv,expr & ann) const143 PlanIter_t fn_normalize_unicode::codegen(
144   CompilerCB*,
145   static_context* sctx,
146   const QueryLoc& loc,
147   std::vector<PlanIter_t>& argv,
148   expr& ann) const
149 {
150   return new NormalizeUnicodeIterator(sctx, loc, argv);
151 }
152 
codegen(CompilerCB *,static_context * sctx,const QueryLoc & loc,std::vector<PlanIter_t> & argv,expr & ann) const153 PlanIter_t fn_upper_case::codegen(
154   CompilerCB*,
155   static_context* sctx,
156   const QueryLoc& loc,
157   std::vector<PlanIter_t>& argv,
158   expr& ann) const
159 {
160   return new UpperCaseIterator(sctx, loc, argv);
161 }
162 
codegen(CompilerCB *,static_context * sctx,const QueryLoc & loc,std::vector<PlanIter_t> & argv,expr & ann) const163 PlanIter_t fn_lower_case::codegen(
164   CompilerCB*,
165   static_context* sctx,
166   const QueryLoc& loc,
167   std::vector<PlanIter_t>& argv,
168   expr& ann) const
169 {
170   return new LowerCaseIterator(sctx, loc, argv);
171 }
172 
codegen(CompilerCB *,static_context * sctx,const QueryLoc & loc,std::vector<PlanIter_t> & argv,expr & ann) const173 PlanIter_t fn_translate::codegen(
174   CompilerCB*,
175   static_context* sctx,
176   const QueryLoc& loc,
177   std::vector<PlanIter_t>& argv,
178   expr& ann) const
179 {
180   return new TranslateIterator(sctx, loc, argv);
181 }
182 
codegen(CompilerCB *,static_context * sctx,const QueryLoc & loc,std::vector<PlanIter_t> & argv,expr & ann) const183 PlanIter_t fn_encode_for_uri::codegen(
184   CompilerCB*,
185   static_context* sctx,
186   const QueryLoc& loc,
187   std::vector<PlanIter_t>& argv,
188   expr& ann) const
189 {
190   return new EncodeForUriIterator(sctx, loc, argv);
191 }
192 
codegen(CompilerCB *,static_context * sctx,const QueryLoc & loc,std::vector<PlanIter_t> & argv,expr & ann) const193 PlanIter_t fn_iri_to_uri::codegen(
194   CompilerCB*,
195   static_context* sctx,
196   const QueryLoc& loc,
197   std::vector<PlanIter_t>& argv,
198   expr& ann) const
199 {
200   return new IriToUriIterator(sctx, loc, argv);
201 }
202 
codegen(CompilerCB *,static_context * sctx,const QueryLoc & loc,std::vector<PlanIter_t> & argv,expr & ann) const203 PlanIter_t fn_escape_html_uri::codegen(
204   CompilerCB*,
205   static_context* sctx,
206   const QueryLoc& loc,
207   std::vector<PlanIter_t>& argv,
208   expr& ann) const
209 {
210   return new EscapeHtmlUriIterator(sctx, loc, argv);
211 }
212 
codegen(CompilerCB *,static_context * sctx,const QueryLoc & loc,std::vector<PlanIter_t> & argv,expr & ann) const213 PlanIter_t fn_contains::codegen(
214   CompilerCB*,
215   static_context* sctx,
216   const QueryLoc& loc,
217   std::vector<PlanIter_t>& argv,
218   expr& ann) const
219 {
220   return new ContainsIterator(sctx, loc, argv);
221 }
222 
codegen(CompilerCB *,static_context * sctx,const QueryLoc & loc,std::vector<PlanIter_t> & argv,expr & ann) const223 PlanIter_t fn_starts_with::codegen(
224   CompilerCB*,
225   static_context* sctx,
226   const QueryLoc& loc,
227   std::vector<PlanIter_t>& argv,
228   expr& ann) const
229 {
230   return new StartsWithIterator(sctx, loc, argv);
231 }
232 
codegen(CompilerCB *,static_context * sctx,const QueryLoc & loc,std::vector<PlanIter_t> & argv,expr & ann) const233 PlanIter_t fn_ends_with::codegen(
234   CompilerCB*,
235   static_context* sctx,
236   const QueryLoc& loc,
237   std::vector<PlanIter_t>& argv,
238   expr& ann) const
239 {
240   return new EndsWithIterator(sctx, loc, argv);
241 }
242 
codegen(CompilerCB *,static_context * sctx,const QueryLoc & loc,std::vector<PlanIter_t> & argv,expr & ann) const243 PlanIter_t fn_substring_before::codegen(
244   CompilerCB*,
245   static_context* sctx,
246   const QueryLoc& loc,
247   std::vector<PlanIter_t>& argv,
248   expr& ann) const
249 {
250   return new SubstringBeforeIterator(sctx, loc, argv);
251 }
252 
codegen(CompilerCB *,static_context * sctx,const QueryLoc & loc,std::vector<PlanIter_t> & argv,expr & ann) const253 PlanIter_t fn_substring_after::codegen(
254   CompilerCB*,
255   static_context* sctx,
256   const QueryLoc& loc,
257   std::vector<PlanIter_t>& argv,
258   expr& ann) const
259 {
260   return new SubstringAfterIterator(sctx, loc, argv);
261 }
262 
codegen(CompilerCB *,static_context * sctx,const QueryLoc & loc,std::vector<PlanIter_t> & argv,expr & ann) const263 PlanIter_t fn_matches::codegen(
264   CompilerCB*,
265   static_context* sctx,
266   const QueryLoc& loc,
267   std::vector<PlanIter_t>& argv,
268   expr& ann) const
269 {
270   return new FnMatchesIterator(sctx, loc, argv);
271 }
272 
codegen(CompilerCB *,static_context * sctx,const QueryLoc & loc,std::vector<PlanIter_t> & argv,expr & ann) const273 PlanIter_t fn_replace::codegen(
274   CompilerCB*,
275   static_context* sctx,
276   const QueryLoc& loc,
277   std::vector<PlanIter_t>& argv,
278   expr& ann) const
279 {
280   return new FnReplaceIterator(sctx, loc, argv);
281 }
282 
codegen(CompilerCB *,static_context * sctx,const QueryLoc & loc,std::vector<PlanIter_t> & argv,expr & ann) const283 PlanIter_t fn_tokenize::codegen(
284   CompilerCB*,
285   static_context* sctx,
286   const QueryLoc& loc,
287   std::vector<PlanIter_t>& argv,
288   expr& ann) const
289 {
290   return new FnTokenizeIterator(sctx, loc, argv);
291 }
292 
codegen(CompilerCB *,static_context * sctx,const QueryLoc & loc,std::vector<PlanIter_t> & argv,expr & ann) const293 PlanIter_t fn_analyze_string_3_0::codegen(
294   CompilerCB*,
295   static_context* sctx,
296   const QueryLoc& loc,
297   std::vector<PlanIter_t>& argv,
298   expr& ann) const
299 {
300   return new FnAnalyzeStringIterator(sctx, loc, argv);
301 }
302 
codegen(CompilerCB *,static_context * sctx,const QueryLoc & loc,std::vector<PlanIter_t> & argv,expr & ann) const303 PlanIter_t fn_zorba_string_materialize::codegen(
304   CompilerCB*,
305   static_context* sctx,
306   const QueryLoc& loc,
307   std::vector<PlanIter_t>& argv,
308   expr& ann) const
309 {
310   return new StringMaterializeIterator(sctx, loc, argv);
311 }
312 
codegen(CompilerCB *,static_context * sctx,const QueryLoc & loc,std::vector<PlanIter_t> & argv,expr & ann) const313 PlanIter_t fn_zorba_string_is_streamable::codegen(
314   CompilerCB*,
315   static_context* sctx,
316   const QueryLoc& loc,
317   std::vector<PlanIter_t>& argv,
318   expr& ann) const
319 {
320   return new StringIsStreamableIterator(sctx, loc, argv);
321 }
322 
codegen(CompilerCB *,static_context * sctx,const QueryLoc & loc,std::vector<PlanIter_t> & argv,expr & ann) const323 PlanIter_t fn_zorba_string_split::codegen(
324   CompilerCB*,
325   static_context* sctx,
326   const QueryLoc& loc,
327   std::vector<PlanIter_t>& argv,
328   expr& ann) const
329 {
330   return new StringSplitIterator(sctx, loc, argv);
331 }
332 
populate_context_strings(static_context * sctx)333 void populate_context_strings(static_context* sctx)
334 {
335 
336 
337       {
338     DECL_WITH_KIND(sctx, fn_codepoints_to_string,
339         (createQName("http://www.w3.org/2005/xpath-functions","","codepoints-to-string"),
340         GENV_TYPESYSTEM.INTEGER_TYPE_STAR,
341         GENV_TYPESYSTEM.STRING_TYPE_ONE),
342         FunctionConsts::FN_CODEPOINTS_TO_STRING_1);
343 
344   }
345 
346 
347 
348 
349       {
350     DECL_WITH_KIND(sctx, fn_string_to_codepoints,
351         (createQName("http://www.w3.org/2005/xpath-functions","","string-to-codepoints"),
352         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
353         GENV_TYPESYSTEM.INTEGER_TYPE_STAR),
354         FunctionConsts::FN_STRING_TO_CODEPOINTS_1);
355 
356   }
357 
358 
359 
360 
361       {
362     DECL_WITH_KIND(sctx, fn_compare,
363         (createQName("http://www.w3.org/2005/xpath-functions","","compare"),
364         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
365         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
366         GENV_TYPESYSTEM.INTEGER_TYPE_QUESTION),
367         FunctionConsts::FN_COMPARE_2);
368 
369   }
370 
371 
372 
373 
374       {
375     DECL_WITH_KIND(sctx, fn_compare,
376         (createQName("http://www.w3.org/2005/xpath-functions","","compare"),
377         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
378         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
379         GENV_TYPESYSTEM.STRING_TYPE_ONE,
380         GENV_TYPESYSTEM.INTEGER_TYPE_QUESTION),
381         FunctionConsts::FN_COMPARE_3);
382 
383   }
384 
385 
386 
387 
388       {
389     DECL_WITH_KIND(sctx, fn_codepoint_equal,
390         (createQName("http://www.w3.org/2005/xpath-functions","","codepoint-equal"),
391         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
392         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
393         GENV_TYPESYSTEM.BOOLEAN_TYPE_QUESTION),
394         FunctionConsts::FN_CODEPOINT_EQUAL_2);
395 
396   }
397 
398 
399 
400 
401       {
402     std::vector<xqtref_t> lParamTypes;
403     lParamTypes.push_back(GENV_TYPESYSTEM.ANY_ATOMIC_TYPE_QUESTION);DECL_WITH_KIND(sctx, fn_concat,
404         (createQName("http://www.w3.org/2005/xpath-functions","","concat"),
405         lParamTypes, GENV_TYPESYSTEM.STRING_TYPE_ONE, true),
406         FunctionConsts::FN_CONCAT_N);
407 
408   }
409 
410 
411 
412 
413       {
414     DECL_WITH_KIND(sctx, fn_string_join_3_0,
415         (createQName("http://www.w3.org/2005/xpath-functions","","string-join"),
416         GENV_TYPESYSTEM.STRING_TYPE_STAR,
417         GENV_TYPESYSTEM.STRING_TYPE_ONE),
418         FunctionConsts::FN_STRING_JOIN_1);
419 
420   }
421 
422 
423 
424 
425       {
426     DECL_WITH_KIND(sctx, fn_string_join,
427         (createQName("http://www.w3.org/2005/xpath-functions","","string-join"),
428         GENV_TYPESYSTEM.STRING_TYPE_STAR,
429         GENV_TYPESYSTEM.STRING_TYPE_ONE,
430         GENV_TYPESYSTEM.STRING_TYPE_ONE),
431         FunctionConsts::FN_STRING_JOIN_2);
432 
433   }
434 
435 
436 
437 
438       {
439     DECL_WITH_KIND(sctx, fn_substring,
440         (createQName("http://www.w3.org/2005/xpath-functions","","substring"),
441         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
442         GENV_TYPESYSTEM.DOUBLE_TYPE_ONE,
443         GENV_TYPESYSTEM.STRING_TYPE_ONE),
444         FunctionConsts::FN_SUBSTRING_2);
445 
446   }
447 
448 
449 
450 
451       {
452     DECL_WITH_KIND(sctx, fn_substring,
453         (createQName("http://www.w3.org/2005/xpath-functions","","substring"),
454         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
455         GENV_TYPESYSTEM.DOUBLE_TYPE_ONE,
456         GENV_TYPESYSTEM.DOUBLE_TYPE_ONE,
457         GENV_TYPESYSTEM.STRING_TYPE_ONE),
458         FunctionConsts::FN_SUBSTRING_3);
459 
460   }
461 
462 
463 
464 
465       {
466     DECL_WITH_KIND(sctx, op_substring_int,
467         (createQName("http://www.zorba-xquery.com/internal/xquery-ops","","substring_int"),
468         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
469         GENV_TYPESYSTEM.INTEGER_TYPE_ONE,
470         GENV_TYPESYSTEM.STRING_TYPE_ONE),
471         FunctionConsts::OP_SUBSTRING_INT_2);
472 
473   }
474 
475 
476 
477 
478       {
479     DECL_WITH_KIND(sctx, op_substring_int,
480         (createQName("http://www.zorba-xquery.com/internal/xquery-ops","","substring_int"),
481         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
482         GENV_TYPESYSTEM.INTEGER_TYPE_ONE,
483         GENV_TYPESYSTEM.INTEGER_TYPE_ONE,
484         GENV_TYPESYSTEM.STRING_TYPE_ONE),
485         FunctionConsts::OP_SUBSTRING_INT_3);
486 
487   }
488 
489 
490 
491 
492       {
493     DECL_WITH_KIND(sctx, fn_string_length,
494         (createQName("http://www.w3.org/2005/xpath-functions","","string-length"),
495         GENV_TYPESYSTEM.INTEGER_TYPE_ONE),
496         FunctionConsts::FN_STRING_LENGTH_0);
497 
498   }
499 
500 
501 
502 
503       {
504     DECL_WITH_KIND(sctx, fn_string_length,
505         (createQName("http://www.w3.org/2005/xpath-functions","","string-length"),
506         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
507         GENV_TYPESYSTEM.INTEGER_TYPE_ONE),
508         FunctionConsts::FN_STRING_LENGTH_1);
509 
510   }
511 
512 
513 
514 
515       {
516     DECL_WITH_KIND(sctx, fn_normalize_space,
517         (createQName("http://www.w3.org/2005/xpath-functions","","normalize-space"),
518         GENV_TYPESYSTEM.STRING_TYPE_ONE),
519         FunctionConsts::FN_NORMALIZE_SPACE_0);
520 
521   }
522 
523 
524 
525 
526       {
527     DECL_WITH_KIND(sctx, fn_normalize_space,
528         (createQName("http://www.w3.org/2005/xpath-functions","","normalize-space"),
529         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
530         GENV_TYPESYSTEM.STRING_TYPE_ONE),
531         FunctionConsts::FN_NORMALIZE_SPACE_1);
532 
533   }
534 
535 
536 
537 
538       {
539     DECL_WITH_KIND(sctx, fn_normalize_unicode,
540         (createQName("http://www.w3.org/2005/xpath-functions","","normalize-unicode"),
541         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
542         GENV_TYPESYSTEM.STRING_TYPE_ONE),
543         FunctionConsts::FN_NORMALIZE_UNICODE_1);
544 
545   }
546 
547 
548 
549 
550       {
551     DECL_WITH_KIND(sctx, fn_normalize_unicode,
552         (createQName("http://www.w3.org/2005/xpath-functions","","normalize-unicode"),
553         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
554         GENV_TYPESYSTEM.STRING_TYPE_ONE,
555         GENV_TYPESYSTEM.STRING_TYPE_ONE),
556         FunctionConsts::FN_NORMALIZE_UNICODE_2);
557 
558   }
559 
560 
561 
562 
563       {
564     DECL_WITH_KIND(sctx, fn_upper_case,
565         (createQName("http://www.w3.org/2005/xpath-functions","","upper-case"),
566         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
567         GENV_TYPESYSTEM.STRING_TYPE_ONE),
568         FunctionConsts::FN_UPPER_CASE_1);
569 
570   }
571 
572 
573 
574 
575       {
576     DECL_WITH_KIND(sctx, fn_lower_case,
577         (createQName("http://www.w3.org/2005/xpath-functions","","lower-case"),
578         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
579         GENV_TYPESYSTEM.STRING_TYPE_ONE),
580         FunctionConsts::FN_LOWER_CASE_1);
581 
582   }
583 
584 
585 
586 
587       {
588     DECL_WITH_KIND(sctx, fn_translate,
589         (createQName("http://www.w3.org/2005/xpath-functions","","translate"),
590         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
591         GENV_TYPESYSTEM.STRING_TYPE_ONE,
592         GENV_TYPESYSTEM.STRING_TYPE_ONE,
593         GENV_TYPESYSTEM.STRING_TYPE_ONE),
594         FunctionConsts::FN_TRANSLATE_3);
595 
596   }
597 
598 
599 
600 
601       {
602     DECL_WITH_KIND(sctx, fn_encode_for_uri,
603         (createQName("http://www.w3.org/2005/xpath-functions","","encode-for-uri"),
604         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
605         GENV_TYPESYSTEM.STRING_TYPE_ONE),
606         FunctionConsts::FN_ENCODE_FOR_URI_1);
607 
608   }
609 
610 
611 
612 
613       {
614     DECL_WITH_KIND(sctx, fn_iri_to_uri,
615         (createQName("http://www.w3.org/2005/xpath-functions","","iri-to-uri"),
616         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
617         GENV_TYPESYSTEM.STRING_TYPE_ONE),
618         FunctionConsts::FN_IRI_TO_URI_1);
619 
620   }
621 
622 
623 
624 
625       {
626     DECL_WITH_KIND(sctx, fn_escape_html_uri,
627         (createQName("http://www.w3.org/2005/xpath-functions","","escape-html-uri"),
628         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
629         GENV_TYPESYSTEM.STRING_TYPE_ONE),
630         FunctionConsts::FN_ESCAPE_HTML_URI_1);
631 
632   }
633 
634 
635 
636 
637       {
638     DECL_WITH_KIND(sctx, fn_contains,
639         (createQName("http://www.w3.org/2005/xpath-functions","","contains"),
640         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
641         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
642         GENV_TYPESYSTEM.BOOLEAN_TYPE_ONE),
643         FunctionConsts::FN_CONTAINS_2);
644 
645   }
646 
647 
648 
649 
650       {
651     DECL_WITH_KIND(sctx, fn_contains,
652         (createQName("http://www.w3.org/2005/xpath-functions","","contains"),
653         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
654         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
655         GENV_TYPESYSTEM.STRING_TYPE_ONE,
656         GENV_TYPESYSTEM.BOOLEAN_TYPE_ONE),
657         FunctionConsts::FN_CONTAINS_3);
658 
659   }
660 
661 
662 
663 
664       {
665     DECL_WITH_KIND(sctx, fn_starts_with,
666         (createQName("http://www.w3.org/2005/xpath-functions","","starts-with"),
667         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
668         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
669         GENV_TYPESYSTEM.BOOLEAN_TYPE_ONE),
670         FunctionConsts::FN_STARTS_WITH_2);
671 
672   }
673 
674 
675 
676 
677       {
678     DECL_WITH_KIND(sctx, fn_starts_with,
679         (createQName("http://www.w3.org/2005/xpath-functions","","starts-with"),
680         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
681         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
682         GENV_TYPESYSTEM.STRING_TYPE_ONE,
683         GENV_TYPESYSTEM.BOOLEAN_TYPE_ONE),
684         FunctionConsts::FN_STARTS_WITH_3);
685 
686   }
687 
688 
689 
690 
691       {
692     DECL_WITH_KIND(sctx, fn_ends_with,
693         (createQName("http://www.w3.org/2005/xpath-functions","","ends-with"),
694         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
695         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
696         GENV_TYPESYSTEM.BOOLEAN_TYPE_ONE),
697         FunctionConsts::FN_ENDS_WITH_2);
698 
699   }
700 
701 
702 
703 
704       {
705     DECL_WITH_KIND(sctx, fn_ends_with,
706         (createQName("http://www.w3.org/2005/xpath-functions","","ends-with"),
707         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
708         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
709         GENV_TYPESYSTEM.STRING_TYPE_ONE,
710         GENV_TYPESYSTEM.BOOLEAN_TYPE_ONE),
711         FunctionConsts::FN_ENDS_WITH_3);
712 
713   }
714 
715 
716 
717 
718       {
719     DECL_WITH_KIND(sctx, fn_substring_before,
720         (createQName("http://www.w3.org/2005/xpath-functions","","substring-before"),
721         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
722         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
723         GENV_TYPESYSTEM.STRING_TYPE_ONE),
724         FunctionConsts::FN_SUBSTRING_BEFORE_2);
725 
726   }
727 
728 
729 
730 
731       {
732     DECL_WITH_KIND(sctx, fn_substring_before,
733         (createQName("http://www.w3.org/2005/xpath-functions","","substring-before"),
734         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
735         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
736         GENV_TYPESYSTEM.STRING_TYPE_ONE,
737         GENV_TYPESYSTEM.STRING_TYPE_ONE),
738         FunctionConsts::FN_SUBSTRING_BEFORE_3);
739 
740   }
741 
742 
743 
744 
745       {
746     DECL_WITH_KIND(sctx, fn_substring_after,
747         (createQName("http://www.w3.org/2005/xpath-functions","","substring-after"),
748         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
749         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
750         GENV_TYPESYSTEM.STRING_TYPE_ONE),
751         FunctionConsts::FN_SUBSTRING_AFTER_2);
752 
753   }
754 
755 
756 
757 
758       {
759     DECL_WITH_KIND(sctx, fn_substring_after,
760         (createQName("http://www.w3.org/2005/xpath-functions","","substring-after"),
761         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
762         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
763         GENV_TYPESYSTEM.STRING_TYPE_ONE,
764         GENV_TYPESYSTEM.STRING_TYPE_ONE),
765         FunctionConsts::FN_SUBSTRING_AFTER_3);
766 
767   }
768 
769 
770 
771 
772       {
773     DECL_WITH_KIND(sctx, fn_matches,
774         (createQName("http://www.w3.org/2005/xpath-functions","","matches"),
775         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
776         GENV_TYPESYSTEM.STRING_TYPE_ONE,
777         GENV_TYPESYSTEM.BOOLEAN_TYPE_ONE),
778         FunctionConsts::FN_MATCHES_2);
779 
780   }
781 
782 
783 
784 
785       {
786     DECL_WITH_KIND(sctx, fn_matches,
787         (createQName("http://www.w3.org/2005/xpath-functions","","matches"),
788         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
789         GENV_TYPESYSTEM.STRING_TYPE_ONE,
790         GENV_TYPESYSTEM.STRING_TYPE_ONE,
791         GENV_TYPESYSTEM.BOOLEAN_TYPE_ONE),
792         FunctionConsts::FN_MATCHES_3);
793 
794   }
795 
796 
797 
798 
799       {
800     DECL_WITH_KIND(sctx, fn_replace,
801         (createQName("http://www.w3.org/2005/xpath-functions","","replace"),
802         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
803         GENV_TYPESYSTEM.STRING_TYPE_ONE,
804         GENV_TYPESYSTEM.STRING_TYPE_ONE,
805         GENV_TYPESYSTEM.STRING_TYPE_ONE),
806         FunctionConsts::FN_REPLACE_3);
807 
808   }
809 
810 
811 
812 
813       {
814     DECL_WITH_KIND(sctx, fn_replace,
815         (createQName("http://www.w3.org/2005/xpath-functions","","replace"),
816         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
817         GENV_TYPESYSTEM.STRING_TYPE_ONE,
818         GENV_TYPESYSTEM.STRING_TYPE_ONE,
819         GENV_TYPESYSTEM.STRING_TYPE_ONE,
820         GENV_TYPESYSTEM.STRING_TYPE_ONE),
821         FunctionConsts::FN_REPLACE_4);
822 
823   }
824 
825 
826 
827 
828       {
829     DECL_WITH_KIND(sctx, fn_tokenize,
830         (createQName("http://www.w3.org/2005/xpath-functions","","tokenize"),
831         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
832         GENV_TYPESYSTEM.STRING_TYPE_ONE,
833         GENV_TYPESYSTEM.STRING_TYPE_STAR),
834         FunctionConsts::FN_TOKENIZE_2);
835 
836   }
837 
838 
839 
840 
841       {
842     DECL_WITH_KIND(sctx, fn_tokenize,
843         (createQName("http://www.w3.org/2005/xpath-functions","","tokenize"),
844         GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
845         GENV_TYPESYSTEM.STRING_TYPE_ONE,
846         GENV_TYPESYSTEM.STRING_TYPE_ONE,
847         GENV_TYPESYSTEM.STRING_TYPE_STAR),
848         FunctionConsts::FN_TOKENIZE_3);
849 
850   }
851 
852 
853 
854 
855       {
856     DECL_WITH_KIND(sctx, fn_zorba_string_materialize,
857         (createQName("http://www.zorba-xquery.com/modules/string","","materialize"),
858         GENV_TYPESYSTEM.STRING_TYPE_ONE,
859         GENV_TYPESYSTEM.STRING_TYPE_ONE),
860         FunctionConsts::FN_ZORBA_STRING_MATERIALIZE_1);
861 
862   }
863 
864 
865 
866 
867       {
868     DECL_WITH_KIND(sctx, fn_zorba_string_is_streamable,
869         (createQName("http://www.zorba-xquery.com/modules/string","","is-streamable"),
870         GENV_TYPESYSTEM.STRING_TYPE_ONE,
871         GENV_TYPESYSTEM.BOOLEAN_TYPE_ONE),
872         FunctionConsts::FN_ZORBA_STRING_IS_STREAMABLE_1);
873 
874   }
875 
876 
877 
878 
879       {
880     DECL_WITH_KIND(sctx, fn_zorba_string_split,
881         (createQName("http://www.zorba-xquery.com/modules/string","","split"),
882         GENV_TYPESYSTEM.STRING_TYPE_ONE,
883         GENV_TYPESYSTEM.STRING_TYPE_ONE,
884         GENV_TYPESYSTEM.STRING_TYPE_STAR),
885         FunctionConsts::FN_ZORBA_STRING_SPLIT_2);
886 
887   }
888 
889 }
890 
891 
892 }
893 
894 
895 
896