source: NonGTP/Xerces/xerces-c_2_8_0/include/xercesc/validators/schema/XMLSchemaDescriptionImpl.hpp @ 2674

Revision 2674, 5.3 KB checked in by mattausch, 16 years ago (diff)
Line 
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements.  See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License.  You may obtain a copy of the License at
8 *
9 *      http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18/*
19 * $Id: XMLSchemaDescriptionImpl.hpp 568078 2007-08-21 11:43:25Z amassari $
20 *
21 */
22
23#if !defined(XMLSchemaDescriptionImplIMPL_HPP)
24#define XMLSchemaDescriptionImplIMPL_HPP
25
26#include <xercesc/framework/XMLSchemaDescription.hpp>
27#include <xercesc/util/RefVectorOf.hpp>
28
29XERCES_CPP_NAMESPACE_BEGIN
30
31class XMLAttDefs;
32
33class XMLPARSER_EXPORT XMLSchemaDescriptionImpl : public XMLSchemaDescription
34{
35public :
36    // -----------------------------------------------------------------------
37    /** @name constructor and destructor */
38    // -----------------------------------------------------------------------
39    //@{
40    XMLSchemaDescriptionImpl(
41                             const XMLCh* const   targetNamespace
42                           , MemoryManager* const memMgr
43                             );
44
45    ~XMLSchemaDescriptionImpl();
46    //@}
47
48    // -----------------------------------------------------------------------
49    /** @name Implementation of GrammarDescription Interface */
50    // -----------------------------------------------------------------------
51    //@{
52    /**
53      * getGrammarKey
54      *
55      */
56    virtual const XMLCh*           getGrammarKey() const;
57    //@}
58
59    // -----------------------------------------------------------------------
60    /** @name Implementation of SchemaDescription Interface */
61    // -----------------------------------------------------------------------
62    //@{
63
64    /**
65      * getContextType
66      *
67      */       
68    virtual ContextType            getContextType() const;
69
70    /**
71      * getTargetNamespace
72      *
73      */       
74    virtual const XMLCh*           getTargetNamespace() const;
75
76    /**
77      * getLocationHints
78      *
79      */       
80    virtual RefArrayVectorOf<XMLCh>*   getLocationHints() const;
81
82    /**
83      * getTriggeringComponent
84      *
85      */       
86    virtual const QName*           getTriggeringComponent() const;
87
88    /**
89      * getenclosingElementName
90      *
91      */       
92    virtual const QName*           getEnclosingElementName() const;
93
94    /**
95      * getAttributes
96      *
97      */       
98    virtual const XMLAttDef*       getAttributes() const;
99
100    /**
101      * setContextType
102      *
103      */       
104    virtual void                   setContextType(ContextType);
105
106    /**
107      * setTargetNamespace
108      *
109      */       
110    virtual void                   setTargetNamespace(const XMLCh* const);
111
112    /**
113      * setLocationHints
114      *
115      */       
116    virtual void                   setLocationHints(const XMLCh* const);
117
118    /**
119      * setTriggeringComponent
120      *
121      */       
122    virtual void                   setTriggeringComponent(QName* const);
123
124    /**
125      * getenclosingElementName
126      *
127      */       
128    virtual void                   setEnclosingElementName(QName* const);
129
130    /**
131      * setAttributes
132      *
133      */       
134    virtual void                   setAttributes(XMLAttDef* const);         
135    //@}
136
137    /***
138     * Support for Serialization/De-serialization
139     ***/
140    DECL_XSERIALIZABLE(XMLSchemaDescriptionImpl)
141
142    XMLSchemaDescriptionImpl(MemoryManager* const memMgr = XMLPlatformUtils::fgMemoryManager);
143
144private :
145    // -----------------------------------------------------------------------
146    /** name  Unimplemented copy constructor and operator= */
147    // -----------------------------------------------------------------------
148    //@{
149    XMLSchemaDescriptionImpl(const XMLSchemaDescriptionImpl& );
150    XMLSchemaDescriptionImpl& operator=(const XMLSchemaDescriptionImpl& );
151    //@}
152
153    // -----------------------------------------------------------------------
154    //  Private data members
155    //
156    //  All data member in this implementation are owned to out survive
157    //  parser. Except for fNamespace which is replicated upon set, the
158    //  rest shall be created by the embedded memoryManager.
159    //
160    //  fContextType 
161    //
162    //  fNamespace            owned
163    //
164    //  fLocationHints        owned
165    //
166    //  fTriggeringComponent  owned
167    //
168    //  fEnclosingElementName owned
169    //                       
170    //  fAttributes           referenced
171    //
172    // -----------------------------------------------------------------------
173
174    XMLSchemaDescription::ContextType      fContextType;
175    const XMLCh*                           fNamespace;
176    RefArrayVectorOf<XMLCh>*               fLocationHints;
177    const QName*                           fTriggeringComponent;
178    const QName*                           fEnclosingElementName;
179    const XMLAttDef*                       fAttributes;
180
181};
182
183
184XERCES_CPP_NAMESPACE_END
185
186#endif
Note: See TracBrowser for help on using the repository browser.