http://xml.apache.org/http://www.apache.org/http://www.w3.org/

Home

Readme
Release Info

Installation
Download
Build

FAQs
Samples
API Docs

DOM C++ Binding
Programming
Migration Guide

Feedback
Bug-Reporting
PDF Document

CVS Repository
Mail Archive

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.