Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.8

Main Page | Directories | 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.