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 #ifndef ZORBA_RUNTIME_VISITORS_PLAN_ITER_VISITOR_H
24 #define ZORBA_RUNTIME_VISITORS_PLAN_ITER_VISITOR_H
25 #include <vector>
26 #include "common/common.h"
27 #include "zorbatypes/zorbatypes_decl.h"
28 #include <zorba/store_consts.h>
29 #include "zorbatypes/rchandle.h"
30 #include "zorbatypes/zstring.h"
31 
32 namespace zorba{
33     class NodeNameIterator;
34 
35     class NilledIterator;
36 
37     class FnStringIterator;
38 
39     class FnDataIterator;
40 
41     class BaseUriIterator;
42 
43     class DocumentUriIterator;
44 
45     class RootIterator;
46 
47     class ResolveUriIterator;
48 
49     class Base64DecodeIterator;
50 
51     class Base64EncodeIterator;
52 
53     class IsSameNodeIterator;
54 
55     class NodeBeforeIterator;
56 
57     class NodeAfterIterator;
58 
59     class ZorbaCreateCollectionIterator;
60 
61     class ZorbaDeleteCollectionIterator;
62 
63     class IsAvailableCollectionIterator;
64 
65     class AvailableCollectionsIterator;
66 
67     class FnCollectionIterator;
68 
69     class ZorbaCollectionIterator;
70 
71     class ZorbaCollectionNameIterator;
72 
73     class ZorbaIndexOfIterator;
74 
75     class ZorbaInsertNodesIterator;
76 
77     class ZorbaInsertNodesFirstIterator;
78 
79     class ZorbaInsertNodesLastIterator;
80 
81     class ZorbaInsertNodesBeforeIterator;
82 
83     class ZorbaInsertNodesAfterIterator;
84 
85     class ZorbaApplyInsertNodesIterator;
86 
87     class ZorbaApplyInsertNodesFirstIterator;
88 
89     class ZorbaApplyInsertNodesLastIterator;
90 
91     class ZorbaApplyInsertNodesBeforeIterator;
92 
93     class ZorbaApplyInsertNodesAfterIterator;
94 
95     class ZorbaDeleteNodesIterator;
96 
97     class ZorbaDeleteNodesFirstIterator;
98 
99     class ZorbaDeleteNodesLastIterator;
100 
101     class ZorbaTruncateCollectionIterator;
102 
103     class IsAvailableIndexIterator;
104 
105     class AvailableIndexesIterator;
106 
107     class IsActivatedICIterator;
108 
109     class ActivatedICsIterator;
110 
111     class IsDeclaredCollectionIterator;
112 
113     class DeclaredCollectionsIterator;
114 
115     class IsDeclaredIndexIterator;
116 
117     class DeclaredIndexesIterator;
118 
119     class IsDeclaredICIterator;
120 
121     class DeclaredICsIterator;
122 
123     class FnURICollectionIterator;
124 
125     class CurrentDateTimeIterator;
126 
127     class CurrentDateIterator;
128 
129     class CurrentTimeIterator;
130 
131     class ImplicitTimezoneIterator;
132 
133     class DefaultCollationIterator;
134 
135 #ifdef ZORBA_WITH_DEBUGGER
136     class DebugIterator;
137 #endif
138     class YearsFromDurationIterator;
139 
140     class MonthsFromDurationIterator;
141 
142     class DaysFromDurationIterator;
143 
144     class HoursFromDurationIterator;
145 
146     class MinutesFromDurationIterator;
147 
148     class SecondsFromDurationIterator;
149 
150     class YearFromDatetimeIterator;
151 
152     class MonthFromDatetimeIterator;
153 
154     class DayFromDatetimeIterator;
155 
156     class HoursFromDatetimeIterator;
157 
158     class MinutesFromDatetimeIterator;
159 
160     class SecondsFromDatetimeIterator;
161 
162     class TimezoneFromDatetimeIterator;
163 
164     class YearFromDateIterator;
165 
166     class MonthFromDateIterator;
167 
168     class DayFromDateIterator;
169 
170     class TimezoneFromDateIterator;
171 
172     class HoursFromTimeIterator;
173 
174     class MinutesFromTimeIterator;
175 
176     class SecondsFromTimeIterator;
177 
178     class TimezoneFromTimeIterator;
179 
180     class ErrorIterator;
181 
182     class TraceIterator;
183 
184     class ReadLineIterator;
185 
186     class PrintIterator;
187 
188     class FunctionTraceIterator;
189 
190     class FetchContentIterator;
191 
192     class FetchContentBinaryIterator;
193 
194     class FetchContentTypeIterator;
195 
196     class FnPutIterator;
197 
198 #ifndef ZORBA_NO_FULL_TEXT
199     class CurrentCompareOptionsIterator;
200 #endif
201 #ifndef ZORBA_NO_FULL_TEXT
202     class CurrentLangIterator;
203 #endif
204 #ifndef ZORBA_NO_FULL_TEXT
205     class HostLangIterator;
206 #endif
207 #ifndef ZORBA_NO_FULL_TEXT
208     class IsStemLangSupportedIterator;
209 #endif
210 #ifndef ZORBA_NO_FULL_TEXT
211     class IsStopWordIterator;
212 #endif
213 #ifndef ZORBA_NO_FULL_TEXT
214     class IsStopWordLangSupportedIterator;
215 #endif
216 #ifndef ZORBA_NO_FULL_TEXT
217     class IsThesaurusLangSupportedIterator;
218 #endif
219 #ifndef ZORBA_NO_FULL_TEXT
220     class IsTokenizerLangSupportedIterator;
221 #endif
222 #ifndef ZORBA_NO_FULL_TEXT
223     class StemIterator;
224 #endif
225 #ifndef ZORBA_NO_FULL_TEXT
226     class StripDiacriticsIterator;
227 #endif
228 #ifndef ZORBA_NO_FULL_TEXT
229     class ThesaurusLookupIterator;
230 #endif
231 #ifndef ZORBA_NO_FULL_TEXT
232     class TokenizeNodeIterator;
233 #endif
234 #ifndef ZORBA_NO_FULL_TEXT
235     class TokenizeNodesIterator;
236 #endif
237 #ifndef ZORBA_NO_FULL_TEXT
238     class TokenizerPropertiesIterator;
239 #endif
240 #ifndef ZORBA_NO_FULL_TEXT
241     class TokenizeStringIterator;
242 #endif
243     class FunctionNameIterator;
244 
245     class FunctionArityIterator;
246 
247     class PartialApplyIterator;
248 
249     class ActivateICIterator;
250 
251     class DeactivateICIterator;
252 
253     class CheckICIterator;
254 
255     class IndexKeysIterator;
256 
257     class StaticNamespacesIterator;
258 
259     class DefaultFunctionNamespaceIterator;
260 
261     class SctxBaseUriIterator;
262 
263     class SctxDefaultCollationIterator;
264 
265     class StaticNamespaceBindingIterator;
266 
267     class InscopeVariablesIterator;
268 
269     class DefaultCollectionTypeIterator;
270 
271     class XPath10CompatModeIterator;
272 
273     class StaticallyKnownDocumentsIterator;
274 
275     class StaticallyKnownDocumentTypeIterator;
276 
277     class StaticallyKnownCollationsIterator;
278 
279     class ConstructionModeIterator;
280 
281     class OrderingModeIterator;
282 
283     class DefaultOrderIterator;
284 
285     class BoundarySpacePolicyIterator;
286 
287     class CopyNamespacesModeIterator;
288 
289     class FunctionNamesIterator;
290 
291     class FunctionArgumentsCountIterator;
292 
293     class InScopeSchemaTypesIterator;
294 
295     class InScopeElementDeclarationsIterator;
296 
297     class InScopeAttributeDeclarationsIterator;
298 
299     class InScopeElementGroupsIterator;
300 
301     class InScopeAttributeGroupsIterator;
302 
303     class OptionIterator;
304 
305     class FunctionAnnotationsIterator;
306 
307     class JSONParseInternal;
308 
309     class JSONSerializeInternal;
310 
311 #ifdef ZORBA_WITH_JSON
312     class JSONDecodeFromRoundtripIterator;
313 #endif
314 #ifdef ZORBA_WITH_JSON
315     class JSONEncodeForRoundtripIterator;
316 #endif
317 #ifdef ZORBA_WITH_JSON
318     class JSONParseIterator;
319 #endif
320 #ifdef ZORBA_WITH_JSON
321     class JSONObjectNamesIterator;
322 #endif
323 #ifdef ZORBA_WITH_JSON
324     class JSONObjectValueIterator;
325 #endif
326 #ifdef ZORBA_WITH_JSON
327     class JSONObjectProjectIterator;
328 #endif
329 #ifdef ZORBA_WITH_JSON
330     class JSONArraySizeIterator;
331 #endif
332 #ifdef ZORBA_WITH_JSON
333     class JSONArrayMemberIterator;
334 #endif
335 #ifdef ZORBA_WITH_JSON
336     class JSONArrayMembersIterator;
337 #endif
338 #ifdef ZORBA_WITH_JSON
339     class JSONArrayFlattenIterator;
340 #endif
341 #ifdef ZORBA_WITH_JSON
342     class JSONItemAccessorIterator;
343 #endif
344 #ifdef ZORBA_WITH_JSON
345     class JSONNullIterator;
346 #endif
347 #ifdef ZORBA_WITH_JSON
348     class JSONIsNullIterator;
349 #endif
350 #ifdef ZORBA_WITH_JSON
351     class JSONObjectInsertIterator;
352 #endif
353 #ifdef ZORBA_WITH_JSON
354     class JSONArrayInsertIterator;
355 #endif
356 #ifdef ZORBA_WITH_JSON
357     class JSONDeleteIterator;
358 #endif
359 #ifdef ZORBA_WITH_JSON
360     class JSONReplaceValueIterator;
361 #endif
362 #ifdef ZORBA_WITH_JSON
363     class JSONRenameIterator;
364 #endif
365 #ifdef ZORBA_WITH_JSON
366     class JSONArrayAppendIterator;
367 #endif
368 #ifdef ZORBA_WITH_JSON
369     class JSONBoxIterator;
370 #endif
371     class SqrtIterator;
372 
373     class ExpIterator;
374 
375     class Exp10Iterator;
376 
377     class LogIterator;
378 
379     class Log10Iterator;
380 
381     class SinIterator;
382 
383     class CosIterator;
384 
385     class TanIterator;
386 
387     class ArcSinIterator;
388 
389     class ArcCosIterator;
390 
391     class ArcTanIterator;
392 
393     class Atan2Iterator;
394 
395     class CoshIterator;
396 
397     class AcoshIterator;
398 
399     class FmodIterator;
400 
401     class LdexpIterator;
402 
403     class PowIterator;
404 
405     class SinhIterator;
406 
407     class AsinhIterator;
408 
409     class TanhIterator;
410 
411     class AtanhIterator;
412 
413     class PiNumberIterator;
414 
415     class IsInfIterator;
416 
417     class IsNaNIterator;
418 
419     class ModfIterator;
420 
421     class FrexpIterator;
422 
423     class NodePositionIterator;
424 
425     class IsAncestorPositionIterator;
426 
427     class IsFollowingSiblingPositionIterator;
428 
429     class IsFollowingPositionIterator;
430 
431     class IsInSubtreeOfPositionIterator;
432 
433     class IsDescendantPositionIterator;
434 
435     class IsPrecedingSiblingPositionIterator;
436 
437     class IsPrecedingPositionIterator;
438 
439     class IsChildPositionIterator;
440 
441     class IsAttributeOfPositionIterator;
442 
443     class IsParentPositionIterator;
444 
445     class IsPrecedingInDocumentOrderPositionIterator;
446 
447     class IsFollowingInDocumentOrderPositionIterator;
448 
449     class LevelPositionIterator;
450 
451     class IsAttributePositionIterator;
452 
453     class IsCommentPositionIterator;
454 
455     class IsDocumentPositionIterator;
456 
457     class IsElementPositionIterator;
458 
459     class IsProcessingInstructionPositionIterator;
460 
461     class IsTextPositionIterator;
462 
463     class IsSiblingPositionIterator;
464 
465     class InSameTreePositionIterator;
466 
467     class InCollectionPositionIterator;
468 
469     class InSameCollectionPositionIterator;
470 
471     class NodeReferenceIterator;
472 
473     class HasNodeReferenceIterator;
474 
475     class AssignNodeReferenceIterator;
476 
477     class NodeByReferenceIterator;
478 
479     class FnLocalNameIterator;
480 
481     class FnNamespaceUriIterator;
482 
483     class FnLangIterator;
484 
485     class FnHasChildrenIterator;
486 
487     class FnInnermostIterator;
488 
489     class FnOutermostIterator;
490 
491     class FnGenerateIdIterator;
492 
493     class IsAncestorIterator;
494 
495     class IsDescendantIterator;
496 
497     class IsParentIterator;
498 
499     class IsChildIterator;
500 
501     class IsFollowingIterator;
502 
503     class IsPrecedingIterator;
504 
505     class IsFollowingSiblingIterator;
506 
507     class IsPrecedingSiblingIterator;
508 
509     class LevelIterator;
510 
511     class LeastCommonAncestor;
512 
513     class FnPathIterator;
514 
515     class NodeCopyIterator;
516 
517     class AbsIterator;
518 
519     class CeilingIterator;
520 
521     class FloorIterator;
522 
523     class RoundIterator;
524 
525     class RoundHalfToEvenIterator;
526 
527     class FormatNumberIterator;
528 
529     class FormatIntegerIterator;
530 
531     class FnZorbaParseXmlFragmentIterator;
532 
533     class FnParseXmlFragmentIterator;
534 
535     class FnParseXmlIterator;
536 
537     class FnSerializeIterator;
538 
539     class ResolveQNameIterator;
540 
541     class QNameIterator;
542 
543     class QNameEqualIterator;
544 
545     class PrefixFromQNameIterator;
546 
547     class LocalNameFromQNameIterator;
548 
549     class NamespaceUriFromQNameIterator;
550 
551     class NamespaceUriForPrefixIterator;
552 
553     class InScopePrefixesIterator;
554 
555     class SeededRandomIterator;
556 
557     class RandomIterator;
558 
559     class UuidIterator;
560 
561 #ifndef ZORBA_NO_XMLSCHEMA
562     class ValidateIterator;
563 #endif
564     class ZorbaValidateInPlaceIterator;
565 
566     class ZorbaSchemaTypeIterator;
567 
568     class ZorbaIsValidatedIterator;
569 
570     class FnConcatIterator;
571 
572     class FnIndexOfIterator;
573 
574     class FnEmptyIterator;
575 
576     class FnExistsIterator;
577 
578     class FnDistinctValuesIterator;
579 
580     class FnInsertBeforeIterator;
581 
582     class FnRemoveIterator;
583 
584     class FnReverseIterator;
585 
586     class FnSubsequenceIterator;
587 
588     class SubsequenceIntIterator;
589 
590     class SequencePointAccessIterator;
591 
592     class FnZeroOrOneIterator;
593 
594     class FnOneOrMoreIterator;
595 
596     class FnExactlyOneIterator;
597 
598     class FnDeepEqualIterator;
599 
600     class HashSemiJoinIterator;
601 
602     class SortSemiJoinIterator;
603 
604     class FnCountIterator;
605 
606     class FnAvgIterator;
607 
608     class FnSumIterator;
609 
610     class FnSumDoubleIterator;
611 
612     class FnSumFloatIterator;
613 
614     class FnSumDecimalIterator;
615 
616     class FnSumIntegerIterator;
617 
618     class OpToIterator;
619 
620     class FnIdIterator;
621 
622     class FnElementWithIdIterator;
623 
624     class FnIdRefIterator;
625 
626     class FnDocIterator;
627 
628     class FnDocAvailableIterator;
629 
630     class FnAvailableEnvironmentVariablesIterator;
631 
632     class FnEnvironmentVariableIterator;
633 
634     class FnUnparsedTextIterator;
635 
636     class FnUnparsedTextAvailableIterator;
637 
638     class FnUnparsedTextLinesIterator;
639 
640     class PutDocumentIterator;
641 
642     class RemoveDocumentIterator;
643 
644     class RetrieveDocumentIterator;
645 
646     class AvailableDocumentsIterator;
647 
648     class IsAvailableDocumentIterator;
649 
650     class MapCreateIterator;
651 
652     class MapCreateTransientIterator;
653 
654     class MapDestroyIterator;
655 
656     class MapGetIterator;
657 
658     class MapInsertIterator;
659 
660     class MapRemoveIterator;
661 
662     class MapKeysIterator;
663 
664     class MapSizeIterator;
665 
666     class AvailableMapsIterator;
667 
668     class MapIsTransientIterator;
669 
670     class CodepointsToStringIterator;
671 
672     class StringToCodepointsIterator;
673 
674     class CompareStrIterator;
675 
676     class CodepointEqualIterator;
677 
678     class ConcatStrIterator;
679 
680     class StringJoinIterator;
681 
682     class SubstringIterator;
683 
684     class SubstringIntOptIterator;
685 
686     class StringLengthIterator;
687 
688     class NormalizeSpaceIterator;
689 
690     class NormalizeUnicodeIterator;
691 
692     class UpperCaseIterator;
693 
694     class LowerCaseIterator;
695 
696     class TranslateIterator;
697 
698     class EncodeForUriIterator;
699 
700     class IriToUriIterator;
701 
702     class EscapeHtmlUriIterator;
703 
704     class ContainsIterator;
705 
706     class StartsWithIterator;
707 
708     class EndsWithIterator;
709 
710     class SubstringBeforeIterator;
711 
712     class SubstringAfterIterator;
713 
714     class FnMatchesIterator;
715 
716     class FnReplaceIterator;
717 
718     class FnTokenizeIterator;
719 
720     class FnAnalyzeStringIterator;
721 
722     class StringMaterializeIterator;
723 
724     class StringIsStreamableIterator;
725 
726     class StringSplitIterator;
727 
728     class DecodeURIIterator;
729 
730     class XQDocContentIterator;
731 
732 
733 #include "runtime/visitors/planiter_visitor_impl_include.h"
734 /**
735  * Visitor to visit a PlanIterator tree.
736  */
737 class PlanIterVisitor {
738 public:
~PlanIterVisitor()739   virtual ~PlanIterVisitor() {}
740 
741 #include "runtime/visitors/planiter_visitor_impl_code.h"
742     virtual void beginVisit ( const NodeNameIterator& ) = 0;
743     virtual void endVisit   ( const NodeNameIterator& ) = 0;
744 
745     virtual void beginVisit ( const NilledIterator& ) = 0;
746     virtual void endVisit   ( const NilledIterator& ) = 0;
747 
748     virtual void beginVisit ( const FnStringIterator& ) = 0;
749     virtual void endVisit   ( const FnStringIterator& ) = 0;
750 
751     virtual void beginVisit ( const FnDataIterator& ) = 0;
752     virtual void endVisit   ( const FnDataIterator& ) = 0;
753 
754     virtual void beginVisit ( const BaseUriIterator& ) = 0;
755     virtual void endVisit   ( const BaseUriIterator& ) = 0;
756 
757     virtual void beginVisit ( const DocumentUriIterator& ) = 0;
758     virtual void endVisit   ( const DocumentUriIterator& ) = 0;
759 
760     virtual void beginVisit ( const RootIterator& ) = 0;
761     virtual void endVisit   ( const RootIterator& ) = 0;
762 
763     virtual void beginVisit ( const ResolveUriIterator& ) = 0;
764     virtual void endVisit   ( const ResolveUriIterator& ) = 0;
765 
766     virtual void beginVisit ( const Base64DecodeIterator& ) = 0;
767     virtual void endVisit   ( const Base64DecodeIterator& ) = 0;
768 
769     virtual void beginVisit ( const Base64EncodeIterator& ) = 0;
770     virtual void endVisit   ( const Base64EncodeIterator& ) = 0;
771 
772     virtual void beginVisit ( const IsSameNodeIterator& ) = 0;
773     virtual void endVisit   ( const IsSameNodeIterator& ) = 0;
774 
775     virtual void beginVisit ( const NodeBeforeIterator& ) = 0;
776     virtual void endVisit   ( const NodeBeforeIterator& ) = 0;
777 
778     virtual void beginVisit ( const NodeAfterIterator& ) = 0;
779     virtual void endVisit   ( const NodeAfterIterator& ) = 0;
780 
781     virtual void beginVisit ( const ZorbaCreateCollectionIterator& ) = 0;
782     virtual void endVisit   ( const ZorbaCreateCollectionIterator& ) = 0;
783 
784     virtual void beginVisit ( const ZorbaDeleteCollectionIterator& ) = 0;
785     virtual void endVisit   ( const ZorbaDeleteCollectionIterator& ) = 0;
786 
787     virtual void beginVisit ( const IsAvailableCollectionIterator& ) = 0;
788     virtual void endVisit   ( const IsAvailableCollectionIterator& ) = 0;
789 
790     virtual void beginVisit ( const AvailableCollectionsIterator& ) = 0;
791     virtual void endVisit   ( const AvailableCollectionsIterator& ) = 0;
792 
793     virtual void beginVisit ( const FnCollectionIterator& ) = 0;
794     virtual void endVisit   ( const FnCollectionIterator& ) = 0;
795 
796     virtual void beginVisit ( const ZorbaCollectionIterator& ) = 0;
797     virtual void endVisit   ( const ZorbaCollectionIterator& ) = 0;
798 
799     virtual void beginVisit ( const ZorbaCollectionNameIterator& ) = 0;
800     virtual void endVisit   ( const ZorbaCollectionNameIterator& ) = 0;
801 
802     virtual void beginVisit ( const ZorbaIndexOfIterator& ) = 0;
803     virtual void endVisit   ( const ZorbaIndexOfIterator& ) = 0;
804 
805     virtual void beginVisit ( const ZorbaInsertNodesIterator& ) = 0;
806     virtual void endVisit   ( const ZorbaInsertNodesIterator& ) = 0;
807 
808     virtual void beginVisit ( const ZorbaInsertNodesFirstIterator& ) = 0;
809     virtual void endVisit   ( const ZorbaInsertNodesFirstIterator& ) = 0;
810 
811     virtual void beginVisit ( const ZorbaInsertNodesLastIterator& ) = 0;
812     virtual void endVisit   ( const ZorbaInsertNodesLastIterator& ) = 0;
813 
814     virtual void beginVisit ( const ZorbaInsertNodesBeforeIterator& ) = 0;
815     virtual void endVisit   ( const ZorbaInsertNodesBeforeIterator& ) = 0;
816 
817     virtual void beginVisit ( const ZorbaInsertNodesAfterIterator& ) = 0;
818     virtual void endVisit   ( const ZorbaInsertNodesAfterIterator& ) = 0;
819 
820     virtual void beginVisit ( const ZorbaApplyInsertNodesIterator& ) = 0;
821     virtual void endVisit   ( const ZorbaApplyInsertNodesIterator& ) = 0;
822 
823     virtual void beginVisit ( const ZorbaApplyInsertNodesFirstIterator& ) = 0;
824     virtual void endVisit   ( const ZorbaApplyInsertNodesFirstIterator& ) = 0;
825 
826     virtual void beginVisit ( const ZorbaApplyInsertNodesLastIterator& ) = 0;
827     virtual void endVisit   ( const ZorbaApplyInsertNodesLastIterator& ) = 0;
828 
829     virtual void beginVisit ( const ZorbaApplyInsertNodesBeforeIterator& ) = 0;
830     virtual void endVisit   ( const ZorbaApplyInsertNodesBeforeIterator& ) = 0;
831 
832     virtual void beginVisit ( const ZorbaApplyInsertNodesAfterIterator& ) = 0;
833     virtual void endVisit   ( const ZorbaApplyInsertNodesAfterIterator& ) = 0;
834 
835     virtual void beginVisit ( const ZorbaDeleteNodesIterator& ) = 0;
836     virtual void endVisit   ( const ZorbaDeleteNodesIterator& ) = 0;
837 
838     virtual void beginVisit ( const ZorbaDeleteNodesFirstIterator& ) = 0;
839     virtual void endVisit   ( const ZorbaDeleteNodesFirstIterator& ) = 0;
840 
841     virtual void beginVisit ( const ZorbaDeleteNodesLastIterator& ) = 0;
842     virtual void endVisit   ( const ZorbaDeleteNodesLastIterator& ) = 0;
843 
844     virtual void beginVisit ( const ZorbaTruncateCollectionIterator& ) = 0;
845     virtual void endVisit   ( const ZorbaTruncateCollectionIterator& ) = 0;
846 
847     virtual void beginVisit ( const IsAvailableIndexIterator& ) = 0;
848     virtual void endVisit   ( const IsAvailableIndexIterator& ) = 0;
849 
850     virtual void beginVisit ( const AvailableIndexesIterator& ) = 0;
851     virtual void endVisit   ( const AvailableIndexesIterator& ) = 0;
852 
853     virtual void beginVisit ( const IsActivatedICIterator& ) = 0;
854     virtual void endVisit   ( const IsActivatedICIterator& ) = 0;
855 
856     virtual void beginVisit ( const ActivatedICsIterator& ) = 0;
857     virtual void endVisit   ( const ActivatedICsIterator& ) = 0;
858 
859     virtual void beginVisit ( const IsDeclaredCollectionIterator& ) = 0;
860     virtual void endVisit   ( const IsDeclaredCollectionIterator& ) = 0;
861 
862     virtual void beginVisit ( const DeclaredCollectionsIterator& ) = 0;
863     virtual void endVisit   ( const DeclaredCollectionsIterator& ) = 0;
864 
865     virtual void beginVisit ( const IsDeclaredIndexIterator& ) = 0;
866     virtual void endVisit   ( const IsDeclaredIndexIterator& ) = 0;
867 
868     virtual void beginVisit ( const DeclaredIndexesIterator& ) = 0;
869     virtual void endVisit   ( const DeclaredIndexesIterator& ) = 0;
870 
871     virtual void beginVisit ( const IsDeclaredICIterator& ) = 0;
872     virtual void endVisit   ( const IsDeclaredICIterator& ) = 0;
873 
874     virtual void beginVisit ( const DeclaredICsIterator& ) = 0;
875     virtual void endVisit   ( const DeclaredICsIterator& ) = 0;
876 
877     virtual void beginVisit ( const FnURICollectionIterator& ) = 0;
878     virtual void endVisit   ( const FnURICollectionIterator& ) = 0;
879 
880     virtual void beginVisit ( const CurrentDateTimeIterator& ) = 0;
881     virtual void endVisit   ( const CurrentDateTimeIterator& ) = 0;
882 
883     virtual void beginVisit ( const CurrentDateIterator& ) = 0;
884     virtual void endVisit   ( const CurrentDateIterator& ) = 0;
885 
886     virtual void beginVisit ( const CurrentTimeIterator& ) = 0;
887     virtual void endVisit   ( const CurrentTimeIterator& ) = 0;
888 
889     virtual void beginVisit ( const ImplicitTimezoneIterator& ) = 0;
890     virtual void endVisit   ( const ImplicitTimezoneIterator& ) = 0;
891 
892     virtual void beginVisit ( const DefaultCollationIterator& ) = 0;
893     virtual void endVisit   ( const DefaultCollationIterator& ) = 0;
894 
895 #ifdef ZORBA_WITH_DEBUGGER
896     virtual void beginVisit ( const DebugIterator& ) = 0;
897     virtual void endVisit   ( const DebugIterator& ) = 0;
898 #endif
899     virtual void beginVisit ( const YearsFromDurationIterator& ) = 0;
900     virtual void endVisit   ( const YearsFromDurationIterator& ) = 0;
901 
902     virtual void beginVisit ( const MonthsFromDurationIterator& ) = 0;
903     virtual void endVisit   ( const MonthsFromDurationIterator& ) = 0;
904 
905     virtual void beginVisit ( const DaysFromDurationIterator& ) = 0;
906     virtual void endVisit   ( const DaysFromDurationIterator& ) = 0;
907 
908     virtual void beginVisit ( const HoursFromDurationIterator& ) = 0;
909     virtual void endVisit   ( const HoursFromDurationIterator& ) = 0;
910 
911     virtual void beginVisit ( const MinutesFromDurationIterator& ) = 0;
912     virtual void endVisit   ( const MinutesFromDurationIterator& ) = 0;
913 
914     virtual void beginVisit ( const SecondsFromDurationIterator& ) = 0;
915     virtual void endVisit   ( const SecondsFromDurationIterator& ) = 0;
916 
917     virtual void beginVisit ( const YearFromDatetimeIterator& ) = 0;
918     virtual void endVisit   ( const YearFromDatetimeIterator& ) = 0;
919 
920     virtual void beginVisit ( const MonthFromDatetimeIterator& ) = 0;
921     virtual void endVisit   ( const MonthFromDatetimeIterator& ) = 0;
922 
923     virtual void beginVisit ( const DayFromDatetimeIterator& ) = 0;
924     virtual void endVisit   ( const DayFromDatetimeIterator& ) = 0;
925 
926     virtual void beginVisit ( const HoursFromDatetimeIterator& ) = 0;
927     virtual void endVisit   ( const HoursFromDatetimeIterator& ) = 0;
928 
929     virtual void beginVisit ( const MinutesFromDatetimeIterator& ) = 0;
930     virtual void endVisit   ( const MinutesFromDatetimeIterator& ) = 0;
931 
932     virtual void beginVisit ( const SecondsFromDatetimeIterator& ) = 0;
933     virtual void endVisit   ( const SecondsFromDatetimeIterator& ) = 0;
934 
935     virtual void beginVisit ( const TimezoneFromDatetimeIterator& ) = 0;
936     virtual void endVisit   ( const TimezoneFromDatetimeIterator& ) = 0;
937 
938     virtual void beginVisit ( const YearFromDateIterator& ) = 0;
939     virtual void endVisit   ( const YearFromDateIterator& ) = 0;
940 
941     virtual void beginVisit ( const MonthFromDateIterator& ) = 0;
942     virtual void endVisit   ( const MonthFromDateIterator& ) = 0;
943 
944     virtual void beginVisit ( const DayFromDateIterator& ) = 0;
945     virtual void endVisit   ( const DayFromDateIterator& ) = 0;
946 
947     virtual void beginVisit ( const TimezoneFromDateIterator& ) = 0;
948     virtual void endVisit   ( const TimezoneFromDateIterator& ) = 0;
949 
950     virtual void beginVisit ( const HoursFromTimeIterator& ) = 0;
951     virtual void endVisit   ( const HoursFromTimeIterator& ) = 0;
952 
953     virtual void beginVisit ( const MinutesFromTimeIterator& ) = 0;
954     virtual void endVisit   ( const MinutesFromTimeIterator& ) = 0;
955 
956     virtual void beginVisit ( const SecondsFromTimeIterator& ) = 0;
957     virtual void endVisit   ( const SecondsFromTimeIterator& ) = 0;
958 
959     virtual void beginVisit ( const TimezoneFromTimeIterator& ) = 0;
960     virtual void endVisit   ( const TimezoneFromTimeIterator& ) = 0;
961 
962     virtual void beginVisit ( const ErrorIterator& ) = 0;
963     virtual void endVisit   ( const ErrorIterator& ) = 0;
964 
965     virtual void beginVisit ( const TraceIterator& ) = 0;
966     virtual void endVisit   ( const TraceIterator& ) = 0;
967 
968     virtual void beginVisit ( const ReadLineIterator& ) = 0;
969     virtual void endVisit   ( const ReadLineIterator& ) = 0;
970 
971     virtual void beginVisit ( const PrintIterator& ) = 0;
972     virtual void endVisit   ( const PrintIterator& ) = 0;
973 
974     virtual void beginVisit ( const FunctionTraceIterator& ) = 0;
975     virtual void endVisit   ( const FunctionTraceIterator& ) = 0;
976 
977     virtual void beginVisit ( const FetchContentIterator& ) = 0;
978     virtual void endVisit   ( const FetchContentIterator& ) = 0;
979 
980     virtual void beginVisit ( const FetchContentBinaryIterator& ) = 0;
981     virtual void endVisit   ( const FetchContentBinaryIterator& ) = 0;
982 
983     virtual void beginVisit ( const FetchContentTypeIterator& ) = 0;
984     virtual void endVisit   ( const FetchContentTypeIterator& ) = 0;
985 
986     virtual void beginVisit ( const FnPutIterator& ) = 0;
987     virtual void endVisit   ( const FnPutIterator& ) = 0;
988 
989 #ifndef ZORBA_NO_FULL_TEXT
990     virtual void beginVisit ( const CurrentCompareOptionsIterator& ) = 0;
991     virtual void endVisit   ( const CurrentCompareOptionsIterator& ) = 0;
992 #endif
993 #ifndef ZORBA_NO_FULL_TEXT
994     virtual void beginVisit ( const CurrentLangIterator& ) = 0;
995     virtual void endVisit   ( const CurrentLangIterator& ) = 0;
996 #endif
997 #ifndef ZORBA_NO_FULL_TEXT
998     virtual void beginVisit ( const HostLangIterator& ) = 0;
999     virtual void endVisit   ( const HostLangIterator& ) = 0;
1000 #endif
1001 #ifndef ZORBA_NO_FULL_TEXT
1002     virtual void beginVisit ( const IsStemLangSupportedIterator& ) = 0;
1003     virtual void endVisit   ( const IsStemLangSupportedIterator& ) = 0;
1004 #endif
1005 #ifndef ZORBA_NO_FULL_TEXT
1006     virtual void beginVisit ( const IsStopWordIterator& ) = 0;
1007     virtual void endVisit   ( const IsStopWordIterator& ) = 0;
1008 #endif
1009 #ifndef ZORBA_NO_FULL_TEXT
1010     virtual void beginVisit ( const IsStopWordLangSupportedIterator& ) = 0;
1011     virtual void endVisit   ( const IsStopWordLangSupportedIterator& ) = 0;
1012 #endif
1013 #ifndef ZORBA_NO_FULL_TEXT
1014     virtual void beginVisit ( const IsThesaurusLangSupportedIterator& ) = 0;
1015     virtual void endVisit   ( const IsThesaurusLangSupportedIterator& ) = 0;
1016 #endif
1017 #ifndef ZORBA_NO_FULL_TEXT
1018     virtual void beginVisit ( const IsTokenizerLangSupportedIterator& ) = 0;
1019     virtual void endVisit   ( const IsTokenizerLangSupportedIterator& ) = 0;
1020 #endif
1021 #ifndef ZORBA_NO_FULL_TEXT
1022     virtual void beginVisit ( const StemIterator& ) = 0;
1023     virtual void endVisit   ( const StemIterator& ) = 0;
1024 #endif
1025 #ifndef ZORBA_NO_FULL_TEXT
1026     virtual void beginVisit ( const StripDiacriticsIterator& ) = 0;
1027     virtual void endVisit   ( const StripDiacriticsIterator& ) = 0;
1028 #endif
1029 #ifndef ZORBA_NO_FULL_TEXT
1030     virtual void beginVisit ( const ThesaurusLookupIterator& ) = 0;
1031     virtual void endVisit   ( const ThesaurusLookupIterator& ) = 0;
1032 #endif
1033 #ifndef ZORBA_NO_FULL_TEXT
1034     virtual void beginVisit ( const TokenizeNodeIterator& ) = 0;
1035     virtual void endVisit   ( const TokenizeNodeIterator& ) = 0;
1036 #endif
1037 #ifndef ZORBA_NO_FULL_TEXT
1038     virtual void beginVisit ( const TokenizeNodesIterator& ) = 0;
1039     virtual void endVisit   ( const TokenizeNodesIterator& ) = 0;
1040 #endif
1041 #ifndef ZORBA_NO_FULL_TEXT
1042     virtual void beginVisit ( const TokenizerPropertiesIterator& ) = 0;
1043     virtual void endVisit   ( const TokenizerPropertiesIterator& ) = 0;
1044 #endif
1045 #ifndef ZORBA_NO_FULL_TEXT
1046     virtual void beginVisit ( const TokenizeStringIterator& ) = 0;
1047     virtual void endVisit   ( const TokenizeStringIterator& ) = 0;
1048 #endif
1049     virtual void beginVisit ( const FunctionNameIterator& ) = 0;
1050     virtual void endVisit   ( const FunctionNameIterator& ) = 0;
1051 
1052     virtual void beginVisit ( const FunctionArityIterator& ) = 0;
1053     virtual void endVisit   ( const FunctionArityIterator& ) = 0;
1054 
1055     virtual void beginVisit ( const PartialApplyIterator& ) = 0;
1056     virtual void endVisit   ( const PartialApplyIterator& ) = 0;
1057 
1058     virtual void beginVisit ( const ActivateICIterator& ) = 0;
1059     virtual void endVisit   ( const ActivateICIterator& ) = 0;
1060 
1061     virtual void beginVisit ( const DeactivateICIterator& ) = 0;
1062     virtual void endVisit   ( const DeactivateICIterator& ) = 0;
1063 
1064     virtual void beginVisit ( const CheckICIterator& ) = 0;
1065     virtual void endVisit   ( const CheckICIterator& ) = 0;
1066 
1067     virtual void beginVisit ( const IndexKeysIterator& ) = 0;
1068     virtual void endVisit   ( const IndexKeysIterator& ) = 0;
1069 
1070     virtual void beginVisit ( const StaticNamespacesIterator& ) = 0;
1071     virtual void endVisit   ( const StaticNamespacesIterator& ) = 0;
1072 
1073     virtual void beginVisit ( const DefaultFunctionNamespaceIterator& ) = 0;
1074     virtual void endVisit   ( const DefaultFunctionNamespaceIterator& ) = 0;
1075 
1076     virtual void beginVisit ( const SctxBaseUriIterator& ) = 0;
1077     virtual void endVisit   ( const SctxBaseUriIterator& ) = 0;
1078 
1079     virtual void beginVisit ( const SctxDefaultCollationIterator& ) = 0;
1080     virtual void endVisit   ( const SctxDefaultCollationIterator& ) = 0;
1081 
1082     virtual void beginVisit ( const StaticNamespaceBindingIterator& ) = 0;
1083     virtual void endVisit   ( const StaticNamespaceBindingIterator& ) = 0;
1084 
1085     virtual void beginVisit ( const InscopeVariablesIterator& ) = 0;
1086     virtual void endVisit   ( const InscopeVariablesIterator& ) = 0;
1087 
1088     virtual void beginVisit ( const DefaultCollectionTypeIterator& ) = 0;
1089     virtual void endVisit   ( const DefaultCollectionTypeIterator& ) = 0;
1090 
1091     virtual void beginVisit ( const XPath10CompatModeIterator& ) = 0;
1092     virtual void endVisit   ( const XPath10CompatModeIterator& ) = 0;
1093 
1094     virtual void beginVisit ( const StaticallyKnownDocumentsIterator& ) = 0;
1095     virtual void endVisit   ( const StaticallyKnownDocumentsIterator& ) = 0;
1096 
1097     virtual void beginVisit ( const StaticallyKnownDocumentTypeIterator& ) = 0;
1098     virtual void endVisit   ( const StaticallyKnownDocumentTypeIterator& ) = 0;
1099 
1100     virtual void beginVisit ( const StaticallyKnownCollationsIterator& ) = 0;
1101     virtual void endVisit   ( const StaticallyKnownCollationsIterator& ) = 0;
1102 
1103     virtual void beginVisit ( const ConstructionModeIterator& ) = 0;
1104     virtual void endVisit   ( const ConstructionModeIterator& ) = 0;
1105 
1106     virtual void beginVisit ( const OrderingModeIterator& ) = 0;
1107     virtual void endVisit   ( const OrderingModeIterator& ) = 0;
1108 
1109     virtual void beginVisit ( const DefaultOrderIterator& ) = 0;
1110     virtual void endVisit   ( const DefaultOrderIterator& ) = 0;
1111 
1112     virtual void beginVisit ( const BoundarySpacePolicyIterator& ) = 0;
1113     virtual void endVisit   ( const BoundarySpacePolicyIterator& ) = 0;
1114 
1115     virtual void beginVisit ( const CopyNamespacesModeIterator& ) = 0;
1116     virtual void endVisit   ( const CopyNamespacesModeIterator& ) = 0;
1117 
1118     virtual void beginVisit ( const FunctionNamesIterator& ) = 0;
1119     virtual void endVisit   ( const FunctionNamesIterator& ) = 0;
1120 
1121     virtual void beginVisit ( const FunctionArgumentsCountIterator& ) = 0;
1122     virtual void endVisit   ( const FunctionArgumentsCountIterator& ) = 0;
1123 
1124     virtual void beginVisit ( const InScopeSchemaTypesIterator& ) = 0;
1125     virtual void endVisit   ( const InScopeSchemaTypesIterator& ) = 0;
1126 
1127     virtual void beginVisit ( const InScopeElementDeclarationsIterator& ) = 0;
1128     virtual void endVisit   ( const InScopeElementDeclarationsIterator& ) = 0;
1129 
1130     virtual void beginVisit ( const InScopeAttributeDeclarationsIterator& ) = 0;
1131     virtual void endVisit   ( const InScopeAttributeDeclarationsIterator& ) = 0;
1132 
1133     virtual void beginVisit ( const InScopeElementGroupsIterator& ) = 0;
1134     virtual void endVisit   ( const InScopeElementGroupsIterator& ) = 0;
1135 
1136     virtual void beginVisit ( const InScopeAttributeGroupsIterator& ) = 0;
1137     virtual void endVisit   ( const InScopeAttributeGroupsIterator& ) = 0;
1138 
1139     virtual void beginVisit ( const OptionIterator& ) = 0;
1140     virtual void endVisit   ( const OptionIterator& ) = 0;
1141 
1142     virtual void beginVisit ( const FunctionAnnotationsIterator& ) = 0;
1143     virtual void endVisit   ( const FunctionAnnotationsIterator& ) = 0;
1144 
1145     virtual void beginVisit ( const JSONParseInternal& ) = 0;
1146     virtual void endVisit   ( const JSONParseInternal& ) = 0;
1147 
1148     virtual void beginVisit ( const JSONSerializeInternal& ) = 0;
1149     virtual void endVisit   ( const JSONSerializeInternal& ) = 0;
1150 
1151 #ifdef ZORBA_WITH_JSON
1152     virtual void beginVisit ( const JSONDecodeFromRoundtripIterator& ) = 0;
1153     virtual void endVisit   ( const JSONDecodeFromRoundtripIterator& ) = 0;
1154 #endif
1155 #ifdef ZORBA_WITH_JSON
1156     virtual void beginVisit ( const JSONEncodeForRoundtripIterator& ) = 0;
1157     virtual void endVisit   ( const JSONEncodeForRoundtripIterator& ) = 0;
1158 #endif
1159 #ifdef ZORBA_WITH_JSON
1160     virtual void beginVisit ( const JSONParseIterator& ) = 0;
1161     virtual void endVisit   ( const JSONParseIterator& ) = 0;
1162 #endif
1163 #ifdef ZORBA_WITH_JSON
1164     virtual void beginVisit ( const JSONObjectNamesIterator& ) = 0;
1165     virtual void endVisit   ( const JSONObjectNamesIterator& ) = 0;
1166 #endif
1167 #ifdef ZORBA_WITH_JSON
1168     virtual void beginVisit ( const JSONObjectValueIterator& ) = 0;
1169     virtual void endVisit   ( const JSONObjectValueIterator& ) = 0;
1170 #endif
1171 #ifdef ZORBA_WITH_JSON
1172     virtual void beginVisit ( const JSONObjectProjectIterator& ) = 0;
1173     virtual void endVisit   ( const JSONObjectProjectIterator& ) = 0;
1174 #endif
1175 #ifdef ZORBA_WITH_JSON
1176     virtual void beginVisit ( const JSONArraySizeIterator& ) = 0;
1177     virtual void endVisit   ( const JSONArraySizeIterator& ) = 0;
1178 #endif
1179 #ifdef ZORBA_WITH_JSON
1180     virtual void beginVisit ( const JSONArrayMemberIterator& ) = 0;
1181     virtual void endVisit   ( const JSONArrayMemberIterator& ) = 0;
1182 #endif
1183 #ifdef ZORBA_WITH_JSON
1184     virtual void beginVisit ( const JSONArrayMembersIterator& ) = 0;
1185     virtual void endVisit   ( const JSONArrayMembersIterator& ) = 0;
1186 #endif
1187 #ifdef ZORBA_WITH_JSON
1188     virtual void beginVisit ( const JSONArrayFlattenIterator& ) = 0;
1189     virtual void endVisit   ( const JSONArrayFlattenIterator& ) = 0;
1190 #endif
1191 #ifdef ZORBA_WITH_JSON
1192     virtual void beginVisit ( const JSONItemAccessorIterator& ) = 0;
1193     virtual void endVisit   ( const JSONItemAccessorIterator& ) = 0;
1194 #endif
1195 #ifdef ZORBA_WITH_JSON
1196     virtual void beginVisit ( const JSONNullIterator& ) = 0;
1197     virtual void endVisit   ( const JSONNullIterator& ) = 0;
1198 #endif
1199 #ifdef ZORBA_WITH_JSON
1200     virtual void beginVisit ( const JSONIsNullIterator& ) = 0;
1201     virtual void endVisit   ( const JSONIsNullIterator& ) = 0;
1202 #endif
1203 #ifdef ZORBA_WITH_JSON
1204     virtual void beginVisit ( const JSONObjectInsertIterator& ) = 0;
1205     virtual void endVisit   ( const JSONObjectInsertIterator& ) = 0;
1206 #endif
1207 #ifdef ZORBA_WITH_JSON
1208     virtual void beginVisit ( const JSONArrayInsertIterator& ) = 0;
1209     virtual void endVisit   ( const JSONArrayInsertIterator& ) = 0;
1210 #endif
1211 #ifdef ZORBA_WITH_JSON
1212     virtual void beginVisit ( const JSONDeleteIterator& ) = 0;
1213     virtual void endVisit   ( const JSONDeleteIterator& ) = 0;
1214 #endif
1215 #ifdef ZORBA_WITH_JSON
1216     virtual void beginVisit ( const JSONReplaceValueIterator& ) = 0;
1217     virtual void endVisit   ( const JSONReplaceValueIterator& ) = 0;
1218 #endif
1219 #ifdef ZORBA_WITH_JSON
1220     virtual void beginVisit ( const JSONRenameIterator& ) = 0;
1221     virtual void endVisit   ( const JSONRenameIterator& ) = 0;
1222 #endif
1223 #ifdef ZORBA_WITH_JSON
1224     virtual void beginVisit ( const JSONArrayAppendIterator& ) = 0;
1225     virtual void endVisit   ( const JSONArrayAppendIterator& ) = 0;
1226 #endif
1227 #ifdef ZORBA_WITH_JSON
1228     virtual void beginVisit ( const JSONBoxIterator& ) = 0;
1229     virtual void endVisit   ( const JSONBoxIterator& ) = 0;
1230 #endif
1231     virtual void beginVisit ( const SqrtIterator& ) = 0;
1232     virtual void endVisit   ( const SqrtIterator& ) = 0;
1233 
1234     virtual void beginVisit ( const ExpIterator& ) = 0;
1235     virtual void endVisit   ( const ExpIterator& ) = 0;
1236 
1237     virtual void beginVisit ( const Exp10Iterator& ) = 0;
1238     virtual void endVisit   ( const Exp10Iterator& ) = 0;
1239 
1240     virtual void beginVisit ( const LogIterator& ) = 0;
1241     virtual void endVisit   ( const LogIterator& ) = 0;
1242 
1243     virtual void beginVisit ( const Log10Iterator& ) = 0;
1244     virtual void endVisit   ( const Log10Iterator& ) = 0;
1245 
1246     virtual void beginVisit ( const SinIterator& ) = 0;
1247     virtual void endVisit   ( const SinIterator& ) = 0;
1248 
1249     virtual void beginVisit ( const CosIterator& ) = 0;
1250     virtual void endVisit   ( const CosIterator& ) = 0;
1251 
1252     virtual void beginVisit ( const TanIterator& ) = 0;
1253     virtual void endVisit   ( const TanIterator& ) = 0;
1254 
1255     virtual void beginVisit ( const ArcSinIterator& ) = 0;
1256     virtual void endVisit   ( const ArcSinIterator& ) = 0;
1257 
1258     virtual void beginVisit ( const ArcCosIterator& ) = 0;
1259     virtual void endVisit   ( const ArcCosIterator& ) = 0;
1260 
1261     virtual void beginVisit ( const ArcTanIterator& ) = 0;
1262     virtual void endVisit   ( const ArcTanIterator& ) = 0;
1263 
1264     virtual void beginVisit ( const Atan2Iterator& ) = 0;
1265     virtual void endVisit   ( const Atan2Iterator& ) = 0;
1266 
1267     virtual void beginVisit ( const CoshIterator& ) = 0;
1268     virtual void endVisit   ( const CoshIterator& ) = 0;
1269 
1270     virtual void beginVisit ( const AcoshIterator& ) = 0;
1271     virtual void endVisit   ( const AcoshIterator& ) = 0;
1272 
1273     virtual void beginVisit ( const FmodIterator& ) = 0;
1274     virtual void endVisit   ( const FmodIterator& ) = 0;
1275 
1276     virtual void beginVisit ( const LdexpIterator& ) = 0;
1277     virtual void endVisit   ( const LdexpIterator& ) = 0;
1278 
1279     virtual void beginVisit ( const PowIterator& ) = 0;
1280     virtual void endVisit   ( const PowIterator& ) = 0;
1281 
1282     virtual void beginVisit ( const SinhIterator& ) = 0;
1283     virtual void endVisit   ( const SinhIterator& ) = 0;
1284 
1285     virtual void beginVisit ( const AsinhIterator& ) = 0;
1286     virtual void endVisit   ( const AsinhIterator& ) = 0;
1287 
1288     virtual void beginVisit ( const TanhIterator& ) = 0;
1289     virtual void endVisit   ( const TanhIterator& ) = 0;
1290 
1291     virtual void beginVisit ( const AtanhIterator& ) = 0;
1292     virtual void endVisit   ( const AtanhIterator& ) = 0;
1293 
1294     virtual void beginVisit ( const PiNumberIterator& ) = 0;
1295     virtual void endVisit   ( const PiNumberIterator& ) = 0;
1296 
1297     virtual void beginVisit ( const IsInfIterator& ) = 0;
1298     virtual void endVisit   ( const IsInfIterator& ) = 0;
1299 
1300     virtual void beginVisit ( const IsNaNIterator& ) = 0;
1301     virtual void endVisit   ( const IsNaNIterator& ) = 0;
1302 
1303     virtual void beginVisit ( const ModfIterator& ) = 0;
1304     virtual void endVisit   ( const ModfIterator& ) = 0;
1305 
1306     virtual void beginVisit ( const FrexpIterator& ) = 0;
1307     virtual void endVisit   ( const FrexpIterator& ) = 0;
1308 
1309     virtual void beginVisit ( const NodePositionIterator& ) = 0;
1310     virtual void endVisit   ( const NodePositionIterator& ) = 0;
1311 
1312     virtual void beginVisit ( const IsAncestorPositionIterator& ) = 0;
1313     virtual void endVisit   ( const IsAncestorPositionIterator& ) = 0;
1314 
1315     virtual void beginVisit ( const IsFollowingSiblingPositionIterator& ) = 0;
1316     virtual void endVisit   ( const IsFollowingSiblingPositionIterator& ) = 0;
1317 
1318     virtual void beginVisit ( const IsFollowingPositionIterator& ) = 0;
1319     virtual void endVisit   ( const IsFollowingPositionIterator& ) = 0;
1320 
1321     virtual void beginVisit ( const IsInSubtreeOfPositionIterator& ) = 0;
1322     virtual void endVisit   ( const IsInSubtreeOfPositionIterator& ) = 0;
1323 
1324     virtual void beginVisit ( const IsDescendantPositionIterator& ) = 0;
1325     virtual void endVisit   ( const IsDescendantPositionIterator& ) = 0;
1326 
1327     virtual void beginVisit ( const IsPrecedingSiblingPositionIterator& ) = 0;
1328     virtual void endVisit   ( const IsPrecedingSiblingPositionIterator& ) = 0;
1329 
1330     virtual void beginVisit ( const IsPrecedingPositionIterator& ) = 0;
1331     virtual void endVisit   ( const IsPrecedingPositionIterator& ) = 0;
1332 
1333     virtual void beginVisit ( const IsChildPositionIterator& ) = 0;
1334     virtual void endVisit   ( const IsChildPositionIterator& ) = 0;
1335 
1336     virtual void beginVisit ( const IsAttributeOfPositionIterator& ) = 0;
1337     virtual void endVisit   ( const IsAttributeOfPositionIterator& ) = 0;
1338 
1339     virtual void beginVisit ( const IsParentPositionIterator& ) = 0;
1340     virtual void endVisit   ( const IsParentPositionIterator& ) = 0;
1341 
1342     virtual void beginVisit ( const IsPrecedingInDocumentOrderPositionIterator& ) = 0;
1343     virtual void endVisit   ( const IsPrecedingInDocumentOrderPositionIterator& ) = 0;
1344 
1345     virtual void beginVisit ( const IsFollowingInDocumentOrderPositionIterator& ) = 0;
1346     virtual void endVisit   ( const IsFollowingInDocumentOrderPositionIterator& ) = 0;
1347 
1348     virtual void beginVisit ( const LevelPositionIterator& ) = 0;
1349     virtual void endVisit   ( const LevelPositionIterator& ) = 0;
1350 
1351     virtual void beginVisit ( const IsAttributePositionIterator& ) = 0;
1352     virtual void endVisit   ( const IsAttributePositionIterator& ) = 0;
1353 
1354     virtual void beginVisit ( const IsCommentPositionIterator& ) = 0;
1355     virtual void endVisit   ( const IsCommentPositionIterator& ) = 0;
1356 
1357     virtual void beginVisit ( const IsDocumentPositionIterator& ) = 0;
1358     virtual void endVisit   ( const IsDocumentPositionIterator& ) = 0;
1359 
1360     virtual void beginVisit ( const IsElementPositionIterator& ) = 0;
1361     virtual void endVisit   ( const IsElementPositionIterator& ) = 0;
1362 
1363     virtual void beginVisit ( const IsProcessingInstructionPositionIterator& ) = 0;
1364     virtual void endVisit   ( const IsProcessingInstructionPositionIterator& ) = 0;
1365 
1366     virtual void beginVisit ( const IsTextPositionIterator& ) = 0;
1367     virtual void endVisit   ( const IsTextPositionIterator& ) = 0;
1368 
1369     virtual void beginVisit ( const IsSiblingPositionIterator& ) = 0;
1370     virtual void endVisit   ( const IsSiblingPositionIterator& ) = 0;
1371 
1372     virtual void beginVisit ( const InSameTreePositionIterator& ) = 0;
1373     virtual void endVisit   ( const InSameTreePositionIterator& ) = 0;
1374 
1375     virtual void beginVisit ( const InCollectionPositionIterator& ) = 0;
1376     virtual void endVisit   ( const InCollectionPositionIterator& ) = 0;
1377 
1378     virtual void beginVisit ( const InSameCollectionPositionIterator& ) = 0;
1379     virtual void endVisit   ( const InSameCollectionPositionIterator& ) = 0;
1380 
1381     virtual void beginVisit ( const NodeReferenceIterator& ) = 0;
1382     virtual void endVisit   ( const NodeReferenceIterator& ) = 0;
1383 
1384     virtual void beginVisit ( const HasNodeReferenceIterator& ) = 0;
1385     virtual void endVisit   ( const HasNodeReferenceIterator& ) = 0;
1386 
1387     virtual void beginVisit ( const AssignNodeReferenceIterator& ) = 0;
1388     virtual void endVisit   ( const AssignNodeReferenceIterator& ) = 0;
1389 
1390     virtual void beginVisit ( const NodeByReferenceIterator& ) = 0;
1391     virtual void endVisit   ( const NodeByReferenceIterator& ) = 0;
1392 
1393     virtual void beginVisit ( const FnLocalNameIterator& ) = 0;
1394     virtual void endVisit   ( const FnLocalNameIterator& ) = 0;
1395 
1396     virtual void beginVisit ( const FnNamespaceUriIterator& ) = 0;
1397     virtual void endVisit   ( const FnNamespaceUriIterator& ) = 0;
1398 
1399     virtual void beginVisit ( const FnLangIterator& ) = 0;
1400     virtual void endVisit   ( const FnLangIterator& ) = 0;
1401 
1402     virtual void beginVisit ( const FnHasChildrenIterator& ) = 0;
1403     virtual void endVisit   ( const FnHasChildrenIterator& ) = 0;
1404 
1405     virtual void beginVisit ( const FnInnermostIterator& ) = 0;
1406     virtual void endVisit   ( const FnInnermostIterator& ) = 0;
1407 
1408     virtual void beginVisit ( const FnOutermostIterator& ) = 0;
1409     virtual void endVisit   ( const FnOutermostIterator& ) = 0;
1410 
1411     virtual void beginVisit ( const FnGenerateIdIterator& ) = 0;
1412     virtual void endVisit   ( const FnGenerateIdIterator& ) = 0;
1413 
1414     virtual void beginVisit ( const IsAncestorIterator& ) = 0;
1415     virtual void endVisit   ( const IsAncestorIterator& ) = 0;
1416 
1417     virtual void beginVisit ( const IsDescendantIterator& ) = 0;
1418     virtual void endVisit   ( const IsDescendantIterator& ) = 0;
1419 
1420     virtual void beginVisit ( const IsParentIterator& ) = 0;
1421     virtual void endVisit   ( const IsParentIterator& ) = 0;
1422 
1423     virtual void beginVisit ( const IsChildIterator& ) = 0;
1424     virtual void endVisit   ( const IsChildIterator& ) = 0;
1425 
1426     virtual void beginVisit ( const IsFollowingIterator& ) = 0;
1427     virtual void endVisit   ( const IsFollowingIterator& ) = 0;
1428 
1429     virtual void beginVisit ( const IsPrecedingIterator& ) = 0;
1430     virtual void endVisit   ( const IsPrecedingIterator& ) = 0;
1431 
1432     virtual void beginVisit ( const IsFollowingSiblingIterator& ) = 0;
1433     virtual void endVisit   ( const IsFollowingSiblingIterator& ) = 0;
1434 
1435     virtual void beginVisit ( const IsPrecedingSiblingIterator& ) = 0;
1436     virtual void endVisit   ( const IsPrecedingSiblingIterator& ) = 0;
1437 
1438     virtual void beginVisit ( const LevelIterator& ) = 0;
1439     virtual void endVisit   ( const LevelIterator& ) = 0;
1440 
1441     virtual void beginVisit ( const LeastCommonAncestor& ) = 0;
1442     virtual void endVisit   ( const LeastCommonAncestor& ) = 0;
1443 
1444     virtual void beginVisit ( const FnPathIterator& ) = 0;
1445     virtual void endVisit   ( const FnPathIterator& ) = 0;
1446 
1447     virtual void beginVisit ( const NodeCopyIterator& ) = 0;
1448     virtual void endVisit   ( const NodeCopyIterator& ) = 0;
1449 
1450     virtual void beginVisit ( const AbsIterator& ) = 0;
1451     virtual void endVisit   ( const AbsIterator& ) = 0;
1452 
1453     virtual void beginVisit ( const CeilingIterator& ) = 0;
1454     virtual void endVisit   ( const CeilingIterator& ) = 0;
1455 
1456     virtual void beginVisit ( const FloorIterator& ) = 0;
1457     virtual void endVisit   ( const FloorIterator& ) = 0;
1458 
1459     virtual void beginVisit ( const RoundIterator& ) = 0;
1460     virtual void endVisit   ( const RoundIterator& ) = 0;
1461 
1462     virtual void beginVisit ( const RoundHalfToEvenIterator& ) = 0;
1463     virtual void endVisit   ( const RoundHalfToEvenIterator& ) = 0;
1464 
1465     virtual void beginVisit ( const FormatNumberIterator& ) = 0;
1466     virtual void endVisit   ( const FormatNumberIterator& ) = 0;
1467 
1468     virtual void beginVisit ( const FormatIntegerIterator& ) = 0;
1469     virtual void endVisit   ( const FormatIntegerIterator& ) = 0;
1470 
1471     virtual void beginVisit ( const FnZorbaParseXmlFragmentIterator& ) = 0;
1472     virtual void endVisit   ( const FnZorbaParseXmlFragmentIterator& ) = 0;
1473 
1474     virtual void beginVisit ( const FnParseXmlFragmentIterator& ) = 0;
1475     virtual void endVisit   ( const FnParseXmlFragmentIterator& ) = 0;
1476 
1477     virtual void beginVisit ( const FnParseXmlIterator& ) = 0;
1478     virtual void endVisit   ( const FnParseXmlIterator& ) = 0;
1479 
1480     virtual void beginVisit ( const FnSerializeIterator& ) = 0;
1481     virtual void endVisit   ( const FnSerializeIterator& ) = 0;
1482 
1483     virtual void beginVisit ( const ResolveQNameIterator& ) = 0;
1484     virtual void endVisit   ( const ResolveQNameIterator& ) = 0;
1485 
1486     virtual void beginVisit ( const QNameIterator& ) = 0;
1487     virtual void endVisit   ( const QNameIterator& ) = 0;
1488 
1489     virtual void beginVisit ( const QNameEqualIterator& ) = 0;
1490     virtual void endVisit   ( const QNameEqualIterator& ) = 0;
1491 
1492     virtual void beginVisit ( const PrefixFromQNameIterator& ) = 0;
1493     virtual void endVisit   ( const PrefixFromQNameIterator& ) = 0;
1494 
1495     virtual void beginVisit ( const LocalNameFromQNameIterator& ) = 0;
1496     virtual void endVisit   ( const LocalNameFromQNameIterator& ) = 0;
1497 
1498     virtual void beginVisit ( const NamespaceUriFromQNameIterator& ) = 0;
1499     virtual void endVisit   ( const NamespaceUriFromQNameIterator& ) = 0;
1500 
1501     virtual void beginVisit ( const NamespaceUriForPrefixIterator& ) = 0;
1502     virtual void endVisit   ( const NamespaceUriForPrefixIterator& ) = 0;
1503 
1504     virtual void beginVisit ( const InScopePrefixesIterator& ) = 0;
1505     virtual void endVisit   ( const InScopePrefixesIterator& ) = 0;
1506 
1507     virtual void beginVisit ( const SeededRandomIterator& ) = 0;
1508     virtual void endVisit   ( const SeededRandomIterator& ) = 0;
1509 
1510     virtual void beginVisit ( const RandomIterator& ) = 0;
1511     virtual void endVisit   ( const RandomIterator& ) = 0;
1512 
1513     virtual void beginVisit ( const UuidIterator& ) = 0;
1514     virtual void endVisit   ( const UuidIterator& ) = 0;
1515 
1516 #ifndef ZORBA_NO_XMLSCHEMA
1517     virtual void beginVisit ( const ValidateIterator& ) = 0;
1518     virtual void endVisit   ( const ValidateIterator& ) = 0;
1519 #endif
1520     virtual void beginVisit ( const ZorbaValidateInPlaceIterator& ) = 0;
1521     virtual void endVisit   ( const ZorbaValidateInPlaceIterator& ) = 0;
1522 
1523     virtual void beginVisit ( const ZorbaSchemaTypeIterator& ) = 0;
1524     virtual void endVisit   ( const ZorbaSchemaTypeIterator& ) = 0;
1525 
1526     virtual void beginVisit ( const ZorbaIsValidatedIterator& ) = 0;
1527     virtual void endVisit   ( const ZorbaIsValidatedIterator& ) = 0;
1528 
1529     virtual void beginVisit ( const FnConcatIterator& ) = 0;
1530     virtual void endVisit   ( const FnConcatIterator& ) = 0;
1531 
1532     virtual void beginVisit ( const FnIndexOfIterator& ) = 0;
1533     virtual void endVisit   ( const FnIndexOfIterator& ) = 0;
1534 
1535     virtual void beginVisit ( const FnEmptyIterator& ) = 0;
1536     virtual void endVisit   ( const FnEmptyIterator& ) = 0;
1537 
1538     virtual void beginVisit ( const FnExistsIterator& ) = 0;
1539     virtual void endVisit   ( const FnExistsIterator& ) = 0;
1540 
1541     virtual void beginVisit ( const FnDistinctValuesIterator& ) = 0;
1542     virtual void endVisit   ( const FnDistinctValuesIterator& ) = 0;
1543 
1544     virtual void beginVisit ( const FnInsertBeforeIterator& ) = 0;
1545     virtual void endVisit   ( const FnInsertBeforeIterator& ) = 0;
1546 
1547     virtual void beginVisit ( const FnRemoveIterator& ) = 0;
1548     virtual void endVisit   ( const FnRemoveIterator& ) = 0;
1549 
1550     virtual void beginVisit ( const FnReverseIterator& ) = 0;
1551     virtual void endVisit   ( const FnReverseIterator& ) = 0;
1552 
1553     virtual void beginVisit ( const FnSubsequenceIterator& ) = 0;
1554     virtual void endVisit   ( const FnSubsequenceIterator& ) = 0;
1555 
1556     virtual void beginVisit ( const SubsequenceIntIterator& ) = 0;
1557     virtual void endVisit   ( const SubsequenceIntIterator& ) = 0;
1558 
1559     virtual void beginVisit ( const SequencePointAccessIterator& ) = 0;
1560     virtual void endVisit   ( const SequencePointAccessIterator& ) = 0;
1561 
1562     virtual void beginVisit ( const FnZeroOrOneIterator& ) = 0;
1563     virtual void endVisit   ( const FnZeroOrOneIterator& ) = 0;
1564 
1565     virtual void beginVisit ( const FnOneOrMoreIterator& ) = 0;
1566     virtual void endVisit   ( const FnOneOrMoreIterator& ) = 0;
1567 
1568     virtual void beginVisit ( const FnExactlyOneIterator& ) = 0;
1569     virtual void endVisit   ( const FnExactlyOneIterator& ) = 0;
1570 
1571     virtual void beginVisit ( const FnDeepEqualIterator& ) = 0;
1572     virtual void endVisit   ( const FnDeepEqualIterator& ) = 0;
1573 
1574     virtual void beginVisit ( const HashSemiJoinIterator& ) = 0;
1575     virtual void endVisit   ( const HashSemiJoinIterator& ) = 0;
1576 
1577     virtual void beginVisit ( const SortSemiJoinIterator& ) = 0;
1578     virtual void endVisit   ( const SortSemiJoinIterator& ) = 0;
1579 
1580     virtual void beginVisit ( const FnCountIterator& ) = 0;
1581     virtual void endVisit   ( const FnCountIterator& ) = 0;
1582 
1583     virtual void beginVisit ( const FnAvgIterator& ) = 0;
1584     virtual void endVisit   ( const FnAvgIterator& ) = 0;
1585 
1586     virtual void beginVisit ( const FnSumIterator& ) = 0;
1587     virtual void endVisit   ( const FnSumIterator& ) = 0;
1588 
1589     virtual void beginVisit ( const FnSumDoubleIterator& ) = 0;
1590     virtual void endVisit   ( const FnSumDoubleIterator& ) = 0;
1591 
1592     virtual void beginVisit ( const FnSumFloatIterator& ) = 0;
1593     virtual void endVisit   ( const FnSumFloatIterator& ) = 0;
1594 
1595     virtual void beginVisit ( const FnSumDecimalIterator& ) = 0;
1596     virtual void endVisit   ( const FnSumDecimalIterator& ) = 0;
1597 
1598     virtual void beginVisit ( const FnSumIntegerIterator& ) = 0;
1599     virtual void endVisit   ( const FnSumIntegerIterator& ) = 0;
1600 
1601     virtual void beginVisit ( const OpToIterator& ) = 0;
1602     virtual void endVisit   ( const OpToIterator& ) = 0;
1603 
1604     virtual void beginVisit ( const FnIdIterator& ) = 0;
1605     virtual void endVisit   ( const FnIdIterator& ) = 0;
1606 
1607     virtual void beginVisit ( const FnElementWithIdIterator& ) = 0;
1608     virtual void endVisit   ( const FnElementWithIdIterator& ) = 0;
1609 
1610     virtual void beginVisit ( const FnIdRefIterator& ) = 0;
1611     virtual void endVisit   ( const FnIdRefIterator& ) = 0;
1612 
1613     virtual void beginVisit ( const FnDocIterator& ) = 0;
1614     virtual void endVisit   ( const FnDocIterator& ) = 0;
1615 
1616     virtual void beginVisit ( const FnDocAvailableIterator& ) = 0;
1617     virtual void endVisit   ( const FnDocAvailableIterator& ) = 0;
1618 
1619     virtual void beginVisit ( const FnAvailableEnvironmentVariablesIterator& ) = 0;
1620     virtual void endVisit   ( const FnAvailableEnvironmentVariablesIterator& ) = 0;
1621 
1622     virtual void beginVisit ( const FnEnvironmentVariableIterator& ) = 0;
1623     virtual void endVisit   ( const FnEnvironmentVariableIterator& ) = 0;
1624 
1625     virtual void beginVisit ( const FnUnparsedTextIterator& ) = 0;
1626     virtual void endVisit   ( const FnUnparsedTextIterator& ) = 0;
1627 
1628     virtual void beginVisit ( const FnUnparsedTextAvailableIterator& ) = 0;
1629     virtual void endVisit   ( const FnUnparsedTextAvailableIterator& ) = 0;
1630 
1631     virtual void beginVisit ( const FnUnparsedTextLinesIterator& ) = 0;
1632     virtual void endVisit   ( const FnUnparsedTextLinesIterator& ) = 0;
1633 
1634     virtual void beginVisit ( const PutDocumentIterator& ) = 0;
1635     virtual void endVisit   ( const PutDocumentIterator& ) = 0;
1636 
1637     virtual void beginVisit ( const RemoveDocumentIterator& ) = 0;
1638     virtual void endVisit   ( const RemoveDocumentIterator& ) = 0;
1639 
1640     virtual void beginVisit ( const RetrieveDocumentIterator& ) = 0;
1641     virtual void endVisit   ( const RetrieveDocumentIterator& ) = 0;
1642 
1643     virtual void beginVisit ( const AvailableDocumentsIterator& ) = 0;
1644     virtual void endVisit   ( const AvailableDocumentsIterator& ) = 0;
1645 
1646     virtual void beginVisit ( const IsAvailableDocumentIterator& ) = 0;
1647     virtual void endVisit   ( const IsAvailableDocumentIterator& ) = 0;
1648 
1649     virtual void beginVisit ( const MapCreateIterator& ) = 0;
1650     virtual void endVisit   ( const MapCreateIterator& ) = 0;
1651 
1652     virtual void beginVisit ( const MapCreateTransientIterator& ) = 0;
1653     virtual void endVisit   ( const MapCreateTransientIterator& ) = 0;
1654 
1655     virtual void beginVisit ( const MapDestroyIterator& ) = 0;
1656     virtual void endVisit   ( const MapDestroyIterator& ) = 0;
1657 
1658     virtual void beginVisit ( const MapGetIterator& ) = 0;
1659     virtual void endVisit   ( const MapGetIterator& ) = 0;
1660 
1661     virtual void beginVisit ( const MapInsertIterator& ) = 0;
1662     virtual void endVisit   ( const MapInsertIterator& ) = 0;
1663 
1664     virtual void beginVisit ( const MapRemoveIterator& ) = 0;
1665     virtual void endVisit   ( const MapRemoveIterator& ) = 0;
1666 
1667     virtual void beginVisit ( const MapKeysIterator& ) = 0;
1668     virtual void endVisit   ( const MapKeysIterator& ) = 0;
1669 
1670     virtual void beginVisit ( const MapSizeIterator& ) = 0;
1671     virtual void endVisit   ( const MapSizeIterator& ) = 0;
1672 
1673     virtual void beginVisit ( const AvailableMapsIterator& ) = 0;
1674     virtual void endVisit   ( const AvailableMapsIterator& ) = 0;
1675 
1676     virtual void beginVisit ( const MapIsTransientIterator& ) = 0;
1677     virtual void endVisit   ( const MapIsTransientIterator& ) = 0;
1678 
1679     virtual void beginVisit ( const CodepointsToStringIterator& ) = 0;
1680     virtual void endVisit   ( const CodepointsToStringIterator& ) = 0;
1681 
1682     virtual void beginVisit ( const StringToCodepointsIterator& ) = 0;
1683     virtual void endVisit   ( const StringToCodepointsIterator& ) = 0;
1684 
1685     virtual void beginVisit ( const CompareStrIterator& ) = 0;
1686     virtual void endVisit   ( const CompareStrIterator& ) = 0;
1687 
1688     virtual void beginVisit ( const CodepointEqualIterator& ) = 0;
1689     virtual void endVisit   ( const CodepointEqualIterator& ) = 0;
1690 
1691     virtual void beginVisit ( const ConcatStrIterator& ) = 0;
1692     virtual void endVisit   ( const ConcatStrIterator& ) = 0;
1693 
1694     virtual void beginVisit ( const StringJoinIterator& ) = 0;
1695     virtual void endVisit   ( const StringJoinIterator& ) = 0;
1696 
1697     virtual void beginVisit ( const SubstringIterator& ) = 0;
1698     virtual void endVisit   ( const SubstringIterator& ) = 0;
1699 
1700     virtual void beginVisit ( const SubstringIntOptIterator& ) = 0;
1701     virtual void endVisit   ( const SubstringIntOptIterator& ) = 0;
1702 
1703     virtual void beginVisit ( const StringLengthIterator& ) = 0;
1704     virtual void endVisit   ( const StringLengthIterator& ) = 0;
1705 
1706     virtual void beginVisit ( const NormalizeSpaceIterator& ) = 0;
1707     virtual void endVisit   ( const NormalizeSpaceIterator& ) = 0;
1708 
1709     virtual void beginVisit ( const NormalizeUnicodeIterator& ) = 0;
1710     virtual void endVisit   ( const NormalizeUnicodeIterator& ) = 0;
1711 
1712     virtual void beginVisit ( const UpperCaseIterator& ) = 0;
1713     virtual void endVisit   ( const UpperCaseIterator& ) = 0;
1714 
1715     virtual void beginVisit ( const LowerCaseIterator& ) = 0;
1716     virtual void endVisit   ( const LowerCaseIterator& ) = 0;
1717 
1718     virtual void beginVisit ( const TranslateIterator& ) = 0;
1719     virtual void endVisit   ( const TranslateIterator& ) = 0;
1720 
1721     virtual void beginVisit ( const EncodeForUriIterator& ) = 0;
1722     virtual void endVisit   ( const EncodeForUriIterator& ) = 0;
1723 
1724     virtual void beginVisit ( const IriToUriIterator& ) = 0;
1725     virtual void endVisit   ( const IriToUriIterator& ) = 0;
1726 
1727     virtual void beginVisit ( const EscapeHtmlUriIterator& ) = 0;
1728     virtual void endVisit   ( const EscapeHtmlUriIterator& ) = 0;
1729 
1730     virtual void beginVisit ( const ContainsIterator& ) = 0;
1731     virtual void endVisit   ( const ContainsIterator& ) = 0;
1732 
1733     virtual void beginVisit ( const StartsWithIterator& ) = 0;
1734     virtual void endVisit   ( const StartsWithIterator& ) = 0;
1735 
1736     virtual void beginVisit ( const EndsWithIterator& ) = 0;
1737     virtual void endVisit   ( const EndsWithIterator& ) = 0;
1738 
1739     virtual void beginVisit ( const SubstringBeforeIterator& ) = 0;
1740     virtual void endVisit   ( const SubstringBeforeIterator& ) = 0;
1741 
1742     virtual void beginVisit ( const SubstringAfterIterator& ) = 0;
1743     virtual void endVisit   ( const SubstringAfterIterator& ) = 0;
1744 
1745     virtual void beginVisit ( const FnMatchesIterator& ) = 0;
1746     virtual void endVisit   ( const FnMatchesIterator& ) = 0;
1747 
1748     virtual void beginVisit ( const FnReplaceIterator& ) = 0;
1749     virtual void endVisit   ( const FnReplaceIterator& ) = 0;
1750 
1751     virtual void beginVisit ( const FnTokenizeIterator& ) = 0;
1752     virtual void endVisit   ( const FnTokenizeIterator& ) = 0;
1753 
1754     virtual void beginVisit ( const FnAnalyzeStringIterator& ) = 0;
1755     virtual void endVisit   ( const FnAnalyzeStringIterator& ) = 0;
1756 
1757     virtual void beginVisit ( const StringMaterializeIterator& ) = 0;
1758     virtual void endVisit   ( const StringMaterializeIterator& ) = 0;
1759 
1760     virtual void beginVisit ( const StringIsStreamableIterator& ) = 0;
1761     virtual void endVisit   ( const StringIsStreamableIterator& ) = 0;
1762 
1763     virtual void beginVisit ( const StringSplitIterator& ) = 0;
1764     virtual void endVisit   ( const StringSplitIterator& ) = 0;
1765 
1766     virtual void beginVisit ( const DecodeURIIterator& ) = 0;
1767     virtual void endVisit   ( const DecodeURIIterator& ) = 0;
1768 
1769     virtual void beginVisit ( const XQDocContentIterator& ) = 0;
1770     virtual void endVisit   ( const XQDocContentIterator& ) = 0;
1771 
1772   }; //class PlanIterVisitor
1773 } //namespace zorba
1774 
1775 #endif
1776 
1777