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(XALANSOURCETREEPARSERLIAISON_HEADER_GUARD_1357924680) 00017 #define XALANSOURCETREEPARSERLIAISON_HEADER_GUARD_1357924680 00018 00019 00020 // Base include file. Must be first. 00021 #include <xalanc/XalanSourceTree/XalanSourceTreeDefinitions.hpp> 00022 00023 00024 00025 #include <xalanc/Include/XalanMap.hpp> 00026 00027 00028 00029 #include <xalanc/XercesParserLiaison/XercesDOMSupport.hpp> 00030 #include <xalanc/XercesParserLiaison/XercesParserLiaison.hpp> 00031 00032 00033 00034 XALAN_DECLARE_XERCES_CLASS(ContentHandler) 00035 XALAN_DECLARE_XERCES_CLASS(DTDHandler) 00036 XALAN_DECLARE_XERCES_CLASS(LexicalHandler) 00037 XALAN_DECLARE_XERCES_CLASS(SAX2XMLReader) 00038 00039 00040 00041 XALAN_CPP_NAMESPACE_BEGIN 00042 00043 00044 00045 class XalanSourceTreeDOMSupport; 00046 class XalanSourceTreeDocument; 00047 00048 00049 00050 typedef XERCES_CPP_NAMESPACE_QUALIFIER ContentHandler ContentHandlerType; 00051 typedef XERCES_CPP_NAMESPACE_QUALIFIER DTDHandler DTDHandlerType; 00052 typedef XERCES_CPP_NAMESPACE_QUALIFIER LexicalHandler LexicalHandlerType; 00053 typedef XERCES_CPP_NAMESPACE_QUALIFIER SAX2XMLReader SAX2XMLReaderType; 00054 00055 00056 00057 class XALAN_XALANSOURCETREE_EXPORT XalanSourceTreeParserLiaison : public XMLParserLiaison 00058 { 00059 00060 public: 00061 00069 XalanSourceTreeParserLiaison( 00070 XalanSourceTreeDOMSupport& theSupport, 00071 MemoryManagerType& theManager XALAN_DEFAULT_MEMMGR); 00072 00076 XalanSourceTreeParserLiaison(MemoryManagerType& theManager XALAN_DEFAULT_MEMMGR); 00077 00078 MemoryManagerType& 00079 getMemoryManager() 00080 { 00081 return m_documentMap.getMemoryManager(); 00082 } 00083 00084 virtual 00085 ~XalanSourceTreeParserLiaison(); 00086 00093 bool 00094 getPoolAllText() const 00095 { 00096 return m_poolAllText; 00097 } 00098 00105 void 00106 setPoolAllText(bool fValue) 00107 { 00108 m_poolAllText = fValue; 00109 } 00110 00111 // These interfaces are inherited from XMLParserLiaison... 00112 00113 virtual void 00114 reset(); 00115 00116 virtual ExecutionContext* 00117 getExecutionContext() const; 00118 00119 virtual void 00120 setExecutionContext(ExecutionContext& theContext); 00121 00122 virtual XalanDocument* 00123 parseXMLStream( 00124 const InputSourceType& reader, 00125 const XalanDOMString& identifier = XalanDOMString(XalanMemMgrs::getDummyMemMgr())); 00126 00127 virtual void 00128 parseXMLStream( 00129 const InputSourceType& inputSource, 00130 DocumentHandlerType& handler, 00131 const XalanDOMString& identifier = XalanDOMString(XalanMemMgrs::getDummyMemMgr())); 00132 00133 virtual void 00134 destroyDocument(XalanDocument* theDocument); 00135 00136 virtual int 00137 getIndent() const; 00138 00139 virtual void 00140 setIndent(int i); 00141 00142 virtual bool 00143 getUseValidation() const; 00144 00145 virtual void 00146 setUseValidation(bool b); 00147 00148 virtual const XalanDOMString& 00149 getParserDescription(XalanDOMString& theResult) const; 00150 00151 virtual EntityResolverType* 00152 getEntityResolver() const; 00153 00154 virtual void 00155 setEntityResolver(EntityResolverType* resolver); 00156 00157 00158 // These interfaces are new to XalanSourceTreeParserLiaison... 00159 00169 virtual void 00170 parseXMLStream( 00171 const InputSourceType& theInputSource, 00172 ContentHandlerType& theContentHandler, 00173 const XalanDOMString& theIdentifier, 00174 DTDHandlerType* theDTDHandler = 0, 00175 LexicalHandlerType* theLexicalHandler = 0 00176 ); 00177 00178 virtual DOMDocument_Type* 00179 createDOMFactory(); 00180 00181 virtual void 00182 destroyDocument(DOMDocument_Type* theDocument); 00183 00194 virtual bool 00195 getIncludeIgnorableWhitespace() const; 00196 00215 virtual void 00216 setIncludeIgnorableWhitespace(bool include); 00217 00223 virtual ErrorHandlerType* 00224 getErrorHandler() const; 00225 00236 virtual void 00237 setErrorHandler(ErrorHandlerType* handler); 00238 00248 virtual bool 00249 getDoNamespaces() const; 00250 00268 virtual void 00269 setDoNamespaces(bool newState); 00270 00280 virtual bool 00281 getExitOnFirstFatalError() const; 00282 00298 virtual void 00299 setExitOnFirstFatalError(bool newState); 00300 00307 virtual const XalanDOMChar* 00308 getExternalSchemaLocation() const; 00309 00316 virtual void 00317 setExternalSchemaLocation(const XalanDOMChar* location); 00318 00325 virtual const XalanDOMChar* 00326 getExternalNoNamespaceSchemaLocation() const; 00327 00334 virtual void 00335 setExternalNoNamespaceSchemaLocation(const XalanDOMChar* location); 00336 00346 XalanSourceTreeDocument* 00347 mapDocument(const XalanDocument* theDocument) const; 00348 00354 XalanSourceTreeDocument* 00355 createXalanSourceTreeDocument(); 00356 00357 typedef XalanMap<const XalanDocument*, 00358 XalanSourceTreeDocument*> DocumentMapType; 00359 00360 00361 protected: 00362 00363 virtual SAX2XMLReaderType* 00364 createReader(); 00365 00366 private: 00367 00368 void 00369 ensureReader(); 00370 00371 00372 // Not implemented... 00373 XalanSourceTreeParserLiaison(const XalanSourceTreeParserLiaison&); 00374 00375 XalanSourceTreeParserLiaison& 00376 operator=(const XalanSourceTreeParserLiaison&); 00377 00378 00379 // Data members... 00380 XercesParserLiaison m_xercesParserLiaison; 00381 00382 DocumentMapType m_documentMap; 00383 00384 bool m_poolAllText; 00385 00386 SAX2XMLReaderType* m_xmlReader; 00387 00388 static const XalanDOMChar s_validationString[]; 00389 00390 static const XalanDOMChar s_dynamicValidationString[]; 00391 00392 static const XalanDOMChar s_namespacesString[]; 00393 00394 static const XalanDOMChar s_namespacePrefixesString[]; 00395 00396 static const XalanDOMChar s_schemaString[]; 00397 00398 static const XalanDOMChar s_externalSchemaLocationString[]; 00399 00400 static const XalanDOMChar s_externalNoNamespaceSchemaLocationString[]; 00401 }; 00402 00403 00404 00405 XALAN_CPP_NAMESPACE_END 00406 00407 00408 00409 #endif // XALANSOURCETREEPARSERLIAISON_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.9 |
|