# fn:collection - XPath XQuery Reference

Returns a sequence of items identified by a
            collection URI; or a default collection if no URI is supplied.deterministiccontext-dependentfocus-independentThis function takes an xs:string as argument and returns a sequence of
            items obtained by interpreting $arg as an xs:anyURI and
            resolving it according to the mapping specified in available 
               collections described in .If available collections provides a mapping from this string to a
            sequence of items, the function returns that sequence. If available 
               collections maps the string to an empty sequence, then the function returns an
            empty sequence.If $arg is not specified, the function returns the sequence of items in
            the default collection in the dynamic context. See . If the value of $arg is a relative xs:anyURI, it is resolved
            against the value of the base-URI property from the static context. If $arg is the empty sequence, the function behaves as if it had been
            called without an argument. See above.By default, this function is deterministic. This
            means that repeated calls on the function with the same argument will return the same
            result. However, for performance reasons, implementations may provide a user option to
            evaluate the function without a guarantee of determinism. The manner in which any such
            option is provided is implementation-defined. If the user has not
            selected such an option, a call to this function must either return a deterministic
            result or must raise a dynamic error .There is no requirement that any nodes in the result should be in document order, nor is
            there a requirement that the result should contain no duplicates.A dynamic error is raised  if no URI is supplied and
            the value of the default collection is absent.A dynamic error is raised  if a relative URI reference
            is supplied, and the base-URI property in the static context is absent.A dynamic error is raised  if available node
               collections provides no mapping for the absolutized URI.A dynamic error may be raised  if $arg is not
            a valid xs:anyURI.In earlier releases, the primary use for the fn:collection function
         was to retrieve a collection of XML documents, perhaps held as lexical XML in operating
         system filestore, or perhaps held in an XML database. In this release the concept has
         been generalised to allow other resources to be retrieved: for example JSON documents might
         be returned as arrays or maps, non-XML text files might be returned as strings, and binary
         files might be returned as instances of xs:base64Binary.The abstract concept of a collection might be realized in different ways by different
            implementations, and the ways in which URIs map to collections can be equally variable. 
            Specifying resources using URIs is
            useful because URIs are dynamic, can be parameterized, and do not rely on an external
            environment.