Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.9

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 #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

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.9
Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.