From: John S. <jp...@us...> - 2007-11-29 16:55:04
|
Update of /cvsroot/xqilla/xqilla/include/xqilla/context In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv3265/include/xqilla/context Modified Files: DynamicContext.hpp StaticContext.hpp URIResolver.hpp Log Message: Added methods to StaticContext to enable or disable document projection. It is on by default, unless generating the projection information finds that might not be safe. The user can override whether it is used or not at runtime. Index: DynamicContext.hpp =================================================================== RCS file: /cvsroot/xqilla/xqilla/include/xqilla/context/DynamicContext.hpp,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -d -r1.23 -r1.24 *** DynamicContext.hpp 28 Nov 2007 13:13:20 -0000 1.23 --- DynamicContext.hpp 29 Nov 2007 16:53:00 -0000 1.24 *************** *** 83,86 **** --- 83,90 ---- virtual void setImplicitTimezone(const ATDurationOrDerived::Ptr &timezoneAsDuration) = 0; + ///////////////////////////////////////// + // XQilla context specific accessors // + ///////////////////////////////////////// + /** Register a callback object for resolving URIs. Multiple URIResolver *************** *** 103,116 **** /** Parse an XML document from the provided InputSource */ virtual Node::Ptr parseDocument(XERCES_CPP_NAMESPACE_QUALIFIER InputSource &srcToUse, ! const LocationInfo *location = 0, const QPNVector *projection = 0) = 0; /** Resolve the given uri (and baseUri) to an XML document. If the uri is relative, the base uri is obtained from the context. */ virtual Sequence resolveDocument(const XMLCh* uri, const LocationInfo *location = 0, ! const QPNVector *projection = 0) = 0; /** Resolve the given uri (and baseUri) to a sequence of Node objects. If the uri is relative, the base uri is obtained from the context. */ virtual Sequence resolveCollection(const XMLCh* uri, const LocationInfo *location = 0, ! const QPNVector *projection = 0) = 0; ! virtual Sequence resolveDefaultCollection(const QPNVector *projection = 0) = 0; /** Create a new SequenceBuilder, which is used to turn a --- 107,120 ---- /** Parse an XML document from the provided InputSource */ virtual Node::Ptr parseDocument(XERCES_CPP_NAMESPACE_QUALIFIER InputSource &srcToUse, ! const LocationInfo *location = 0, const QueryPathNode *projection = 0) = 0; /** Resolve the given uri (and baseUri) to an XML document. If the uri is relative, the base uri is obtained from the context. */ virtual Sequence resolveDocument(const XMLCh* uri, const LocationInfo *location = 0, ! const QueryPathNode *projection = 0) = 0; /** Resolve the given uri (and baseUri) to a sequence of Node objects. If the uri is relative, the base uri is obtained from the context. */ virtual Sequence resolveCollection(const XMLCh* uri, const LocationInfo *location = 0, ! const QueryPathNode *projection = 0) = 0; ! virtual Sequence resolveDefaultCollection(const QueryPathNode *projection = 0) = 0; /** Create a new SequenceBuilder, which is used to turn a Index: StaticContext.hpp =================================================================== RCS file: /cvsroot/xqilla/xqilla/include/xqilla/context/StaticContext.hpp,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** StaticContext.hpp 28 Nov 2007 13:13:20 -0000 1.24 --- StaticContext.hpp 29 Nov 2007 16:53:00 -0000 1.25 *************** *** 228,231 **** --- 228,236 ---- ///////////////////////////////////////// + /** Gets whether document projection is enabled */ + virtual bool getProjection() const = 0; + /** Sets whether document projection is enabled */ + virtual void setProjection(bool enabled) = 0; + /** Return a unique name that can be used for a temporary variable */ virtual const XMLCh *allocateTempVarName() = 0; Index: URIResolver.hpp =================================================================== RCS file: /cvsroot/xqilla/xqilla/include/xqilla/context/URIResolver.hpp,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** URIResolver.hpp 28 Nov 2007 13:13:20 -0000 1.10 --- URIResolver.hpp 29 Nov 2007 16:53:00 -0000 1.11 *************** *** 23,27 **** #define _URIRESOLVER_HPP ! #include <xqilla/schema/DocumentCache.hpp> #include <xercesc/util/XMemory.hpp> --- 23,27 ---- #define _URIRESOLVER_HPP ! #include <xqilla/framework/XQillaExport.hpp> #include <xercesc/util/XMemory.hpp> *************** *** 29,32 **** --- 29,33 ---- class DynamicContext; class Sequence; + class QueryPathNode; /** *************** *** 42,54 **** is relative, the base uri can be obtained from the context. If the uri is not handled by this URIResolver, returns false, otherwise returns true. */ ! virtual bool resolveDocument(Sequence &result, const XMLCh* uri, DynamicContext *context, const QPNVector *projection) = 0; /* Resolve the given uri (and baseUri) to a Sequence (reference parameter). If the uri is relative, the base uri can be obtained from the context. If the uri is not handled by this URIResolver, returns false, otherwise returns true. */ ! virtual bool resolveCollection(Sequence &result, const XMLCh* uri, DynamicContext *context, const QPNVector *projection) = 0; /* Resolve the default collection. If it is not defined, returns false, otherwise returns true. */ ! virtual bool resolveDefaultCollection(Sequence &result, DynamicContext *context, const QPNVector *projection) = 0; }; #endif --- 43,55 ---- is relative, the base uri can be obtained from the context. If the uri is not handled by this URIResolver, returns false, otherwise returns true. */ ! virtual bool resolveDocument(Sequence &result, const XMLCh* uri, DynamicContext *context, const QueryPathNode *projection) = 0; /* Resolve the given uri (and baseUri) to a Sequence (reference parameter). If the uri is relative, the base uri can be obtained from the context. If the uri is not handled by this URIResolver, returns false, otherwise returns true. */ ! virtual bool resolveCollection(Sequence &result, const XMLCh* uri, DynamicContext *context, const QueryPathNode *projection) = 0; /* Resolve the default collection. If it is not defined, returns false, otherwise returns true. */ ! virtual bool resolveDefaultCollection(Sequence &result, DynamicContext *context, const QueryPathNode *projection) = 0; }; #endif |