Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.8

Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

XalanQNameByValue.hpp

Go to the documentation of this file.
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 #if !defined(XALANQNAMEBYVALUE_HEADER_GUARD_1357924680) 00017 #define XALANQNAMEBYVALUE_HEADER_GUARD_1357924680 00018 00019 00020 00021 // Base header file. Must be first. 00022 #include <xalanc/XPath/XPathDefinitions.hpp> 00023 00024 00025 00026 // Base class header file... 00027 #include <xalanc/XPath/XalanQName.hpp> 00028 00029 00030 00031 XALAN_DECLARE_XERCES_CLASS(Locator) 00032 00033 00034 00035 XALAN_CPP_NAMESPACE_BEGIN 00036 00037 00038 00039 class DOMSupport; 00040 00041 00042 00043 class XALAN_XPATH_EXPORT XalanQNameByValue : public XalanQName 00044 { 00045 public: 00046 00047 typedef XERCES_CPP_NAMESPACE_QUALIFIER Locator LocatorType; 00048 00052 explicit 00053 XalanQNameByValue(); 00054 00060 XalanQNameByValue(const XalanQNameByValue& theSource); 00061 00067 explicit 00068 XalanQNameByValue(const XalanQName& theSource); 00069 00076 XalanQNameByValue( 00077 const XalanDOMString& theNamespace, 00078 const XalanDOMString& theLocalPart); 00079 00089 XalanQNameByValue( 00090 const XalanDOMString& qname, 00091 const NamespacesStackType& namespaces, 00092 const LocatorType* locator = 0, 00093 bool fUseDefault = false); 00094 00104 XalanQNameByValue( 00105 const XalanDOMChar* qname, 00106 const NamespacesStackType& namespaces, 00107 const LocatorType* locator = 0, 00108 bool fUseDefault = false); 00109 00120 XalanQNameByValue( 00121 const XalanDOMString& qname, 00122 const XalanElement* namespaceContext, 00123 const XPathEnvSupport& envSupport, 00124 const DOMSupport& domSupport, 00125 const LocatorType* locator = 0); 00126 00135 XalanQNameByValue( 00136 const XalanDOMString& qname, 00137 const PrefixResolver* theResolver = 0, 00138 const LocatorType* locator = 0); 00139 00140 virtual 00141 ~XalanQNameByValue(); 00142 00148 virtual const XalanDOMString& 00149 getLocalPart() const; 00150 00156 void 00157 setLocalPart(const XalanDOMString& theLocalPart) 00158 { 00159 m_localpart = theLocalPart; 00160 } 00161 00167 virtual const XalanDOMString& 00168 getNamespace() const; 00169 00175 void 00176 setNamespace(const XalanDOMString& theNamespace) 00177 { 00178 m_namespace = theNamespace; 00179 } 00180 00191 void 00192 set( 00193 const XalanDOMString& qname, 00194 const NamespacesStackType& namespaces, 00195 const LocatorType* locator = 0, 00196 bool fUseDefault = false); 00197 00208 void 00209 set( 00210 const XalanDOMChar* qname, 00211 const NamespacesStackType& namespaces, 00212 const LocatorType* locator = 0, 00213 bool fUseDefault = false); 00214 00224 void 00225 set( 00226 const XalanDOMString& qname, 00227 const PrefixResolver* theResolver = 0, 00228 const LocatorType* locator = 0); 00229 00239 void 00240 set( 00241 const XalanDOMChar* qname, 00242 const PrefixResolver* theResolver = 0, 00243 const LocatorType* locator = 0); 00247 void 00248 clear() 00249 { 00250 m_namespace.clear(); 00251 m_localpart.clear(); 00252 } 00253 00254 XalanQNameByValue& 00255 operator=(const XalanQNameByValue& theRHS) 00256 { 00257 m_namespace = theRHS.m_namespace; 00258 m_localpart = theRHS.m_localpart; 00259 00260 return *this; 00261 } 00262 00263 XalanQNameByValue& 00264 operator=(const XalanQName& theRHS) 00265 { 00266 m_namespace = theRHS.getNamespace(); 00267 m_localpart = theRHS.getLocalPart(); 00268 00269 return *this; 00270 } 00271 00272 private: 00273 00274 void 00275 initialize( 00276 const XalanDOMChar* qname, 00277 XalanDOMString::size_type len, 00278 const NamespacesStackType& namespaces, 00279 const LocatorType* locator, 00280 bool fUseDefault); 00281 00282 void 00283 resolvePrefix( 00284 const XalanDOMChar* qname, 00285 XalanDOMString::size_type theLength, 00286 const PrefixResolver* theResolver, 00287 const LocatorType* locator); 00288 00289 void 00290 validate( 00291 const XalanDOMChar* qname, 00292 XalanDOMString::size_type theLength, 00293 const LocatorType* locator); 00294 00295 // Data members... 00296 XalanDOMString m_namespace; 00297 00298 XalanDOMString m_localpart; 00299 }; 00300 00301 00302 00303 XALAN_CPP_NAMESPACE_END 00304 00305 00306 00307 #endif // XALANQNAMEBYVALUE_HEADER_GUARD_1357924680

Interpreting class diagrams

Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.

Xalan-C++ XSLT Processor Version 1.8
Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.