00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef _URIRESOLVER_HPP
00023 #define _URIRESOLVER_HPP
00024
00025 #include <xqilla/framework/XQillaExport.hpp>
00026 #include <xqilla/items/Node.hpp>
00027
00028 #include <xercesc/util/XMemory.hpp>
00029
00030 class DynamicContext;
00031 class Sequence;
00032 class QueryPathNode;
00033
00039 class XQILLA_API URIResolver : public XERCES_CPP_NAMESPACE_QUALIFIER XMemory
00040 {
00041 public:
00043 virtual ~URIResolver() {};
00044
00050 virtual bool resolveDocument(Sequence &result, const XMLCh* uri, DynamicContext *context, const QueryPathNode *projection) = 0;
00051
00057 virtual bool resolveCollection(Sequence &result, const XMLCh* uri, DynamicContext *context, const QueryPathNode *projection) = 0;
00058
00062 virtual bool resolveDefaultCollection(Sequence &result, DynamicContext *context, const QueryPathNode *projection) = 0;
00063
00071 virtual bool putDocument(const Node::Ptr &document, const XMLCh *uri, DynamicContext *context) = 0;
00072 };
00073 #endif