## net.sf.saxon.functions
Class StandardCollectionURIResolver

    java.lang.Object
      net.sf.saxon.functions.StandardCollectionURIResolver

All Implemented Interfaces:
  CollectionURIResolver, MappingFunction, java.io.Serializable

public class StandardCollectionURIResolver
extends java.lang.Object
implements CollectionURIResolver, MappingFunction

This class implements the default collection URI Resolver.

This supports two implementations of collections. If the URI supplied uses the "file:/" scheme, and the file that is referenced is a directory, then the collection is the set of files in that directory. Query parameters may be included in the URI:

- recurse=yes|no controls whether the directory is scanned recursively;
- strip=yes|no determines whether whitespace text nodes are stripped from the selected documents;
- val=strict|lax|preserve|strip determines whether schema validation is applied;
- select=pattern determines which files in the directory are selected.
- onerror=fail|warn|ignore determines the action taken if processing of a file fails
- parser=qualified.class.name selects the parser (XMLReader) to be used to read the files

Otherwise, the resolver attempts to dereference the URI to obtain a catalog file. This is an XML file containing a list of documents, in the format:

`

     <collection>

     </collection>

`

See Also:
  Serialized Form

Constructor Summary
`StandardCollectionURIResolver()`

Method Summary
`java.lang.Object` `map(Item item, XPathContext context)` Map from doc elements in the catalogue document to nodes returned in the result
`SequenceIterator` `resolve(java.lang.String href, java.lang.String base, XPathContext context)` Resolve a URI.

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

Constructor Detail

### StandardCollectionURIResolver

    public StandardCollectionURIResolver()

Method Detail

### resolve

    public SequenceIterator resolve(java.lang.String href,
                                    java.lang.String base,
                                    XPathContext context)
                             throws XPathException

  Resolve a URI.

  Specified by:
    `resolve` in interface `CollectionURIResolver`
  Parameters:
    `href` - The relative URI of the collection. This corresponds to the argument supplied to the collection() function. If the collection() function was called with no arguments (to get the "default collection") this argument will be null.
    `base` - The base URI that should be used. This is the base URI of the static context in which the call to collection() was made, typically the URI of the stylesheet or query module
    `context` - The dynamic execution context
  Returns:
    an Iterator over the documents in the collection. The items returned by this iterator must implement the `NodeInfo` interface.

    If the URI is not recognized, the method may either return an empty iterator, in which case no error is reported, or it may throw an exception, in which case the query or transformation fails. Returning null has the same effect as returning an empty iterator.
  Throws:
    `XPathException`

### map

    public java.lang.Object map(Item item,
                                XPathContext context)
                         throws XPathException

  Map from doc elements in the catalogue document to nodes returned in the result

  Specified by:
    `map` in interface `MappingFunction`
  Parameters:
    `item` - A doc element in the catalogue document
    `context` - The dynamic evaluation context
  Returns:
    the document or element referenced by the @href attribute of the doc element in the catalogue
  Throws:
    `XPathException` - if the document cannot be retrieved or parsed, unless error recovery has been chosen.