| API Docs for SAX and DOM |
| Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members # XSAttributeGroupDefinition.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  * $Log: XSAttributeGroupDefinition.hpp,v $
    00019  * Revision 1.8  2004/09/08 13:56:08  peiyongz
    00020  * Apache License Version 2.0
    00021  *
    00022  * Revision 1.7  2003/12/01 23:23:26  neilg
    00023  * fix for bug 25118; thanks to Jeroen Witmond
    00024  *
    00025  * Revision 1.6  2003/11/21 22:34:45  neilg
    00026  * More schema component model implementation, thanks to David Cargill.
    00027  * In particular, this cleans up and completes the XSModel, XSNamespaceItem,
    00028  * XSAttributeDeclaration and XSAttributeGroup implementations.
    00029  *
    00030  * Revision 1.5  2003/11/21 17:19:30  knoaman
    00031  * PSVI update.
    00032  *
    00033  * Revision 1.4  2003/11/14 22:47:53  neilg
    00034  * fix bogus log message from previous commit...
    00035  *
    00036  * Revision 1.3  2003/11/14 22:33:30  neilg
    00037  * Second phase of schema component model implementation.
    00038  * Implement XSModel, XSNamespaceItem, and the plumbing necessary
    00039  * to connect them to the other components.
    00040  * Thanks to David Cargill.
    00041  *
    00042  * Revision 1.2  2003/11/06 15:30:04  neilg
    00043  * first part of PSVI/schema component model implementation, thanks to David Cargill.  This covers setting the PSVIHandler on parser objects, as well as implementing XSNotation, XSSimpleTypeDefinition, XSIDCDefinition, and most of XSWildcard, XSComplexTypeDefinition, XSElementDeclaration, XSAttributeDeclaration and XSAttributeUse.
    00044  *
    00045  * Revision 1.1  2003/09/16 14:33:36  neilg
    00046  * PSVI/schema component model classes, with Makefile/configuration changes necessary to build them
    00047  *
    00048  */
    00049
    00050 #if !defined(XSATTRIBUTEGROUPDEFINITION_HPP)
    00051 #define XSATTRIBUTEGROUPDEFINITION_HPP
    00052
    00053 #include <xercesc/framework/psvi/XSObject.hpp>
    00054
    00055 XERCES_CPP_NAMESPACE_BEGIN
    00056
    00064 // forward declarations
    00065 class XSAnnotation;
    00066 class XSAttributeUse;
    00067 class XSWildcard;
    00068 class XercesAttGroupInfo;
    00069
    00070 class  XSAttributeGroupDefinition : public XSObject
    00071 {
    00072 public:
    00073
    00074     //  Constructors and Destructor
    00075     // -----------------------------------------------------------------------
    00078
    00089     XSAttributeGroupDefinition
    00090     (
    00091         XercesAttGroupInfo* const   xercesAttGroupInfo
    00092         , XSAttributeUseList* const xsAttList
    00093         , XSWildcard* const         xsWildcard
    00094         , XSAnnotation* const       xsAnnot
    00095         , XSModel* const            xsModel
    00096         , MemoryManager* const      manager = XMLPlatformUtils::fgMemoryManager
    00097     );
    00098
    00100
    00103     ~XSAttributeGroupDefinition();
    00105
    00106     //---------------------
    00109
    00114     const XMLCh* getName();
    00115
    00120     const XMLCh* getNamespace();
    00121
    00127     XSNamespaceItem* getNamespaceItem();
    00128
    00130
    00131     //---------------------
    00135
    00139     XSAttributeUseList *getAttributeUses();
    00140
    00144     XSWildcard *getAttributeWildcard() const;
    00145
    00149     XSAnnotation *getAnnotation() const;
    00150
    00152
    00153     //----------------------------------
    00157
    00159 private:
    00160
    00161     // -----------------------------------------------------------------------
    00162     //  Unimplemented constructors and operators
    00163     // -----------------------------------------------------------------------
    00164     XSAttributeGroupDefinition(const XSAttributeGroupDefinition&);
    00165     XSAttributeGroupDefinition & operator=(const XSAttributeGroupDefinition &);
    00166
    00167 protected:
    00168
    00169     // -----------------------------------------------------------------------
    00170     //  data members
    00171     // -----------------------------------------------------------------------
    00172     XercesAttGroupInfo*     fXercesAttGroupInfo;
    00173     XSAttributeUseList*     fXSAttributeUseList;
    00174     XSWildcard*             fXSWildcard;
    00175     XSAnnotation*           fAnnotation;
    00176 };
    00177
    00178 inline XSAttributeUseList* XSAttributeGroupDefinition::getAttributeUses()
    00179 {
    00180     return fXSAttributeUseList;
    00181 }
    00182
    00183 inline XSWildcard* XSAttributeGroupDefinition::getAttributeWildcard() const
    00184 {
    00185     return fXSWildcard;
    00186 }
    00187
    00188 inline XSAnnotation* XSAttributeGroupDefinition::getAnnotation() const
    00189 {
    00190     return fAnnotation;
    00191 }
    00192
    00193 XERCES_CPP_NAMESPACE_END
    00194
    00195 #endif

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