SourceForge.net Logo
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Examples

DOMLSParser.hpp

Go to the documentation of this file.
00001 /*
00002  * Licensed to the Apache Software Foundation (ASF) under one or more
00003  * contributor license agreements.  See the NOTICE file distributed with
00004  * this work for additional information regarding copyright ownership.
00005  * The ASF licenses this file to You under the Apache License, Version 2.0
00006  * (the "License"); you may not use this file except in compliance with
00007  * the License.  You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 /*
00019  * $Id: DOMLSParser.hpp 671894 2008-06-26 13:29:21Z borisk $
00020  *
00021  */
00022 
00023 #if !defined(XERCESC_INCLUDE_GUARD_DOMLSPARSER_HPP)
00024 #define XERCESC_INCLUDE_GUARD_DOMLSPARSER_HPP
00025 
00026 #include <xercesc/dom/DOMConfiguration.hpp>
00027 #include <xercesc/util/XercesDefs.hpp>
00028 #include <xercesc/validators/common/Grammar.hpp>
00029 
00030 XERCES_CPP_NAMESPACE_BEGIN
00031 
00032 
00033 class DOMErrorHandler;
00034 class DOMLSInput;
00035 class DOMLSParserFilter;
00036 class DOMNode;
00037 class DOMDocument;
00038 
00047 class CDOM_EXPORT DOMLSParser
00048 {
00049 protected :
00050     // -----------------------------------------------------------------------
00051     //  Hidden constructors
00052     // -----------------------------------------------------------------------
00055     DOMLSParser() {};
00057 
00058 private:
00059     // -----------------------------------------------------------------------
00060     // Unimplemented constructors and operators
00061     // -----------------------------------------------------------------------
00064     DOMLSParser(const DOMLSParser &);
00065     DOMLSParser & operator = (const DOMLSParser &);
00067 
00068 public:
00069     // -----------------------------------------------------------------------
00070     //  All constructors are hidden, just the destructor is available
00071     // -----------------------------------------------------------------------
00078     virtual ~DOMLSParser() {};
00080 
00081     // -----------------------------------------------------------------------
00082     //  Class types
00083     // -----------------------------------------------------------------------
00117     enum ActionType
00118     {
00119         ACTION_APPEND_AS_CHILDREN = 1,
00120         ACTION_REPLACE_CHILDREN   = 2,
00121         ACTION_INSERT_BEFORE      = 3,
00122         ACTION_INSERT_AFTER       = 4,
00123         ACTION_REPLACE            = 5
00124     };
00126 
00127     // -----------------------------------------------------------------------
00128     //  Virtual DOMLSParser interface
00129     // -----------------------------------------------------------------------
00132 
00133     // -----------------------------------------------------------------------
00134     //  Getter methods
00135     // -----------------------------------------------------------------------
00136 
00377     virtual DOMConfiguration* getDomConfig() = 0;
00378 
00388     virtual const DOMLSParserFilter* getFilter() const = 0;
00389 
00397     virtual bool getAsync() const = 0;
00398 
00406     virtual bool getBusy() const = 0;
00407 
00408     // -----------------------------------------------------------------------
00409     //  Setter methods
00410     // -----------------------------------------------------------------------
00431     virtual void setFilter(DOMLSParserFilter* const filter) = 0;
00432 
00433     // -----------------------------------------------------------------------
00434     //  Parsing methods
00435     // -----------------------------------------------------------------------
00462     virtual DOMDocument* parse(const DOMLSInput* source) = 0;
00463 
00490     virtual DOMDocument* parseURI(const XMLCh* const uri) = 0;
00491 
00518     virtual DOMDocument* parseURI(const char* const uri) = 0;
00519 
00587     virtual void parseWithContext
00588     (
00589         const   DOMLSInput*     source
00590         ,       DOMNode*        contextNode
00591         , const ActionType      action
00592     ) = 0;
00593 
00602     virtual void abort() = 0;
00604 
00605     // -----------------------------------------------------------------------
00606     //  Non-standard Extension
00607     // -----------------------------------------------------------------------
00616     virtual void              release() = 0;
00617 
00641     virtual void              resetDocumentPool() = 0;
00642 
00668     virtual Grammar* loadGrammar(const DOMLSInput* source,
00669                                  const Grammar::GrammarType grammarType,
00670                                  const bool toCache = false) = 0;
00671 
00695     virtual Grammar* loadGrammar(const XMLCh* const systemId,
00696                                  const Grammar::GrammarType grammarType,
00697                                  const bool toCache = false) = 0;
00698 
00722     virtual Grammar* loadGrammar(const char* const systemId,
00723                                  const Grammar::GrammarType grammarType,
00724                                  const bool toCache = false) = 0;
00725 
00732     virtual Grammar* getGrammar(const XMLCh* const nameSpaceKey) const = 0;
00733 
00739     virtual Grammar* getRootGrammar() const = 0;
00740 
00747     virtual const XMLCh* getURIText(unsigned int uriId) const = 0;
00748 
00752     virtual void resetCachedGrammarPool() = 0;
00753 
00759     virtual XMLFilePos getSrcOffset() const = 0;
00760 
00762 
00763 };
00764 
00765 
00766 XERCES_CPP_NAMESPACE_END
00767 
00768 #endif

Generated on Fri Sep 25 06:55:48 2009 for XQilla DOM Level 3 API by  doxygen 1.3.9.1