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

XalanSourceTreeParserLiaison.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(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 // Standard Library header files. 00026 #include <map> 00027 00028 00029 00030 #include <xalanc/XercesParserLiaison/XercesDOMSupport.hpp> 00031 #include <xalanc/XercesParserLiaison/XercesParserLiaison.hpp> 00032 00033 00034 00035 XALAN_DECLARE_XERCES_CLASS(ContentHandler) 00036 XALAN_DECLARE_XERCES_CLASS(DTDHandler) 00037 XALAN_DECLARE_XERCES_CLASS(LexicalHandler) 00038 XALAN_DECLARE_XERCES_CLASS(SAX2XMLReader) 00039 00040 00041 00042 XALAN_CPP_NAMESPACE_BEGIN 00043 00044 00045 00046 class XalanSourceTreeDOMSupport; 00047 class XalanSourceTreeDocument; 00048 00049 00050 00051 typedef XERCES_CPP_NAMESPACE_QUALIFIER ContentHandler ContentHandlerType; 00052 typedef XERCES_CPP_NAMESPACE_QUALIFIER DTDHandler DTDHandlerType; 00053 typedef XERCES_CPP_NAMESPACE_QUALIFIER LexicalHandler LexicalHandlerType; 00054 typedef XERCES_CPP_NAMESPACE_QUALIFIER SAX2XMLReader SAX2XMLReaderType; 00055 00056 00057 00058 class XALAN_XALANSOURCETREE_EXPORT XalanSourceTreeParserLiaison : public XMLParserLiaison 00059 { 00060 public: 00061 00069 XalanSourceTreeParserLiaison(XalanSourceTreeDOMSupport& theSupport); 00070 00074 XalanSourceTreeParserLiaison(); 00075 00076 virtual 00077 ~XalanSourceTreeParserLiaison(); 00078 00085 bool 00086 getPoolAllText() const 00087 { 00088 return m_poolAllText; 00089 } 00090 00097 void 00098 setPoolAllText(bool fValue) 00099 { 00100 m_poolAllText = fValue; 00101 } 00102 00103 // These interfaces are inherited from XMLParserLiaison... 00104 00105 virtual void 00106 reset(); 00107 00108 virtual ExecutionContext* 00109 getExecutionContext() const; 00110 00111 virtual void 00112 setExecutionContext(ExecutionContext& theContext); 00113 00114 virtual XalanDocument* 00115 parseXMLStream( 00116 const InputSourceType& reader, 00117 const XalanDOMString& identifier = XalanDOMString()); 00118 00119 virtual void 00120 parseXMLStream( 00121 const InputSourceType& inputSource, 00122 DocumentHandlerType& handler, 00123 const XalanDOMString& identifier = XalanDOMString()); 00124 00125 virtual void 00126 destroyDocument(XalanDocument* theDocument); 00127 00128 virtual int 00129 getIndent() const; 00130 00131 virtual void 00132 setIndent(int i); 00133 00134 virtual bool 00135 getUseValidation() const; 00136 00137 virtual void 00138 setUseValidation(bool b); 00139 00140 virtual const XalanDOMString 00141 getParserDescription() const; 00142 00143 virtual EntityResolverType* 00144 getEntityResolver() const; 00145 00146 virtual void 00147 setEntityResolver(EntityResolverType* resolver); 00148 00149 00150 // These interfaces are new to XalanSourceTreeParserLiaison... 00151 00161 virtual void 00162 parseXMLStream( 00163 const InputSourceType& theInputSource, 00164 ContentHandlerType& theContentHandler, 00165 DTDHandlerType* theDTDHandler = 0, 00166 LexicalHandlerType* theLexicalHandler = 0, 00167 const XalanDOMString& theIdentifier = XalanDOMString()); 00168 00169 virtual DOMDocument_Type* 00170 createDOMFactory(); 00171 00172 virtual void 00173 destroyDocument(DOMDocument_Type* theDocument); 00174 00185 virtual bool 00186 getIncludeIgnorableWhitespace() const; 00187 00206 virtual void 00207 setIncludeIgnorableWhitespace(bool include); 00208 00214 virtual ErrorHandlerType* 00215 getErrorHandler() const; 00216 00227 virtual void 00228 setErrorHandler(ErrorHandlerType* handler); 00229 00239 virtual bool 00240 getDoNamespaces() const; 00241 00259 virtual void 00260 setDoNamespaces(bool newState); 00261 00271 virtual bool 00272 getExitOnFirstFatalError() const; 00273 00289 virtual void 00290 setExitOnFirstFatalError(bool newState); 00291 00298 virtual const XalanDOMChar* 00299 getExternalSchemaLocation() const; 00300 00307 virtual void 00308 setExternalSchemaLocation(const XalanDOMChar* location); 00309 00316 virtual const XalanDOMChar* 00317 getExternalNoNamespaceSchemaLocation() const; 00318 00325 virtual void 00326 setExternalNoNamespaceSchemaLocation(const XalanDOMChar* location); 00327 00337 XalanSourceTreeDocument* 00338 mapDocument(const XalanDocument* theDocument) const; 00339 00345 XalanSourceTreeDocument* 00346 createXalanSourceTreeDocument(); 00347 00348 #if defined(XALAN_NO_STD_NAMESPACE) 00349 typedef map<const XalanDocument*, 00350 XalanSourceTreeDocument*, 00351 less<const XalanDocument*> > DocumentMapType; 00352 #else 00353 typedef std::map<const XalanDocument*, 00354 XalanSourceTreeDocument*> DocumentMapType; 00355 #endif 00356 00357 protected: 00358 00359 virtual SAX2XMLReaderType* 00360 createReader(); 00361 00362 private: 00363 00364 // Not implemented... 00365 XalanSourceTreeParserLiaison(const XalanSourceTreeParserLiaison&); 00366 00367 XalanSourceTreeParserLiaison& 00368 operator=(const XalanSourceTreeParserLiaison&); 00369 00370 00371 // Data members... 00372 XercesParserLiaison m_xercesParserLiaison; 00373 00374 DocumentMapType m_documentMap; 00375 00376 bool m_poolAllText; 00377 00378 static const XalanDOMChar s_validationString[]; 00379 00380 static const XalanDOMChar s_dynamicValidationString[]; 00381 00382 static const XalanDOMChar s_namespacesString[]; 00383 00384 static const XalanDOMChar s_namespacePrefixesString[]; 00385 00386 static const XalanDOMChar s_schemaString[]; 00387 00388 static const XalanDOMChar s_externalSchemaLocationString[]; 00389 00390 static const XalanDOMChar s_externalNoNamespaceSchemaLocationString[]; 00391 }; 00392 00393 00394 00395 XALAN_CPP_NAMESPACE_END 00396 00397 00398 00399 #endif // XALANSOURCETREEPARSERLIAISON_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.