This package contains defines the two interfaces Watch and WatchMaker, and various implementations of these interfaces.
These classes are used internally by Saxon-EE to support streamed execution. None of these classes is intended for direct use by user applications.
A Watch is used on a streaming pipeline to recognize specific events, such as the start of a selected element, and to take action when these events occur. A WatchMaker is a factory class for creating a particular kind of Watch. The WatchManager is a class that sits on the Receiver pipeline keeping track of which Watches are active, and notifying them of events so that they can decide whether they are of interest.
Interface Summary Interface Description WatchA Watch represents a class that is interested in looking at nodes passing down a push pipeline. WatchMakerA WatchMaker is a factory class for creating a
Class Summary Class Description AbstractWatchA Watch represents a class that is interested in looking at nodes for the purpose of evaluating uniqueness and key constraints, or for XSLT streaming. AccumulatorWatchThis watch implements a single accumulator in streaming mode. ApplyImportsActionWatch for an xsl:apply-imports instruction. ApplyTemplatesActionThis watch implements xsl:apply-templates in streaming mode. ForEachActionThis watch implements xsl:for-each in streaming mode. ForEachGroupParallelActionThis watch implements xsl:for-each-group in streaming mode, in cases where the population is being forked (using group-by), and where the population is not grounded. ForEachGroupPartitionActionThis watch implements xsl:for-each-group in streaming mode, in cases where the population is being partitioned (that is, group-adjacent, group-starting-with, and group-ending-with), and where the population is not grounded. IterateActionThis watch implements xsl:iterate in streaming mode. MultiAccumulatorWatchThis watch managers a set of accumulators in streaming mode. NextMatchActionWatch for an xsl:next-match instruction. PatternWatchA Watch represents a class that is interested in looking at nodes for the purpose of evaluating uniqueness and key constraints, or for XSLT streaming; specifically, an implementation of Watch that retains a Pattern which is evaluated to see whether a particular node matches the Watch. StreamWatch TerminatorA Terminator provides a method that can be called to cause early termination of a streaming pass over an input document, in the case where no more information from the document is needed. TriggerA Trigger is a Watch that contains a pattern used for matching streamed nodes, and a WatchAction which is invoked when a matching node is found. WatchManagerThis class sits on a push pipeline and evaluates the passing element and attribute nodes. WatchManager.ClosedownAction WatchManager.GroupingScope