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(URISUPPORT_HEADER_GUARD_1357924680) 00017 #define URISUPPORT_HEADER_GUARD_1357924680 00018 00019 00020 00021 // Base include file. Must be first. 00022 #include <xalanc/PlatformSupport/PlatformSupportDefinitions.hpp> 00023 00024 00025 00026 #include <xercesc/util/XMLURL.hpp> 00027 00028 00029 00030 #include <xalanc/XalanDOM/XalanDOMString.hpp> 00031 00032 00033 00034 #include <xalanc/Include/XalanAutoPtr.hpp> 00035 00036 00037 00038 #include <xalanc/PlatformSupport/XSLException.hpp> 00039 00040 00041 00042 XALAN_CPP_NAMESPACE_BEGIN 00043 00044 00045 00046 typedef XERCES_CPP_NAMESPACE_QUALIFIER XMLURL XMLURLType; 00047 00048 00049 00050 class XALAN_PLATFORMSUPPORT_EXPORT URISupport 00051 { 00052 public: 00053 00054 typedef XalanAutoPtr<XMLURLType> URLAutoPtrType; 00055 00062 static URLAutoPtrType 00063 getURLFromString(const XalanDOMString& urlString) 00064 { 00065 return getURLFromString(urlString.c_str()); 00066 } 00067 00074 static void 00075 getURLFromString( 00076 const XalanDOMString& urlString, 00077 XMLURLType& url) 00078 { 00079 getURLFromString(urlString.c_str(), url); 00080 } 00081 00088 static URLAutoPtrType 00089 getURLFromString(const XalanDOMChar* urlString); 00090 00097 static void 00098 getURLFromString( 00099 const XalanDOMChar* urlString, 00100 XMLURLType& url) 00101 { 00102 url.setURL(getURLStringFromString(urlString).c_str()); 00103 } 00104 00112 static URLAutoPtrType 00113 getURLFromString( 00114 const XalanDOMString& urlString, 00115 const XalanDOMString& base) 00116 { 00117 return getURLFromString(getURLStringFromString(urlString, base)); 00118 } 00119 00127 static URLAutoPtrType 00128 getURLFromString( 00129 const XalanDOMChar* urlString, 00130 const XalanDOMChar* base); 00131 00138 static XalanDOMString 00139 getURLStringFromString(const XalanDOMString& urlString) 00140 { 00141 XalanDOMString result; 00142 00143 getURLStringFromString(urlString.c_str(), urlString.length(), result); 00144 00145 return result; 00146 } 00147 00154 static void 00155 getURLStringFromString( 00156 const XalanDOMString& urlString, 00157 XalanDOMString& theNormalizedURI) 00158 { 00159 getURLStringFromString(urlString.c_str(), urlString.length(), theNormalizedURI); 00160 } 00161 00168 static XalanDOMString 00169 getURLStringFromString(const XalanDOMChar* urlString) 00170 { 00171 XalanDOMString theNormalizedURI; 00172 00173 getURLStringFromString(urlString, theNormalizedURI); 00174 00175 return theNormalizedURI; 00176 } 00177 00184 static void 00185 getURLStringFromString( 00186 const XalanDOMChar* urlString, 00187 XalanDOMString& theNormalizedURI) 00188 { 00189 assert(urlString != 0); 00190 00191 getURLStringFromString( 00192 urlString, 00193 XalanDOMString::length(urlString), 00194 theNormalizedURI); 00195 } 00196 00204 static void 00205 getURLStringFromString( 00206 const XalanDOMChar* urlString, 00207 XalanDOMString::size_type len, 00208 XalanDOMString& theNormalizedURI); 00209 00217 static XalanDOMString 00218 getURLStringFromString( 00219 const XalanDOMString& urlString, 00220 const XalanDOMString& base) 00221 { 00222 XalanDOMString theNormalizedURI; 00223 00224 getURLStringFromString( 00225 urlString.c_str(), 00226 urlString.length(), 00227 base.c_str(), 00228 base.length(), 00229 theNormalizedURI); 00230 00231 return theNormalizedURI; 00232 } 00233 00241 static void 00242 getURLStringFromString( 00243 const XalanDOMString& urlString, 00244 const XalanDOMString& base, 00245 XalanDOMString& theNormalizedURI) 00246 { 00247 getURLStringFromString(urlString.c_str(), base.c_str(), theNormalizedURI); 00248 } 00249 00257 static XalanDOMString 00258 getURLStringFromString( 00259 const XalanDOMChar* urlString, 00260 const XalanDOMChar* base) 00261 { 00262 XalanDOMString theNormalizedURI; 00263 00264 getURLStringFromString(urlString, base, theNormalizedURI); 00265 00266 return theNormalizedURI; 00267 } 00268 00276 static void 00277 getURLStringFromString( 00278 const XalanDOMChar* urlString, 00279 const XalanDOMChar* base, 00280 XalanDOMString& theNormalizedURI) 00281 { 00282 assert(urlString != 0 && base != 0); 00283 00284 getURLStringFromString( 00285 urlString, 00286 XalanDOMString::length(urlString), 00287 base, 00288 XalanDOMString::length(base), 00289 theNormalizedURI); 00290 } 00291 00299 static void 00300 getURLStringFromString( 00301 const XalanDOMChar* urlString, 00302 XalanDOMString::size_type urlStringLen, 00303 const XalanDOMChar* base, 00304 XalanDOMString::size_type baseLen, 00305 XalanDOMString& theNormalizedURI); 00306 00314 static XalanDOMString& 00315 NormalizeURIText(XalanDOMString& uriString); 00316 00324 static const XalanDOMString 00325 NormalizeURIText(const XalanDOMString& uriString); 00326 00327 00328 class InvalidURIException : public XSLException 00329 { 00330 public: 00331 00337 InvalidURIException(const XalanDOMString& theMessage); 00338 00339 virtual 00340 ~InvalidURIException(); 00341 }; 00342 00343 00344 static const XalanDOMChar s_fileProtocolString1[]; 00345 00346 static const XalanDOMChar s_fileProtocolString2[]; 00347 }; 00348 00349 00350 00351 XALAN_CPP_NAMESPACE_END 00352 00353 00354 00355 #endif // URISUPPORT_HEADER_GUARD_1357924680
Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.
![]() |
Xalan-C++ XSLT Processor Version 1.8 |
|