2020-02-17 22:19:57 +01:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
< html > < head > < meta http-equiv = "Content-Type" content = "text/html;charset=iso-8859-1" >
< title > XQilla Simple API Documentation< / title >
< link href = "doxygen.css" rel = "stylesheet" type = "text/css" >
< link href = "tabs.css" rel = "stylesheet" type = "text/css" >
< / head > < body >
< a style = "float:right;" href = "http://sourceforge.net/projects/xqilla" > < img src = "http://sflogo.sourceforge.net/sflogo.php?group_id=152021&type=2" border = "0" alt = "SourceForge.net Logo" / > < / a >
<!-- Generated by Doxygen 1.6.1 -->
< div class = "navigation" id = "top" >
< div class = "tabs" >
< ul >
< li > < a href = "index.html" > < span > Main Page< / span > < / a > < / li >
< li > < a href = "namespaces.html" > < span > Namespaces< / span > < / a > < / li >
< li > < a href = "annotated.html" > < span > Classes< / span > < / a > < / li >
< li class = "current" > < a href = "files.html" > < span > Files< / span > < / a > < / li >
< li > < a href = "examples.html" > < span > Examples< / span > < / a > < / li >
< / ul >
< / div >
< div class = "tabs" >
< ul >
< li > < a href = "files.html" > < span > File List< / span > < / a > < / li >
< li > < a href = "globals.html" > < span > File Members< / span > < / a > < / li >
< / ul >
< / div >
< h1 > XQQuery.hpp< / h1 > < a href = "XQQuery_8hpp.html" > Go to the documentation of this file.< / a > < div class = "fragment" > < pre class = "fragment" > < a name = "l00001" > < / a > 00001 < span class = "comment" > /*< / span >
< a name = "l00002" > < / a > 00002 < span class = "comment" > * Copyright (c) 2001-2008< / span >
< a name = "l00003" > < / a > 00003 < span class = "comment" > * DecisionSoft Limited. All rights reserved.< / span >
< a name = "l00004" > < / a > 00004 < span class = "comment" > * Copyright (c) 2004-2008< / span >
< a name = "l00005" > < / a > 00005 < span class = "comment" > * Oracle. All rights reserved.< / span >
< a name = "l00006" > < / a > 00006 < span class = "comment" > *< / span >
< a name = "l00007" > < / a > 00007 < span class = "comment" > * Licensed under the Apache License, Version 2.0 (the " License" );< / span >
< a name = "l00008" > < / a > 00008 < span class = "comment" > * you may not use this file except in compliance with the License.< / span >
< a name = "l00009" > < / a > 00009 < span class = "comment" > * You may obtain a copy of the License at< / span >
< a name = "l00010" > < / a > 00010 < span class = "comment" > *< / span >
< a name = "l00011" > < / a > 00011 < span class = "comment" > * http://www.apache.org/licenses/LICENSE-2.0< / span >
< a name = "l00012" > < / a > 00012 < span class = "comment" > *< / span >
< a name = "l00013" > < / a > 00013 < span class = "comment" > * Unless required by applicable law or agreed to in writing, software< / span >
< a name = "l00014" > < / a > 00014 < span class = "comment" > * distributed under the License is distributed on an " AS IS" BASIS,< / span >
< a name = "l00015" > < / a > 00015 < span class = "comment" > * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.< / span >
< a name = "l00016" > < / a > 00016 < span class = "comment" > * See the License for the specific language governing permissions and< / span >
< a name = "l00017" > < / a > 00017 < span class = "comment" > * limitations under the License.< / span >
< a name = "l00018" > < / a > 00018 < span class = "comment" > *< / span >
2020-02-17 22:21:23 +01:00
< a name = "l00019" > < / a > 00019 < span class = "comment" > * $Id$< / span >
2020-02-17 22:19:57 +01:00
< a name = "l00020" > < / a > 00020 < span class = "comment" > */< / span >
< a name = "l00021" > < / a > 00021
< a name = "l00022" > < / a > 00022 < span class = "preprocessor" > #ifndef XQQUERY_HPP< / span >
< a name = "l00023" > < / a > 00023 < span class = "preprocessor" > < / span > < span class = "preprocessor" > #define XQQUERY_HPP< / span >
< a name = "l00024" > < / a > 00024 < span class = "preprocessor" > < / span >
< a name = "l00025" > < / a > 00025 < span class = "preprocessor" > #include < xqilla/framework/XQillaExport.hpp> < / span >
< a name = "l00026" > < / a > 00026 < span class = "preprocessor" > #include < vector> < / span >
< a name = "l00027" > < / a > 00027 < span class = "preprocessor" > #include < string> < / span >
< a name = "l00028" > < / a > 00028 < span class = "preprocessor" > #include < < a class = "code" href = "XMemory_8hpp.html" > xercesc/util/XMemory.hpp< / a > > < / span >
< a name = "l00029" > < / a > 00029 < span class = "preprocessor" > #include < < a class = "code" href = "InputSource_8hpp.html" > xercesc/sax/InputSource.hpp< / a > > < / span >
< a name = "l00030" > < / a > 00030 < span class = "preprocessor" > #include < < a class = "code" href = "ResultImpl_8hpp.html" > xqilla/runtime/ResultImpl.hpp< / a > > < / span >
< a name = "l00031" > < / a > 00031 < span class = "preprocessor" > #include < xqilla/runtime/LazySequenceResult.hpp> < / span >
< a name = "l00032" > < / a > 00032 < span class = "preprocessor" > #include < < a class = "code" href = "StaticContext_8hpp.html" > xqilla/context/StaticContext.hpp< / a > > < / span >
< a name = "l00033" > < / a > 00033
< a name = "l00034" > < / a > 00034 < span class = "keyword" > class < / span > < a class = "code" href = "classDynamicContext.html" title = "The execution time dynamic context interface." > DynamicContext< / a > ;
< a name = "l00035" > < / a > 00035 < span class = "keyword" > class < / span > XQUserFunction;
< a name = "l00036" > < / a > 00036 < span class = "keyword" > class < / span > XQGlobalVariable;
< a name = "l00037" > < / a > 00037 < span class = "keyword" > class < / span > XQUserFunctionInstance;
< a name = "l00038" > < / a > < a class = "code" href = "XQQuery_8hpp.html#a9d2d5aa88c009aeb4423578b5665857a" > 00038< / a > < span class = "keyword" > class < / span > < a class = "code" href = "classXQQuery.html" title = "Encapsulates a query expression." > XQQuery< / a > ;
< a name = "l00039" > < / a > 00039
< a name = "l00040" > < / a > 00040 < span class = "keyword" > typedef< / span > std::vector< XQGlobalVariable*, XQillaAllocator< XQGlobalVariable*> > < a class = "code" href = "XQQuery_8hpp.html#a9d2d5aa88c009aeb4423578b5665857a" > GlobalVariables< / a > ;
< a name = "l00041" > < / a > < a class = "code" href = "XQQuery_8hpp.html#a6bfc1be626a21b5f066df297e669fe9f" > 00041< / a > < span class = "keyword" > typedef< / span > std::vector< XQQuery*, XQillaAllocator< XQQuery*> > < a class = "code" href = "XQQuery_8hpp.html#a6bfc1be626a21b5f066df297e669fe9f" > ImportedModules< / a > ;
< a name = "l00042" > < / a > 00042
< a name = "l00057" > < / a > < a class = "code" href = "classXQQuery.html" > 00057< / a > < span class = "keyword" > class < / span > XQILLA_API < a class = "code" href = "classXQQuery.html" title = "Encapsulates a query expression." > XQQuery< / a > : < span class = "keyword" > public< / span > XERCES_CPP_NAMESPACE_QUALIFIER XMemory
< a name = "l00058" > < / a > 00058 {
< a name = "l00059" > < / a > 00059 < span class = "keyword" > public< / span > :
< a name = "l00061" > < / a > 00061 ~< a class = "code" href = "classXQQuery.html" title = "Encapsulates a query expression." > XQQuery< / a > ();
< a name = "l00062" > < / a > 00062
< a name = "l00064" > < / a > 00064 < span class = "comment" > // @{< / span >
< a name = "l00065" > < / a > 00065
< a name = "l00074" > < / a > 00074 < a class = "code" href = "classDynamicContext.html" title = "The execution time dynamic context interface." > DynamicContext< / a > *createDynamicContext(XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager *memMgr =
< a name = "l00075" > < / a > 00075 XERCES_CPP_NAMESPACE_QUALIFIER XMLPlatformUtils::fgMemoryManager) < span class = "keyword" > const< / span > ;
< a name = "l00076" > < / a > 00076
< a name = "l00090" > < / a > 00090 < a class = "code" href = "classResult.html" title = "A scoped pointer wrapper for the lazily evaluated query result." > Result< / a > execute(< a class = "code" href = "classDynamicContext.html" title = "The execution time dynamic context interface." > DynamicContext< / a > * context) < span class = "keyword" > const< / span > ;
< a name = "l00091" > < / a > 00091
< a name = "l00106" > < / a > 00106 < a class = "code" href = "classResult.html" title = "A scoped pointer wrapper for the lazily evaluated query result." > Result< / a > execute(< span class = "keyword" > const< / span > < a class = "code" href = "classRefCountPointer.html" > Item::Ptr< / a > & contextItem, < a class = "code" href = "classDynamicContext.html" title = "The execution time dynamic context interface." > DynamicContext< / a > *context) < span class = "keyword" > const< / span > ;
< a name = "l00107" > < / a > 00107
< a name = "l00123" > < / a > 00123 < a class = "code" href = "classResult.html" title = "A scoped pointer wrapper for the lazily evaluated query result." > Result< / a > execute(< span class = "keyword" > const< / span > XMLCh *templateQName, < a class = "code" href = "classDynamicContext.html" title = "The execution time dynamic context interface." > DynamicContext< / a > *context) < span class = "keyword" > const< / span > ;
< a name = "l00124" > < / a > 00124
< a name = "l00135" > < / a > 00135 < span class = "keywordtype" > void< / span > execute(< a class = "code" href = "classEventHandler.html" > EventHandler< / a > *events, < a class = "code" href = "classDynamicContext.html" title = "The execution time dynamic context interface." > DynamicContext< / a > * context) < span class = "keyword" > const< / span > ;
< a name = "l00136" > < / a > 00136
< a name = "l00148" > < / a > 00148 < span class = "keywordtype" > void< / span > execute(< a class = "code" href = "classEventHandler.html" > EventHandler< / a > *events, < span class = "keyword" > const< / span > < a class = "code" href = "classRefCountPointer.html" > Item::Ptr< / a > & contextItem, < a class = "code" href = "classDynamicContext.html" title = "The execution time dynamic context interface." > DynamicContext< / a > *context) < span class = "keyword" > const< / span > ;
< a name = "l00149" > < / a > 00149
< a name = "l00162" > < / a > 00162 < span class = "keywordtype" > void< / span > execute(< a class = "code" href = "classEventHandler.html" > EventHandler< / a > *events, < span class = "keyword" > const< / span > XMLCh *templateQName, < a class = "code" href = "classDynamicContext.html" title = "The execution time dynamic context interface." > DynamicContext< / a > *context) < span class = "keyword" > const< / span > ;
< a name = "l00163" > < / a > 00163
< a name = "l00183" > < / a > 00183 < span class = "keywordtype" > void< / span > staticResolution();
< a name = "l00184" > < / a > 00184
< a name = "l00197" > < / a > 00197 < span class = "keywordtype" > void< / span > staticTyping(StaticTyper *styper = 0);
< a name = "l00198" > < / a > 00198
< a name = "l00200" > < / a > 00200
< a name = "l00202" > < / a > 00202 < span class = "comment" > // @{< / span >
< a name = "l00203" > < / a > 00203
< a name = "l00205" > < / a > 00205 < span class = "keyword" > const< / span > XMLCh* getQueryText() < span class = "keyword" > const< / span > ;
< a name = "l00206" > < / a > 00206
< a name = "l00208" > < / a > 00208 std::string getQueryPlan() < span class = "keyword" > const< / span > ;
< a name = "l00209" > < / a > 00209
< a name = "l00211" > < / a > 00211
< a name = "l00213" > < / a > 00213 < span class = "comment" > // @{< / span >
< a name = "l00214" > < / a > 00214
< a name = "l00216" > < / a > 00216 ASTNode* getQueryBody() < span class = "keyword" > const< / span > ;
< a name = "l00218" > < / a > 00218 < span class = "keywordtype" > void< / span > setQueryBody(ASTNode* query);
< a name = "l00219" > < / a > 00219
< a name = "l00221" > < / a > 00221 < span class = "keywordtype" > void< / span > addFunction(XQUserFunction* fnDef);
< a name = "l00223" > < / a > < a class = "code" href = "classXQQuery.html#a51732e054576e453c196b8bdad1582f5" > 00223< / a > < span class = "keyword" > const< / span > < a class = "code" href = "StaticContext_8hpp.html#a120407438cc6ede3bc7b57aae806741c" > UserFunctions< / a > & < a class = "code" href = "classXQQuery.html#a51732e054576e453c196b8bdad1582f5" title = "Returns a vector of all XQUserFunction objects from the query." > getFunctions< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > m_userDefFns; }
< a name = "l00224" > < / a > 00224
< a name = "l00226" > < / a > 00226 < span class = "keywordtype" > void< / span > addVariable(XQGlobalVariable* varDef);
< a name = "l00228" > < / a > < a class = "code" href = "classXQQuery.html#a24b830095210a3c4846c82470942fd8a" > 00228< / a > < span class = "keyword" > const< / span > < a class = "code" href = "XQQuery_8hpp.html#a9d2d5aa88c009aeb4423578b5665857a" > GlobalVariables< / a > & < a class = "code" href = "classXQQuery.html#a24b830095210a3c4846c82470942fd8a" title = "Returns a vector of all XQGlobalVariable objects from the query." > getVariables< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > m_userDefVars; }
< a name = "l00229" > < / a > 00229
< a name = "l00231" > < / a > < a class = "code" href = "classXQQuery.html#a80b70ab66101dd2e938c942c466399a7" > 00231< / a > < span class = "keyword" > const< / span > < a class = "code" href = "XQQuery_8hpp.html#a6bfc1be626a21b5f066df297e669fe9f" > ImportedModules< / a > & < a class = "code" href = "classXQQuery.html#a80b70ab66101dd2e938c942c466399a7" title = "Returns a vector of all XQGlobalVariable objects from the query." > getImportedModules< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > m_importedModules; }
< a name = "l00232" > < / a > 00232
< a name = "l00234" > < / a > 00234 < span class = "keyword" > const< / span > XMLCh* getFile() < span class = "keyword" > const< / span > ;
< a name = "l00236" > < / a > 00236 < span class = "keywordtype" > void< / span > setFile(< span class = "keyword" > const< / span > XMLCh* file);
< a name = "l00237" > < / a > 00237
< a name = "l00238" > < / a > < a class = "code" href = "classXQQuery.html#a3a4c85183980a4802bb42fb20369774b" > 00238< / a > < span class = "keyword" > const< / span > < a class = "code" href = "classDynamicContext.html" title = "The execution time dynamic context interface." > DynamicContext< / a > *< a class = "code" href = "classXQQuery.html#a3a4c85183980a4802bb42fb20369774b" > getStaticContext< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > m_context; }
< a name = "l00239" > < / a > 00239
< a name = "l00241" > < / a > 00241
< a name = "l00243" > < / a > 00243 < span class = "comment" > // @{< / span >
< a name = "l00244" > < / a > 00244
< a name = "l00246" > < / a > 00246 < span class = "keywordtype" > void< / span > setIsLibraryModule(< span class = "keywordtype" > bool< / span > bIsModule=< span class = "keyword" > true< / span > );
< a name = "l00248" > < / a > 00248 < span class = "keywordtype" > bool< / span > getIsLibraryModule() < span class = "keyword" > const< / span > ;
< a name = "l00250" > < / a > 00250 < span class = "keywordtype" > void< / span > setModuleTargetNamespace(< span class = "keyword" > const< / span > XMLCh* uri);
< a name = "l00252" > < / a > 00252 < span class = "keyword" > const< / span > XMLCh* getModuleTargetNamespace() < span class = "keyword" > const< / span > ;
< a name = "l00254" > < / a > 00254 < span class = "keywordtype" > void< / span > importModule(< span class = "keyword" > const< / span > XMLCh* szUri, < a class = "code" href = "DocumentCache_8hpp.html#aaab74fdf21f46c72dd5e97f48fecb3b6" > VectorOfStrings< / a > * locations, < a class = "code" href = "classStaticContext.html" title = "The parse time static context interface." > StaticContext< / a > * context, < span class = "keyword" > const< / span > < a class = "code" href = "classLocationInfo.html" title = "A class that gives records a location in the query." > LocationInfo< / a > *location);
< a name = "l00255" > < / a > 00255
< a name = "l00257" > < / a > 00257
< a name = "l00258" > < / a > 00258 < span class = "keyword" > private< / span > :
< a name = "l00260" > < / a > 00260 < span class = "keyword" > class < / span > QueryResult : < span class = "keyword" > public< / span > < a class = "code" href = "classResultImpl.html" title = "A lazily evaluated query result." > ResultImpl< / a >
< a name = "l00261" > < / a > 00261 {
< a name = "l00262" > < / a > 00262 < span class = "keyword" > public< / span > :
< a name = "l00263" > < / a > 00263 QueryResult(< span class = "keyword" > const< / span > < a class = "code" href = "classXQQuery.html" title = "Encapsulates a query expression." > XQQuery< / a > *query);
< a name = "l00264" > < / a > 00264
< a name = "l00265" > < / a > 00265 < a class = "code" href = "classRefCountPointer.html" > Item::Ptr< / a > nextOrTail(< a class = "code" href = "classResult.html" title = "A scoped pointer wrapper for the lazily evaluated query result." > Result< / a > & tail, < a class = "code" href = "classDynamicContext.html" title = "The execution time dynamic context interface." > DynamicContext< / a > *context);
< a name = "l00266" > < / a > 00266
< a name = "l00267" > < / a > 00267 < span class = "keyword" > private< / span > :
< a name = "l00268" > < / a > 00268 < span class = "keyword" > const< / span > < a class = "code" href = "classXQQuery.html" title = "Encapsulates a query expression." > XQQuery< / a > *_query;
< a name = "l00269" > < / a > 00269 };
< a name = "l00270" > < / a > 00270
< a name = "l00271" > < / a > 00271 < span class = "keyword" > private< / span > :
< a name = "l00273" > < / a > 00273 < a class = "code" href = "classXQQuery.html" title = "Encapsulates a query expression." > XQQuery< / a > (< span class = "keyword" > const< / span > XMLCh* queryText, < a class = "code" href = "classDynamicContext.html" title = "The execution time dynamic context interface." > DynamicContext< / a > *context, < span class = "keywordtype" > bool< / span > contextOwned = < span class = "keyword" > false< / span > ,
< a name = "l00274" > < / a > 00274 XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager *memMgr =
< a name = "l00275" > < / a > 00275 XERCES_CPP_NAMESPACE_QUALIFIER XMLPlatformUtils::fgMemoryManager);
< a name = "l00276" > < / a > 00276
< a name = "l00277" > < / a > 00277 < a class = "code" href = "classXQQuery.html" title = "Encapsulates a query expression." > XQQuery< / a > (< span class = "keyword" > const< / span > < a class = "code" href = "classXQQuery.html" title = "Encapsulates a query expression." > XQQuery< / a > & );
< a name = "l00278" > < / a > 00278 < a class = "code" href = "classXQQuery.html" title = "Encapsulates a query expression." > XQQuery< / a > & operator=(< span class = "keyword" > const< / span > < a class = "code" href = "classXQQuery.html" title = "Encapsulates a query expression." > XQQuery< / a > & );
< a name = "l00279" > < / a > 00279
< a name = "l00280" > < / a > 00280 < span class = "keywordtype" > void< / span > executeProlog(< a class = "code" href = "classDynamicContext.html" title = "The execution time dynamic context interface." > DynamicContext< / a > *context) < span class = "keyword" > const< / span > ;
< a name = "l00281" > < / a > 00281
< a name = "l00282" > < / a > 00282 < span class = "keyword" > private< / span > :
< a name = "l00284" > < / a > 00284 XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager* m_memMgr;
< a name = "l00285" > < / a > 00285
< a name = "l00287" > < / a > 00287 < a class = "code" href = "classDynamicContext.html" title = "The execution time dynamic context interface." > DynamicContext< / a > *m_context;
< a name = "l00288" > < / a > 00288 < span class = "keywordtype" > bool< / span > m_contextOwned;
< a name = "l00289" > < / a > 00289
< a name = "l00290" > < / a > 00290 ASTNode* m_query;
< a name = "l00291" > < / a > 00291
< a name = "l00292" > < / a > 00292 < span class = "keywordtype" > bool< / span > m_bIsLibraryModule;
< a name = "l00293" > < / a > 00293 < span class = "keyword" > const< / span > XMLCh* m_szTargetNamespace;
< a name = "l00294" > < / a > 00294 < span class = "keyword" > const< / span > XMLCh* m_szQueryText;
< a name = "l00295" > < / a > 00295 < span class = "keyword" > const< / span > XMLCh* m_szCurrentFile;
< a name = "l00296" > < / a > 00296
< a name = "l00297" > < / a > 00297 < a class = "code" href = "StaticContext_8hpp.html#a120407438cc6ede3bc7b57aae806741c" > UserFunctions< / a > m_userDefFns;
< a name = "l00298" > < / a > 00298 < a class = "code" href = "XQQuery_8hpp.html#a9d2d5aa88c009aeb4423578b5665857a" > GlobalVariables< / a > m_userDefVars;
< a name = "l00299" > < / a > 00299 < a class = "code" href = "XQQuery_8hpp.html#a6bfc1be626a21b5f066df297e669fe9f" > ImportedModules< / a > m_importedModules;
< a name = "l00300" > < / a > 00300
< a name = "l00301" > < / a > < a class = "code" href = "classXQQuery.html#a88a4d20f5007ef053c45a8bacf5b8008" > 00301< / a > < span class = "keyword" > friend< / span > < span class = "keyword" > class < / span > QueryResult;
< a name = "l00302" > < / a > < a class = "code" href = "classXQQuery.html#a714edbeddd5c2a4c2d9120c7d2e6922c" > 00302< / a > < span class = "keyword" > friend< / span > < span class = "keyword" > class < / span > < a class = "code" href = "classXQilla.html" title = "Provides factory methods for creating XQQuery and DynamicContext objects." > XQilla< / a > ;
< a name = "l00303" > < / a > 00303 };
< a name = "l00304" > < / a > 00304
< a name = "l00305" > < / a > 00305 < span class = "preprocessor" > #endif< / span >
< / pre > < / div > < / div >
2020-02-17 22:21:23 +01:00
< hr size = "1" / > < address style = "text-align: right;" > < small > Generated on Mon Mar 1 21:15:51 2010 for XQilla Simple API by
2020-02-17 22:19:57 +01:00
< a href = "http://www.doxygen.org/index.html" >
< img class = "footer" src = "doxygen.png" alt = "doxygen" / > < / a > 1.6.1 < / small > < / address >
< / body >
< / html >