/// <summary> /// Transactionally executes the index lookup operation specified by the configuration /// of the <see cref="XmlIndexLookup"/> object. /// </summary> /// <param name="transaction">The transaction to execute with.</param> /// <param name="context">The query context to execute under.</param> /// <returns> /// An <see cref="XmlResults"/> results set. /// </returns> /// <seealso cref="XmlResults"/> public XmlResults Execute(XmlTransaction transaction, QueryContext context) { return(null); }
/// <summary> /// Executes the index lookup operation specified by the configuration /// of the <see cref="XmlIndexLookup"/> object. /// </summary> /// <param name="transaction">The transaction to execute with.</param> /// <param name="context">The query context to execute under.</param> /// <param name="indexLookup">The index lookup options.</param> /// <returns> /// An <see cref="XmlResults"/> results set. /// </returns> /// <seealso cref="XmlResults"/> public XmlResults Execute(XmlTransaction transaction, QueryContext context, IndexLookupOptions indexLookup) { return(null); }
/// <summary> /// Resolve a document referenced in an XQuery query. /// </summary> /// <param name="txn">If a transaction is in force, a reference to the <see cref="XmlTransaction"/> object; otherwise, <c>null</c>.</param> /// <param name="mgr">The owning <see cref="XmlManager"/> object.</param> /// <param name="uri">The URI of the <see cref="XmlDocument"/> to resolve.</param> /// <returns>The referenced <see cref="XmlDocument"/>, or <c>null</c> if the resolver does not resolve to the particular reference.</returns> public abstract XmlDocument ResolveDocument(XmlTransaction txn, XmlManager mgr, string uri);
/// <summary> /// Resolve an external entity in an XQuery query. /// </summary> /// <param name="txn">If a transaction is in force, a reference to the <see cref="XmlTransaction"/> object; otherwise, <c>null</c>.</param> /// <param name="mgr">The owning <see cref="XmlManager"/> object.</param> /// <param name="systemId">The system ID of the referenced entity.</param> /// <param name="publicId">The public ID of the referenced entity.</param> /// <returns>The referenced entity, or <c>null</c> if the resolver does not resolve the particular reference.</returns> public abstract XmlInputStream ResolveEntity(XmlTransaction txn, XmlManager mgr, string systemId, string publicId);
/// <summary> /// Resolve schemas referenced in XQuery queries. /// </summary> /// <param name="txn">If a transaction is in force, a reference to the <see cref="XmlTransaction"/> object; otherwise, <c>null</c>.</param> /// <param name="mgr">The <see cref="XmlManager"/> object associated with the operation.</param> /// <param name="schemaLocation">The location of the resolved schema.</param> /// <param name="nameSpace">The namespace of the module(s) to resolve.</param> /// <returns>The <see cref="XmlInputStream"/> containing the referenced schema, or <c>null</c> if it does not resolve.</returns> public abstract XmlInputStream ResolveSchema(XmlTransaction txn, XmlManager mgr, string schemaLocation, string nameSpace);
/// <summary> /// Resolve a custom collection external to XQuery and the Figaro XML Database containers. /// </summary> /// <param name="txn">If a transaction is in force, a reference to the <see cref="XmlTransaction"/> object; otherwise, <c>null</c>.</param> /// <param name="mgr">The owning <see cref="XmlManager"/> object.</param> /// <param name="uri">The URI of the collection to resolve.</param> /// <param name="collection">The <see cref="XmlResults"/> object to add collection items to.</param> /// <returns><c>true</c> if the collection was successfully resolved.</returns> public abstract bool ResolveCollection(XmlTransaction txn, XmlManager mgr, string uri, XmlResults collection);
/// <summary> /// Resolve the XQuery module location(s) according to the <paramref name="nameSpace"/> /// </summary> /// <param name="txn">If a transaction is in force, a reference to the <see cref="XmlTransaction"/> object; otherwise, <c>null</c>.</param> /// <param name="mgr">The <see cref="XmlManager"/> object associated with the operation.</param> /// <param name="nameSpace">The namespace of the module(s) to resolve.</param> /// <param name="moduleLocations">The <see cref="XmlResults"/> object to store the location(s) of the XQuery module(s).s</param> /// <returns><c>true</c> if the resolver resolves the location(s); otherwise, <c>false</c> is returned.</returns> public abstract bool ResolveModuleLocation(XmlTransaction txn, XmlManager mgr, string nameSpace, XmlResults moduleLocations);
/// <summary> /// When implemented, should resolve a module location (URI) and namespace to a /// new <see cref="XmlInputStream"/>. If the location and namespace cannot be resolved by /// this resolver, this method should return <c>null</c>. /// </summary> /// <remarks> /// The <see cref="XmlInputStream"/> object will be deleted by the caller, and should not be reused. /// </remarks> /// <param name="txn">If a transaction is in force, a reference to the <see cref="XmlTransaction"/> object; otherwise, <c>null</c>.</param> /// <param name="mgr">The <see cref="XmlManager"/> object associated with the operation.</param> /// <param name="moduleLocation">The module location.</param> /// <param name="nameSpace">The module namespace.</param> /// <returns>an <see cref="XmlInputStream"/> instance containing the loaded XQuery module.</returns> public abstract XmlInputStream ResolveModule(XmlTransaction txn, XmlManager mgr, string moduleLocation, string nameSpace);
/// <summary> /// Resolve the URI, name and number of arguments to an <see cref="XmlExternalFunction"/> /// implementation. If the external function cannot be resolved by this /// <see cref="XQueryResolver"/>, then the method should return <c>null</c>. /// The returned <see cref="XmlExternalFunction"/> /// will be adopted by Figaro, and disposed of when it's been used. /// </summary> /// <remarks> /// <note type="caution"> /// If the resolver successfully locates the <see cref="XmlExternalFunction"/>, return a new instance /// of the <see cref="XmlExternalFunction"/> object. /// </note> /// </remarks> /// <param name="txn">If a transaction is in force, a reference to the <see cref="XmlTransaction"/> object; otherwise, <c>null</c>.</param> /// <param name="mgr">The <see cref="XmlManager"/> object associated with the operation.</param> /// <param name="uri">The URI of the function to resolve.</param> /// <param name="name">The XQuery function name.</param> /// <param name="numArgs">The number of XQuery function arguments.</param> /// <returns>A new <see cref="XmlExternalFunction"/> instance, or <c>null</c> if the function fails to resolve.</returns> public abstract XmlExternalFunction ResolveExternalFunction(XmlTransaction txn, XmlManager mgr, string uri, string name, ulong numArgs);
/// <summary> /// Evaluates (runs) an XQuery query that was previously prepared by /// <see cref="XmlManager.Prepare(string,QueryContext)"/> in a transaction. /// </summary> /// <param name="transaction">The transaction.</param> /// <param name="contextItem">The <see cref="XmlValue"/> object to perform the query against.</param> /// <param name="context">The <see cref="QueryContext"/> to use for this evaluation.</param> /// <param name="queryOptions">One or more options for querying containers.</param> /// <returns> /// An <see cref="XmlResults"/> set. /// </returns> /// <seealso cref="XmlValue"/> /// <seealso cref="QueryContext"/> /// <seealso cref="QueryOptions"/> /// <seealso cref="XmlResults"/> public XmlResults Execute(XmlTransaction transaction, XmlValue contextItem, QueryContext context, QueryOptions queryOptions) { return(null); }
/// <summary> /// This method is called from within XQuery to execute the function for which the instance was implemented. /// </summary> /// <param name="txn">The <see cref="XmlTransaction"/> in which the operation is running.</param> /// <param name="mgr">The <see cref="XmlManager"/> controlling the operation.</param> /// <param name="args"><see cref="XmlArguments"/> object that can be used to retrieve the arguments passed to the operation.</param> /// <returns>An <see cref="XmlResults"/> object used by the XQuery operation for further processing, or <c>null</c>.</returns> public abstract XmlResults Execute(XmlTransaction txn, XmlManager mgr, XmlArguments args);