## net.sf.saxon.functions
Class Collection

    java.lang.Object
      net.sf.saxon.expr.Expression
          net.sf.saxon.expr.FunctionCall
              net.sf.saxon.functions.SystemFunction
                  net.sf.saxon.functions.Collection

All Implemented Interfaces:
  Serializable, SourceLocator, LocationProvider, SaxonLocator, EvaluableItem, SequenceIterable, InstructionInfo, Locator

    public class Collection

extends SystemFunction

Implement the fn:collection() function. This is responsible for calling the registered `CollectionURIResolver`. For the effect of the default system-supplied CollectionURIResolver, see `StandardCollectionURIResolver`

See Also:
  Serialized Form

Field Summary

Fields inherited from class net.sf.saxon.functions.SystemFunction
`operation`

Fields inherited from class net.sf.saxon.expr.FunctionCall
`argument`

Fields inherited from class net.sf.saxon.expr.Expression
`EVALUATE_METHOD, EVENT_FEED_METHOD, ITEM_FEED_METHOD, ITERATE_METHOD, locationId, PROCESS_METHOD, PUSH_SELECTION, staticProperties, WATCH_METHOD`

Constructor Summary
`Collection()`

Method Summary
`PathMap.PathMapNodeSet` `addToPathMap(PathMap pathMap, PathMap.PathMapNodeSet pathMapNodeSet)` Add a representation of this expression to a PathMap.
`void` `checkArguments(ExpressionVisitor visitor)` Method called during static type checking
`int` `computeSpecialProperties()` Determine the special properties of this expression.
`static SequenceIterator` `getResolverResults(SequenceIterator iter, String baseURI, XPathContext context, SourceLocator locator)` Return the results of iterating over the results returned by the CollectionURIResolver.
`String` `getStaticBaseURI()`
`SequenceIterator` `iterate(XPathContext context)` Iterate over the contents of the collection
`Expression` `preEvaluate(ExpressionVisitor visitor)` preEvaluate: this method suppresses compile-time evaluation by doing nothing

Methods inherited from class net.sf.saxon.functions.SystemFunction
`addContextDocumentArgument, addDocToPathMap, computeCardinality, copy, getDetails, getErrorCodeForTypeErrors, getImplementationMethod, getItemType, getRequiredType, makeSystemFunction, optimize, setDetails, useContextItemAsDefault`

Methods inherited from class net.sf.saxon.expr.FunctionCall
`addExternalFunctionCallToPathMap, checkArgumentCount, equals, explain, getArguments, getDisplayName, getExpressionName, getFunctionName, getNumberOfArguments, hashCode, iterateSubExpressions, promote, replaceSubExpression, setArguments, setFunctionName, simplify, simplifyArguments, toString, typeCheck`

Methods inherited from class net.sf.saxon.expr.Expression

`adoptChildExpression, checkForUpdatingSubexpressions, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, dynamicError, effectiveBooleanValue, evaluateAsString, evaluateItem, evaluatePendingUpdates, explain, getCardinality, getColumnNumber, getColumnNumber, getConstructType, getContainer, getDependencies, getEvaluationMethod, getExecutable, getHostLanguage, getIntrinsicDependencies, getLineNumber, getLineNumber, getLocationId, getLocationProvider, getObjectName, getProperties, getProperty, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, getSystemId, hasLoopingSubexpression, implementsStaticTypeCheck, isSubtreeExpression, isUpdatingExpression, isVacuousExpression, iterateEvents, iterateSameFocusSubExpressions, markTailFunctionCalls, process, resetLocalStaticProperties, setContainer, setEvaluationMethod, setFiltered, setFlattened, setLocationId, staticTypeCheck, suppressValidation, typeError`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Constructor Detail

### Collection

    public Collection()

Method Detail

### getStaticBaseURI

    public String getStaticBaseURI()

### checkArguments

    public void checkArguments(ExpressionVisitor visitor)
                        throws XPathException

  Description copied from class: `SystemFunction`
  Method called during static type checking

  Overrides:
    `checkArguments` in class `SystemFunction`
  Parameters:
    `visitor` - the expression visitor
  Throws:
    `XPathException`

### computeSpecialProperties

    public int computeSpecialProperties()

  Description copied from class: `SystemFunction`
  Determine the special properties of this expression. The general rule is that a system function call is non-creative if its return type is atomic, or if all its arguments are non-creative. This is overridden for the generate-id() function, which is considered creative if its operand is creative (because the result depends on the identity of the operand)

  Overrides:
    `computeSpecialProperties` in class `SystemFunction`
  Returns:
    the special properties, as a bit-significant integer

### preEvaluate

    public Expression preEvaluate(ExpressionVisitor visitor)

  preEvaluate: this method suppresses compile-time evaluation by doing nothing

  Overrides:
    `preEvaluate` in class `FunctionCall`
  Parameters:
    `visitor` - an expression visitor
  Returns:
    the result of the early evaluation, or the original expression, or potentially a simplified expression

### addToPathMap

    public PathMap.PathMapNodeSet addToPathMap(PathMap pathMap,
                                               PathMap.PathMapNodeSet pathMapNodeSet)

  Add a representation of this expression to a PathMap. The PathMap captures a map of the nodes visited by an expression in a source tree.

  Overrides:
    `addToPathMap` in class `Expression`
  Parameters:
    `pathMap` - the PathMap to which the expression should be added
    `pathMapNodeSet` -
  Returns:
    the pathMapNode representing the focus established by this expression, in the case where this expression is the first operand of a path expression or filter expression

### iterate

    public SequenceIterator iterate(XPathContext context)
                             throws XPathException

  Iterate over the contents of the collection

  Specified by:
    `iterate` in interface `SequenceIterable`
  Overrides:
    `iterate` in class `Expression`
  Parameters:
    `context` - the dynamic context
  Returns:
    an iterator, whose items will always be nodes (typically but not necessarily document nodes)
  Throws:
    `XPathException`

### getResolverResults

    public static SequenceIterator getResolverResults(SequenceIterator iter,
                                                      String baseURI,
                                                      XPathContext context,
                                                      SourceLocator locator)

  Return the results of iterating over the results returned by the CollectionURIResolver.

  Note, this method is called by generated code

  Parameters:
    `iter` - iterator over the results of the CollectionURIResolver
    `baseURI` - the base URI
    `context` - the dynamic context
    `locator` - location of the instruction
  Returns:
    an iterator over the documents in the collection.

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