## Package com.saxonica.stream.watch

Interface Summary
Watch: A Watch represents a class that is interested in looking at nodes passing down a push pipeline.
WatchMaker: A WatchMaker is a factory class for creating a `Watch`.

Class Summary
ApplyImportsWatch: Watch for an xsl:apply-imports instruction.
ApplyTemplatesWatch: This watch implements xsl:apply-templates in streaming mode.
ComposingWatch: A ComposingWatch is a Watch that evaluates an expression based on the nodes encountered in a streamed input document, passing the value of that expression as a sequence of items to an ItemFeed.
CopyOfWatch: This class is used when optimizing a SequentialCopy, that is, when evaluating a construct of the form saxon:stream(doc('a.xml')/a/b/c).
CountWatch: This class is used when a streamed template requests evaluation of the count() function applied to a streamable pattern
EmptyWatch: Streaming watch supporting the empty() function
EventPushingWatch: A EvaluatingWatch is a Watch that evaluates an expression based on the nodes encountered in a streamed input document, appending the value of that expression to the Watch for the next expression in the streaming route.
ExistsWatch: Streaming watch supporting the exists() function
ForEachComposingWatch: This watch implements xsl:for-each in streaming mode, in the case where the select expression is a pattern that selects events from the streamed input, but the body of the for-each does no further downwards navigation, and delivers composed items to an ItemFeed acting as the parent expression of the for-each.
ForEachWatch: This watch implements xsl:for-each in streaming mode.
ForkingFeed: Watch for an xsl:fork instruction.
IterateWatch: This watch implements xsl:iterate in streaming mode.
NextMatchWatch: Watch for an xsl:next-match instruction.
NonstreamingExpressionWatch: This watch is used for a streamed template that makes no access to descendant nodes.
SimpleContentWatch: This class is used when a streaming template requests evaluation of a simple content constructor in streaming mode (that is, when it constructs a text, attribute, comment, or PI node based on the contents of the streamed document).
StringValueAccumulator: A StringValueAccumulator is a Receiver that computes the string value of an element in streaming mode, by copying all the text nodes to a supplied receiver.
StringValueWatch: This class is used when a streamed template requests evaluation of the string value of the nodes selected by a path expression, typically in response to an xsl:value-of instruction.
TypedValueWatch: This class is used when a streamed template requests evaluation of the typed value of the nodes selected by a path expression.
VoidWatch: This class is a Watch that always returns an empty sequence as its result.
VoidWatchMaker: A singleton WatchMaker that returns the singleton `VoidWatch`
WatchManager: This class sits on a push pipeline and evaluates the passing element and attribute nodes.

Copyright (c) 2004-2010 Saxonica Limited. All rights reserved.