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