00001 /* 00002 * Copyright 1999-2004 The Apache Software Foundation. 00003 * 00004 * Licensed under the Apache License, Version 2.0 (the "License"); 00005 * you may not use this file except in compliance with the License. 00006 * You may obtain a copy of the License at 00007 * 00008 * http://www.apache.org/licenses/LICENSE-2.0 00009 * 00010 * Unless required by applicable law or agreed to in writing, software 00011 * distributed under the License is distributed on an "AS IS" BASIS, 00012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00013 * See the License for the specific language governing permissions and 00014 * limitations under the License. 00015 */ 00016 00017 #if !defined(XALAN_NODESORTKEY_HEADER_GUARD) 00018 #define XALAN_NODESORTKEY_HEADER_GUARD 00019 00025 00026 00027 00028 // Base include file. Must be first. 00029 #include "XSLTDefinitions.hpp" 00030 00031 00032 00033 // $$$ ToDo: This is necessary while XalanDOMString is a typedef. 00034 #include <xalanc/XalanDOM/XalanDOMString.hpp> 00035 00036 00037 00038 #include <xalanc/PlatformSupport/XalanCollationServices.hpp> 00039 00040 00041 00042 XALAN_CPP_NAMESPACE_BEGIN 00043 00044 00045 00046 class ExecutionContext; 00047 class PrefixResolver; 00048 class XPath; 00049 00050 00051 00055 class XALAN_XSLT_EXPORT NodeSortKey 00056 { 00057 public: 00058 00070 NodeSortKey( 00071 ExecutionContext& executionContext, 00072 const XPath* selectPat, 00073 bool treatAsNumbers, 00074 bool descending, 00075 XalanCollationServices::eCaseOrder caseOrder, 00076 const XalanDOMString& langValue, 00077 const PrefixResolver& resolver); 00078 00079 NodeSortKey(); 00080 00081 NodeSortKey(const NodeSortKey& theSource); 00082 00083 ~NodeSortKey(); 00084 00085 NodeSortKey& 00086 operator=(const NodeSortKey& theRHS); 00087 00093 const XPath* 00094 getSelectPattern() const 00095 { 00096 return m_selectPat; 00097 } 00098 00104 bool 00105 getTreatAsNumbers() const 00106 { 00107 return m_treatAsNumbers; 00108 } 00109 00115 bool 00116 getDescending() const 00117 { 00118 return m_descending; 00119 } 00120 00126 XalanCollationServices::eCaseOrder 00127 getCaseOrder() const 00128 { 00129 return m_caseOrder; 00130 } 00131 00137 const PrefixResolver* 00138 getPrefixResolver() const 00139 { 00140 return m_prefixResolver; 00141 } 00142 00143 const XalanDOMString& 00144 getLanguageString() const 00145 { 00146 return *m_languageString; 00147 } 00148 00149 private: 00150 00151 ExecutionContext* m_executionContext; // needed for error reporting. 00152 00153 const XPath* m_selectPat; 00154 00155 bool m_treatAsNumbers; 00156 bool m_descending; 00157 00158 XalanCollationServices::eCaseOrder m_caseOrder; 00159 00160 const PrefixResolver* m_prefixResolver; 00161 00162 const XalanDOMString* m_languageString; 00163 }; 00164 00165 00166 00167 XALAN_CPP_NAMESPACE_END 00168 00169 00170 00171 #endif
Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.
Xalan-C++ XSLT Processor Version 1.10 |
|