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  

XSModelGroupDefinition.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: XSModelGroupDefinition.hpp,v $
00019  * Revision 1.6  2004/09/08 13:56:08  peiyongz
00020  * Apache License Version 2.0
00021  *
00022  * Revision 1.5  2003/12/01 23:23:26  neilg
00023  * fix for bug 25118; thanks to Jeroen Witmond
00024  *
00025  * Revision 1.4  2003/11/21 17:29:53  knoaman
00026  * PSVI update
00027  *
00028  * Revision 1.3  2003/11/14 22:47:53  neilg
00029  * fix bogus log message from previous commit...
00030  *
00031  * Revision 1.2  2003/11/14 22:33:30  neilg
00032  * Second phase of schema component model implementation.  
00033  * Implement XSModel, XSNamespaceItem, and the plumbing necessary
00034  * to connect them to the other components.
00035  * Thanks to David Cargill.
00036  *
00037  * Revision 1.1  2003/09/16 14:33:36  neilg
00038  * PSVI/schema component model classes, with Makefile/configuration changes necessary to build them
00039  *
00040  */
00041 
00042 #if !defined(XSMODELGROUPDEFINITION_HPP)
00043 #define XSMODELGROUPDEFINITION_HPP
00044 
00045 #include <xercesc/framework/psvi/XSObject.hpp>
00046 
00047 XERCES_CPP_NAMESPACE_BEGIN
00048 
00056 // forward declarations
00057 class XSAnnotation;
00058 class XSModelGroup;
00059 class XSParticle;
00060 class XercesGroupInfo;
00061 
00062 class  XSModelGroupDefinition : public XSObject
00063 {
00064 public:
00065 
00066     //  Constructors and Destructor
00067     // -----------------------------------------------------------------------
00070 
00080     XSModelGroupDefinition
00081     (
00082         XercesGroupInfo* const groupInfo
00083         , XSParticle* const    groupParticle
00084         , XSAnnotation* const  annot
00085         , XSModel* const       xsModel
00086         , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
00087     );
00088 
00090 
00093     ~XSModelGroupDefinition();
00095 
00096     //---------------------
00099 
00104     const XMLCh* getName();
00105 
00110     const XMLCh* getNamespace();
00111 
00117     XSNamespaceItem *getNamespaceItem();
00118 
00120 
00121     //---------------------
00125 
00129     XSModelGroup *getModelGroup();
00130 
00134     XSAnnotation *getAnnotation() const;
00135 
00137 
00138     //----------------------------------
00141 
00143 private:
00144 
00145     // -----------------------------------------------------------------------
00146     //  Unimplemented constructors and operators
00147     // -----------------------------------------------------------------------
00148     XSModelGroupDefinition(const XSModelGroupDefinition&);
00149     XSModelGroupDefinition & operator=(const XSModelGroupDefinition &);
00150 
00151 protected:
00152 
00153     // -----------------------------------------------------------------------
00154     //  data members
00155     // -----------------------------------------------------------------------
00156     XercesGroupInfo* fGroupInfo;
00157     XSParticle*      fModelGroupParticle;
00158     XSAnnotation*    fAnnotation;
00159 };
00160 
00161 inline XSAnnotation* XSModelGroupDefinition::getAnnotation() const
00162 {
00163     return fAnnotation;
00164 }
00165 
00166 
00167 
00168 XERCES_CPP_NAMESPACE_END
00169 
00170 #endif


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