00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef _URIRESOLVER_HPP
00021 #define _URIRESOLVER_HPP
00022
00023 #include <xqilla/framework/XQillaExport.hpp>
00024 #include <xqilla/items/Node.hpp>
00025
00026 #include <xercesc/util/XMemory.hpp>
00027
00028 class DynamicContext;
00029 class Sequence;
00030 class QueryPathNode;
00031
00037 class XQILLA_API URIResolver : public XERCES_CPP_NAMESPACE_QUALIFIER XMemory
00038 {
00039 public:
00041 virtual ~URIResolver() {};
00042
00048 virtual bool resolveDocument(Sequence &result, const XMLCh* uri, DynamicContext *context, const QueryPathNode *projection) = 0;
00049
00055 virtual bool resolveCollection(Sequence &result, const XMLCh* uri, DynamicContext *context, const QueryPathNode *projection) = 0;
00056
00060 virtual bool resolveDefaultCollection(Sequence &result, DynamicContext *context, const QueryPathNode *projection) = 0;
00061
00069 virtual bool putDocument(const Node::Ptr &document, const XMLCh *uri, DynamicContext *context) = 0;
00070 };
00071 #endif