Xerces-C++: XSWildcard.hpp Source File

| API Docs for SAX and DOM |
| Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages # XSWildcard.hpp Go to the documentation of this file.
    00001 /*
    00002  * Copyright 2003,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
    00017 /*
    00018  * $Id: XSWildcard.hpp 191054 2005-06-17 02:56:35Z jberry $
    00019  */
    00020
    00021 #if !defined(XSWILDCARD_HPP)
    00022 #define XSWILDCARD_HPP
    00023
    00024 #include <xercesc/framework/psvi/XSObject.hpp>
    00025
    00026 XERCES_CPP_NAMESPACE_BEGIN
    00027
    00035 // forward declarations
    00036 class XSAnnotation;
    00037 class SchemaAttDef;
    00038 class ContentSpecNode;
    00039
    00040 class  XSWildcard : public XSObject
    00041 {
    00042 public:
    00043
    00044     // Namespace Constraint
    00045     enum NAMESPACE_CONSTRAINT {
    00049         NSCONSTRAINT_ANY          = 1,
    00053         NSCONSTRAINT_NOT          = 2,
    00057         NSCONSTRAINT_DERIVATION_LIST         = 3
    00058     };
    00059
    00060     // Process contents
    00061     enum PROCESS_CONTENTS {
    00066         PC_STRICT                 = 1,
    00070         PC_SKIP                   = 2,
    00077         PC_LAX                    = 3
    00078     };
    00079
    00080     //  Constructors and Destructor
    00081     // -----------------------------------------------------------------------
    00084
    00093     XSWildcard
    00094     (
    00095         SchemaAttDef* const attWildCard
    00096         , XSAnnotation* const annot
    00097         , XSModel* const xsModel
    00098         , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
    00099     );
    00100
    00101     XSWildcard
    00102     (
    00103         const ContentSpecNode* const elmWildCard
    00104         , XSAnnotation* const annot
    00105         , XSModel* const xsModel
    00106         , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
    00107     );
    00108
    00110
    00113     ~XSWildcard();
    00115
    00116     //---------------------
    00120
    00124     NAMESPACE_CONSTRAINT getConstraintType() const;
    00125
    00132     StringList *getNsConstraintList();
    00133
    00138     PROCESS_CONTENTS getProcessContents() const;
    00139
    00143     XSAnnotation *getAnnotation() const;
    00144
    00146
    00147     //----------------------------------
    00151
    00153 private:
    00154
    00155     // -----------------------------------------------------------------------
    00156     //  Unimplemented constructors and operators
    00157     // -----------------------------------------------------------------------
    00158     XSWildcard(const XSWildcard&);
    00159     XSWildcard & operator=(const XSWildcard &);
    00160
    00164    void buildNamespaceList(const ContentSpecNode* const rootNode);
    00165
    00166 protected:
    00167
    00168     // -----------------------------------------------------------------------
    00169     //  data members
    00170     // -----------------------------------------------------------------------
    00171     NAMESPACE_CONSTRAINT fConstraintType;
    00172     PROCESS_CONTENTS     fProcessContents;
    00173     StringList*          fNsConstraintList;
    00174     XSAnnotation*        fAnnotation;
    00175 };
    00176
    00177 inline XSAnnotation *XSWildcard::getAnnotation() const
    00178 {
    00179     return fAnnotation;
    00180 }
    00181
    00182 inline XSWildcard::PROCESS_CONTENTS XSWildcard::getProcessContents() const
    00183 {
    00184     return fProcessContents;
    00185 }
    00186
    00187 inline StringList* XSWildcard::getNsConstraintList()
    00188 {
    00189     return fNsConstraintList;
    00190 }
    00191
    00192 inline XSWildcard::NAMESPACE_CONSTRAINT XSWildcard::getConstraintType() const
    00193 {
    00194     return fConstraintType;
    00195 }
    00196
    00197
    00198 XERCES_CPP_NAMESPACE_END
    00199
    00200 #endif

Copyright © 1994-2004 The Apache Software Foundation. All Rights Reserved.