- Main Page
- Related Pages
- Classes
- Files

# XSWildcard.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: XSWildcard.hpp 527149 2007-04-10 14:56:39Z amassari $
    00020  */
    00021
    00022 #if !defined(XERCESC_INCLUDE_GUARD_XSWILDCARD_HPP)
    00023 #define XERCESC_INCLUDE_GUARD_XSWILDCARD_HPP
    00024
    00025 #include <xercesc/framework/psvi/XSObject.hpp>
    00026
    00027 XERCES_CPP_NAMESPACE_BEGIN
    00028
    00036 // forward declarations
    00037 class XSAnnotation;
    00038 class SchemaAttDef;
    00039 class ContentSpecNode;
    00040
    00041 class XMLPARSER_EXPORT XSWildcard : public XSObject
    00042 {
    00043 public:
    00044
    00045     // Namespace Constraint
    00046     enum NAMESPACE_CONSTRAINT {
    00050         NSCONSTRAINT_ANY          = 1,
    00054         NSCONSTRAINT_NOT          = 2,
    00058         NSCONSTRAINT_DERIVATION_LIST         = 3
    00059     };
    00060
    00061     // Process contents
    00062     enum PROCESS_CONTENTS {
    00067         PC_STRICT                 = 1,
    00071         PC_SKIP                   = 2,
    00078         PC_LAX                    = 3
    00079     };
    00080
    00081     //  Constructors and Destructor
    00082     // -----------------------------------------------------------------------
    00085
    00094     XSWildcard
    00095     (
    00096         SchemaAttDef* const attWildCard
    00097         , XSAnnotation* const annot
    00098         , XSModel* const xsModel
    00099         , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
    00100     );
    00101
    00102     XSWildcard
    00103     (
    00104         const ContentSpecNode* const elmWildCard
    00105         , XSAnnotation* const annot
    00106         , XSModel* const xsModel
    00107         , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
    00108     );
    00109
    00111
    00114     ~XSWildcard();
    00116
    00117     //---------------------
    00121
    00125     NAMESPACE_CONSTRAINT getConstraintType() const;
    00126
    00133     StringList *getNsConstraintList();
    00134
    00139     PROCESS_CONTENTS getProcessContents() const;
    00140
    00144     XSAnnotation *getAnnotation() const;
    00145
    00147
    00148     //----------------------------------
    00152
    00154 private:
    00155
    00156     // -----------------------------------------------------------------------
    00157     //  Unimplemented constructors and operators
    00158     // -----------------------------------------------------------------------
    00159     XSWildcard(const XSWildcard&);
    00160     XSWildcard & operator=(const XSWildcard &);
    00161
    00165    void buildNamespaceList(const ContentSpecNode* const rootNode);
    00166
    00167 protected:
    00168
    00169     // -----------------------------------------------------------------------
    00170     //  data members
    00171     // -----------------------------------------------------------------------
    00172     NAMESPACE_CONSTRAINT fConstraintType;
    00173     PROCESS_CONTENTS     fProcessContents;
    00174     StringList*          fNsConstraintList;
    00175     XSAnnotation*        fAnnotation;
    00176 };
    00177
    00178 inline XSAnnotation *XSWildcard::getAnnotation() const
    00179 {
    00180     return fAnnotation;
    00181 }
    00182
    00183 inline XSWildcard::PROCESS_CONTENTS XSWildcard::getProcessContents() const
    00184 {
    00185     return fProcessContents;
    00186 }
    00187
    00188 inline StringList* XSWildcard::getNsConstraintList()
    00189 {
    00190     return fNsConstraintList;
    00191 }
    00192
    00193 inline XSWildcard::NAMESPACE_CONSTRAINT XSWildcard::getConstraintType() const
    00194 {
    00195     return fConstraintType;
    00196 }
    00197
    00198
    00199 XERCES_CPP_NAMESPACE_END
    00200
    00201 #endif